Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src-draft/trunk]: src/sys/net80211 Simplify/fix link state handling.



details:   https://anonhg.NetBSD.org/src-all/rev/5396bd902246
branches:  trunk
changeset: 950122:5396bd902246
user:      Martin Husemann <martin%NetBSD.org@localhost>
date:      Sun Dec 20 12:38:00 2020 +0100

description:
Simplify/fix link state handling.

We start off (by default from if_init) with carrier UNKNOWN and
transition to ACTIVE or DOWN if in BSS mode when joining or leaving.
It is unclear if "carrier" makes sense in other modes at all and we
might change this if we discover userland needs for other modes later.

diffstat:

 sys/net80211/ieee80211.c        |   1 -
 sys/net80211/ieee80211_netbsd.c |  24 ------------------------
 sys/net80211/ieee80211_netbsd.h |   1 -
 sys/net80211/ieee80211_proto.c  |   5 -----
 4 files changed, 0 insertions(+), 31 deletions(-)

diffs (68 lines):

diff -r 44843497f039 -r 5396bd902246 sys/net80211/ieee80211.c
--- a/sys/net80211/ieee80211.c  Sat Dec 19 19:14:55 2020 +0100
+++ b/sys/net80211/ieee80211.c  Sun Dec 20 12:38:00 2020 +0100
@@ -828,7 +828,6 @@
 
 #if __NetBSD__
        if_register(ifp);
-       ieee80211_link_state_change(vap);
 #endif
 
        return 1;
diff -r 44843497f039 -r 5396bd902246 sys/net80211/ieee80211_netbsd.c
--- a/sys/net80211/ieee80211_netbsd.c   Sat Dec 19 19:14:55 2020 +0100
+++ b/sys/net80211/ieee80211_netbsd.c   Sun Dec 20 12:38:00 2020 +0100
@@ -1565,27 +1565,3 @@
        ifp->if_broadcastaddr = etherbroadcastaddr;
        bpf_attach(ifp, DLT_EN10MB, sizeof(struct ether_header));
 }
-
-void
-ieee80211_link_state_change(struct ieee80211vap *vap)
-{
-       struct ifnet *ifp = vap->iv_ifp;
-
-       /*
-        * Link state does not make sense in IBSS or HOSTAP modes.
-        * We know that the link in MONITOR mode is DOWN as we cannot
-        * transmit, only monitor.
-        * That leaves BSS mode, which starts off DOWN and will
-        * transition to UP when it joins a node.
-        */
-       switch (vap->iv_opmode) {
-       case IEEE80211_M_AHDEMO:
-       case IEEE80211_M_HOSTAP:
-       case IEEE80211_M_IBSS:
-               if_link_state_change(ifp, LINK_STATE_UNKNOWN);
-               break;
-       default:
-               if_link_state_change(ifp, LINK_STATE_DOWN);
-               break;
-       }
-}
diff -r 44843497f039 -r 5396bd902246 sys/net80211/ieee80211_netbsd.h
--- a/sys/net80211/ieee80211_netbsd.h   Sat Dec 19 19:14:55 2020 +0100
+++ b/sys/net80211/ieee80211_netbsd.h   Sun Dec 20 12:38:00 2020 +0100
@@ -1087,7 +1087,6 @@
 }
 
 int ieee80211_activate(struct ieee80211com *, enum devact act);
-void ieee80211_link_state_change(struct ieee80211vap*);
 
 /*-
  * Macro for type conversion: convert mbuf pointer to data pointer of correct
diff -r 44843497f039 -r 5396bd902246 sys/net80211/ieee80211_proto.c
--- a/sys/net80211/ieee80211_proto.c    Sat Dec 19 19:14:55 2020 +0100
+++ b/sys/net80211/ieee80211_proto.c    Sun Dec 20 12:38:00 2020 +0100
@@ -2295,11 +2295,6 @@
                 * XXX TODO: ic/vap queue flush
                 */
        }
-
-#if __NetBSD__
-       ieee80211_link_state_change(vap);
-#endif
-
 done:
        IEEE80211_UNLOCK(ic);
 }



Home | Main Index | Thread Index | Old Index