Date: Mon, 20 Apr 2009 19:53:26 +0000 (UTC) From: Rui Paulo <rpaulo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r191334 - projects/mesh11s/sys/net80211 Message-ID: <200904201953.n3KJrQni056631@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rpaulo Date: Mon Apr 20 19:53:26 2009 New Revision: 191334 URL: http://svn.freebsd.org/changeset/base/191334 Log: Implement setter/getter ioctl for mesh id. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.c projects/mesh11s/sys/net80211/ieee80211_ioctl.h projects/mesh11s/sys/net80211/ieee80211_var.h Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.c Mon Apr 20 18:59:36 2009 (r191333) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.c Mon Apr 20 19:53:26 2009 (r191334) @@ -1110,6 +1110,14 @@ ieee80211_ioctl_get80211(struct ieee8021 ireq->i_val = (vap->iv_flags_ext & IEEE80211_FEXT_RIFS) != 0; break; + case IEEE80211_IOC_MESHID: + if (vap->iv_opmode != IEEE80211_M_MBSS) + return EINVAL; + + ireq->i_len = vap->iv_meshidlen; + memcpy(tmpssid, vap->iv_meshid, ireq->i_len); + error = copyout(tmpssid, ireq->i_data, ireq->i_len); + break; default: error = ieee80211_ioctl_getdefault(vap, ireq); break; @@ -3137,6 +3145,17 @@ ieee80211_ioctl_set80211(struct ieee8021 if (isvapht(vap)) error = ERESTART; break; + case IEEE80211_IOC_MESHID: + if (ireq->i_val != 0 || + ireq->i_len > IEEE80211_NWID_LEN) + return EINVAL; + error = copyin(ireq->i_data, tmpssid, ireq->i_len); + if (error) + break; + memset(vap->iv_meshid, 0, IEEE80211_NWID_LEN); + vap->iv_meshidlen = ireq->i_len; + memcpy(vap->iv_meshid, tmpssid, ireq->i_len); + break; default: error = ieee80211_ioctl_setdefault(vap, ireq); break; Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Mon Apr 20 18:59:36 2009 (r191333) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Mon Apr 20 19:53:26 2009 (r191334) @@ -628,6 +628,7 @@ struct ieee80211req { #define IEEE80211_IOC_STA_VLAN 109 /* per-station vlan tag */ #define IEEE80211_IOC_SMPS 110 /* MIMO power save */ #define IEEE80211_IOC_RIFS 111 /* RIFS config (on, off) */ +#define IEEE80211_IOC_MESHID 112 /* Mesh identifier */ #define IEEE80211_IOC_TDMA_SLOT 201 /* TDMA: assigned slot */ #define IEEE80211_IOC_TDMA_SLOTCNT 202 /* TDMA: slots in bss */ Modified: projects/mesh11s/sys/net80211/ieee80211_var.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_var.h Mon Apr 20 18:59:36 2009 (r191333) +++ projects/mesh11s/sys/net80211/ieee80211_var.h Mon Apr 20 19:53:26 2009 (r191334) @@ -371,6 +371,8 @@ struct ieee80211vap { uint8_t iv_dtim_count; /* DTIM count from last bcn */ /* set/unset aid pwrsav state */ int iv_csa_count; /* count for doing CSA */ + int iv_meshidlen; + uint8_t iv_meshid[IEEE80211_NWID_LEN]; struct ieee80211_node *iv_bss; /* information for this node */ struct ieee80211_txparam iv_txparms[IEEE80211_MODE_MAX];
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904201953.n3KJrQni056631>