wlan: We already have the ifp; no need to go through several functions
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 2 Jan 2015 11:45:27 +0000 (19:45 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 4 Jan 2015 02:02:00 +0000 (10:02 +0800)
Avoid unnecessary reference to ifindex2ifnet global variable.

sys/net/if.c
sys/net/if_var.h
sys/netproto/802_11/wlan/ieee80211.c

index 3f18fa4..7236829 100644 (file)
@@ -3128,25 +3128,6 @@ ifnetinit(void *dummy __unused)
        netisr_register_rollup(if_start_rollup, NETISR_ROLLUP_PRIO_IFSTART);
 }
 
-struct ifnet *
-ifnet_byindex(unsigned short idx)
-{
-       if (idx > if_index)
-               return NULL;
-       return ifindex2ifnet[idx];
-}
-
-struct ifaddr *
-ifaddr_byindex(unsigned short idx)
-{
-       struct ifnet *ifp;
-
-       ifp = ifnet_byindex(idx);
-       if (!ifp)
-               return NULL;
-       return TAILQ_FIRST(&ifp->if_addrheads[mycpuid])->ifa;
-}
-
 void
 if_register_com_alloc(u_char type,
     if_com_alloc_t *a, if_com_free_t *f)
index e9326df..9bc9e71 100644 (file)
@@ -796,7 +796,6 @@ struct lwkt_port *ifnet_portfn(int);
 int    ifnet_domsg(struct lwkt_msg *, int);
 void   ifnet_sendmsg(struct lwkt_msg *, int);
 void   ifnet_forwardmsg(struct lwkt_msg *, int);
-struct ifnet *ifnet_byindex(unsigned short);
 
 static __inline int
 ifa_domsg(struct lwkt_msg *_lmsg, int _cpu)
@@ -938,8 +937,6 @@ void        ifa_destroy(struct ifaddr *);
 void   ifa_iflink(struct ifaddr *, struct ifnet *, int);
 void   ifa_ifunlink(struct ifaddr *, struct ifnet *);
 
-struct ifaddr *ifaddr_byindex(unsigned short);
-
 struct ifmultiaddr *ifmaof_ifpforaddr(struct sockaddr *, struct ifnet *);
 int    if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen);
 void   if_devstart(struct ifnet *ifp); /* COMPAT */
index 9cb07cd..826d714 100644 (file)
@@ -312,13 +312,11 @@ ieee80211_ifattach(struct ieee80211com *ic,
        ifp->if_input = null_input;     /* just in case */
        ifp->if_resolvemulti = NULL;    /* NB: callers check */
 
-       ifa = ifaddr_byindex(ifp->if_index);
-       KASSERT(ifa != NULL, ("%s: no lladdr!", __func__));
+       ifa = TAILQ_FIRST(&ifp->if_addrheads[mycpuid])->ifa;
        sdl = (struct sockaddr_dl *)ifa->ifa_addr;
        sdl->sdl_type = IFT_ETHER;              /* XXX IFT_IEEE80211? */
        sdl->sdl_alen = IEEE80211_ADDR_LEN;
        IEEE80211_ADDR_COPY(LLADDR(sdl), macaddr);
-//     IFAFREE(ifa);
 }
 
 /*