Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Jan 2012 18:09:35 +0100
From:      Monthadar Al Jaberi <monthadar@gmail.com>
To:        freebsd-wireless@freebsd.org
Subject:   kick mesh node
Message-ID:  <CA%2BsBSoKsKmkq8endjkEQHBM_QTvQiqzn3grPriZ5C1aXZxBHOA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

I dont know if this is the correct way to do it.

if you run "ifconfig wlan0 mac:kick address" you will get Invalid
argument error because there is no code for MBSS.

This is patch makes it possible to kick a mesh node, useful when for
example you have some entries left "dead" in your table awaiting node
reclaim timeout.

Because there is no auth/assoc code for mesh I guess this is enough
(maybe we can try to send CLOSE LINK to the entry we kick so that it
updates its entries?):

--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -1397,6 +1397,17 @@ setmlme_common(struct ieee80211vap *vap, int op,
                            IEEE80211_FC0_SUBTYPE_DEAUTH, reason);
                        ieee80211_free_node(ni);
                        break;
+               case IEEE80211_M_MBSS:
+                       IEEE80211_NODE_LOCK(nt);
+                       ni = ieee80211_find_node_locked(nt, mac);
+                       if (ni != NULL) {
+                               ieee80211_node_leave(ni);
+                               ieee80211_free_node(ni);
+                       }else{
+                               error = ENOENT;
+                       }
+                       IEEE80211_NODE_UNLOCK(nt);
+                       break;
                default:
                        error = EINVAL;
                        break;



-- 
Monthadar Al Jaberi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BsBSoKsKmkq8endjkEQHBM_QTvQiqzn3grPriZ5C1aXZxBHOA>