Date: Thu, 16 Apr 2009 22:23:32 +0000 (UTC) From: Rui Paulo <rpaulo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r191157 - projects/mesh11s/sys/net80211 Message-ID: <200904162223.n3GMNWBI093678@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rpaulo Date: Thu Apr 16 22:23:32 2009 New Revision: 191157 URL: http://svn.freebsd.org/changeset/base/191157 Log: Initial handling of MBSS capability/mode bits. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211.c projects/mesh11s/sys/net80211/ieee80211_mesh.c projects/mesh11s/sys/net80211/ieee80211_output.c projects/mesh11s/sys/net80211/ieee80211_var.h Modified: projects/mesh11s/sys/net80211/ieee80211.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211.c Thu Apr 16 22:22:31 2009 (r191156) +++ projects/mesh11s/sys/net80211/ieee80211.c Thu Apr 16 22:23:32 2009 (r191157) @@ -74,6 +74,7 @@ const int ieee80211_opcap[IEEE80211_OPMO [IEEE80211_M_AHDEMO] = IEEE80211_C_AHDEMO, [IEEE80211_M_HOSTAP] = IEEE80211_C_HOSTAP, [IEEE80211_M_MONITOR] = IEEE80211_C_MONITOR, + [IEEE80211_M_MBSS] = IEEE80211_C_MBSS, }; static const uint8_t ieee80211broadcastaddr[IEEE80211_ADDR_LEN] = @@ -912,6 +913,8 @@ addmedia(struct ifmedia *media, int caps ADD(media, mword, mopt | IFM_IEEE80211_MONITOR); if (caps & IEEE80211_C_WDS) ADD(media, mword, mopt | IFM_IEEE80211_WDS); + if (caps & IEEE80211_C_MBSS) + ADD(media, mword, mopt | IFM_IEEE80211_MBSS); #undef ADD } @@ -1216,6 +1219,9 @@ media_status(enum ieee80211_opmode opmod case IEEE80211_M_WDS: status |= IFM_IEEE80211_WDS; break; + case IEEE80211_M_MBSS: + status |= IFM_IEEE80211_MBSS; + break; } if (IEEE80211_IS_CHAN_HTA(chan)) { status |= IFM_IEEE80211_11NA; Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Thu Apr 16 22:22:31 2009 (r191156) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Thu Apr 16 22:23:32 2009 (r191157) @@ -75,6 +75,11 @@ ieee80211_mesh_detach(struct ieee80211co } static void +mesh_vdetach(struct ieee80211vap *vap) +{ +} + +static void mesh_vattach(struct ieee80211vap *vap) { vap->iv_newstate = mesh_newstate; @@ -98,6 +103,25 @@ mesh_newstate(struct ieee80211vap *vap, if (ostate != IEEE80211_S_SCAN) ieee80211_cancel_scan(vap); /* background scan */ switch (nstate) { + case IEEE80211_S_INIT: + case IEEE80211_S_SCAN: + case IEEE80211_S_AUTH: + case IEEE80211_S_ASSOC: + case IEEE80211_S_CAC: + case IEEE80211_S_RUN: + case IEEE80211_S_CSA: + case IEEE80211_S_SLEEP: + default: + break; } + + return 0; } +static int +mesh_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int noise, + uint32_t rstamp) +{ + + return 0; +} Modified: projects/mesh11s/sys/net80211/ieee80211_output.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_output.c Thu Apr 16 22:22:31 2009 (r191156) +++ projects/mesh11s/sys/net80211/ieee80211_output.c Thu Apr 16 22:23:32 2009 (r191157) @@ -453,6 +453,9 @@ ieee80211_send_setup( break; case IEEE80211_M_MONITOR: /* NB: to quiet compiler */ break; + case IEEE80211_M_MBSS: + /* XXXRP TBD */ + break; } } else { wh->i_fc[1] = IEEE80211_FC1_DIR_NODS; @@ -1009,6 +1012,7 @@ ieee80211_encap(struct ieee80211vap *vap break; case IEEE80211_M_MONITOR: case IEEE80211_M_WDS: /* NB: is4addr should always be true */ + case IEEE80211_M_MBSS: goto bad; } if (m->m_flags & M_MORE_DATA) Modified: projects/mesh11s/sys/net80211/ieee80211_var.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_var.h Thu Apr 16 22:22:31 2009 (r191156) +++ projects/mesh11s/sys/net80211/ieee80211_var.h Thu Apr 16 22:23:32 2009 (r191157) @@ -547,6 +547,7 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_C_SHPREAMBLE 0x00008000 /* CAPABILITY: short preamble */ #define IEEE80211_C_MONITOR 0x00010000 /* CAPABILITY: monitor mode */ #define IEEE80211_C_DFS 0x00020000 /* CAPABILITY: DFS/radar avail*/ +#define IEEE80211_C_MBSS 0x00040000 /* CAPABILITY: MBSS available */ /* 0x7c0000 available */ #define IEEE80211_C_WPA1 0x00800000 /* CAPABILITY: WPA1 avail */ #define IEEE80211_C_WPA2 0x01000000 /* CAPABILITY: WPA2 avail */ @@ -563,12 +564,12 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_C_OPMODE \ (IEEE80211_C_STA | IEEE80211_C_IBSS | IEEE80211_C_HOSTAP | \ IEEE80211_C_AHDEMO | IEEE80211_C_MONITOR | IEEE80211_C_WDS | \ - IEEE80211_C_TDMA) + IEEE80211_C_TDMA | IEEE80211_C_MBSS) #define IEEE80211_C_BITS \ "\20\1STA\002803ENCAP\7FF\10TURBOP\11IBSS\12PMGT" \ "\13HOSTAP\14AHDEMO\15SWRETRY\16TXPMGT\17SHSLOT\20SHPREAMBLE" \ - "\21MONITOR\22DFS\30WPA1\31WPA2\32BURST\33WME\34WDS\36BGSCAN" \ + "\21MONITOR\22DFS\23MBSS\30WPA1\31WPA2\32BURST\33WME\34WDS\36BGSCAN" \ "\37TXFRAG\40TDMA" /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904162223.n3GMNWBI093678>