From owner-svn-src-projects@FreeBSD.ORG Thu Apr 16 22:23:33 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 257231065677; Thu, 16 Apr 2009 22:23:33 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 125E78FC16; Thu, 16 Apr 2009 22:23:33 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3GMNWRC093682; Thu, 16 Apr 2009 22:23:32 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3GMNWBI093678; Thu, 16 Apr 2009 22:23:32 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200904162223.n3GMNWBI093678@svn.freebsd.org> From: Rui Paulo Date: Thu, 16 Apr 2009 22:23:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r191157 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2009 22:23:34 -0000 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" /*