diff options
author | thompsa <thompsa@FreeBSD.org> | 2007-06-12 07:29:11 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2007-06-12 07:29:11 +0000 |
commit | 60f4b707fe5fac27f8dae57235d92f743aada286 (patch) | |
tree | cc1d42fdbfb92e5c9963aa6326f1b2ab50b6dc18 | |
parent | 49712c9a601c8ab93eac4b8f8cc221c287a68719 (diff) | |
download | FreeBSD-src-60f4b707fe5fac27f8dae57235d92f743aada286.zip FreeBSD-src-60f4b707fe5fac27f8dae57235d92f743aada286.tar.gz |
non-functional cleanup
- remove dead code
- use consistent variable names
- gc unused defines
- whitespace cleanup
-rw-r--r-- | sys/net/ieee8023ad_lacp.c | 92 | ||||
-rw-r--r-- | sys/net/ieee8023ad_lacp.h | 22 | ||||
-rw-r--r-- | sys/net/if_lagg.c | 58 | ||||
-rw-r--r-- | sys/net/if_lagg.h | 78 |
4 files changed, 108 insertions, 142 deletions
diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index 328af57..0df94be 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -216,8 +216,8 @@ static const lacp_timer_func_t lacp_timer_funcs[LACP_NTIMER] = { void lacp_input(struct lagg_port *lgp, struct mbuf *m) { - struct lagg_softc *lgs = lgp->lp_lagg; - struct lacp_softc *lsc = LACP_SOFTC(lgs); + struct lagg_softc *sc = lgp->lp_softc; + struct lacp_softc *lsc = LACP_SOFTC(sc); uint8_t subtype; if (m->m_pkthdr.len < sizeof(struct ether_header) + sizeof(subtype)) { @@ -247,7 +247,7 @@ static void lacp_dequeue(void *arg, int pending) { struct lacp_softc *lsc = (struct lacp_softc *)arg; - struct lagg_softc *sc = lsc->lsc_lagg; + struct lagg_softc *sc = lsc->lsc_softc; struct lagg_port *lgp; struct mbuf *m; @@ -272,11 +272,7 @@ lacp_pdu_input(struct lagg_port *lgp, struct mbuf *m) struct lacpdu *du; int error = 0; - LAGG_WLOCK_ASSERT(lgp->lp_lagg); - - if (__predict_false(lp->lp_flags & LACP_PORT_DETACHING)) { - goto bad; - } + LAGG_WLOCK_ASSERT(lgp->lp_softc); if (m->m_pkthdr.len != sizeof(*du)) { goto bad; @@ -300,16 +296,10 @@ lacp_pdu_input(struct lagg_port *lgp, struct mbuf *m) goto bad; } - /* XXX - KASSERT(du->ldu_sph.sph_subtype == SLOWPROTOCOLS_SUBTYPE_LACP, - ("a very bad kassert!")); - */ - /* * ignore the version for compatibility with * the future protocol revisions. */ - #if 0 if (du->ldu_sph.sph_version != 1) { goto bad; @@ -320,7 +310,6 @@ lacp_pdu_input(struct lagg_port *lgp, struct mbuf *m) * ignore tlv types for compatibility with * the future protocol revisions. */ - if (tlv_check(du, sizeof(*du), &du->ldu_tlv_actor, lacp_info_tlv_template, FALSE)) { goto bad; @@ -345,11 +334,11 @@ static void lacp_fill_actorinfo(struct lacp_port *lp, struct lacp_peerinfo *info) { struct lagg_port *lgp = lp->lp_lagg; - struct lagg_softc *lgs = lgp->lp_lagg; + struct lagg_softc *sc = lgp->lp_softc; info->lip_systemid.lsi_prio = htons(LACP_SYSTEM_PRIO); memcpy(&info->lip_systemid.lsi_mac, - IF_LLADDR(lgs->sc_ifp), ETHER_ADDR_LEN); + IF_LLADDR(sc->sc_ifp), ETHER_ADDR_LEN); info->lip_portid.lpi_prio = htons(LACP_PORT_PRIO); info->lip_portid.lpi_portno = htons(lp->lp_ifp->if_index); info->lip_state = lp->lp_state; @@ -374,7 +363,7 @@ lacp_xmit_lacpdu(struct lacp_port *lp) struct lacpdu *du; int error; - LAGG_WLOCK_ASSERT(lgp->lp_lagg); + LAGG_WLOCK_ASSERT(lgp->lp_softc); m = m_gethdr(M_DONTWAIT, MT_DATA); if (m == NULL) { @@ -428,7 +417,7 @@ lacp_xmit_marker(struct lacp_port *lp) struct markerdu *mdu; int error; - LAGG_WLOCK_ASSERT(lgp->lp_lagg); + LAGG_WLOCK_ASSERT(lgp->lp_softc); m = m_gethdr(M_DONTWAIT, MT_DATA); if (m == NULL) { @@ -471,7 +460,7 @@ lacp_linkstate(struct lagg_port *lgp) uint8_t old_state; uint16_t old_key; - LAGG_WLOCK_ASSERT(lgp->lp_lagg); + LAGG_WLOCK_ASSERT(lgp->lp_softc); bzero((char *)&ifmr, sizeof(ifmr)); error = (*ifp->if_ioctl)(ifp, SIOCGIFMEDIA, (caddr_t)&ifmr); @@ -486,7 +475,7 @@ lacp_linkstate(struct lagg_port *lgp) old_key = lp->lp_key; lp->lp_media = media; - /* + /* * If the port is not an active full duplex Ethernet link then it can * not be aggregated. */ @@ -508,7 +497,7 @@ static void lacp_tick(void *arg) { struct lacp_softc *lsc = arg; - struct lagg_softc *sc = lsc->lsc_lagg; + struct lagg_softc *sc = lsc->lsc_softc; struct lacp_port *lp; LAGG_WLOCK(sc); @@ -530,8 +519,8 @@ lacp_tick(void *arg) int lacp_port_create(struct lagg_port *lgp) { - struct lagg_softc *lgs = lgp->lp_lagg; - struct lacp_softc *lsc = LACP_SOFTC(lgs); + struct lagg_softc *sc = lgp->lp_softc; + struct lacp_softc *lsc = LACP_SOFTC(sc); struct lacp_port *lp; struct ifnet *ifp = lgp->lp_ifp; struct sockaddr_dl sdl; @@ -541,7 +530,7 @@ lacp_port_create(struct lagg_port *lgp) boolean_t active = TRUE; /* XXX should be configurable */ boolean_t fast = FALSE; /* XXX should be configurable */ - LAGG_WLOCK_ASSERT(lgs); + LAGG_WLOCK_ASSERT(sc); bzero((char *)&sdl, sizeof(sdl)); sdl.sdl_len = sizeof(sdl); @@ -589,7 +578,7 @@ lacp_port_destroy(struct lagg_port *lgp) struct lacp_port *lp = LACP_PORT(lgp); int i; - LAGG_WLOCK_ASSERT(lgp->lp_lagg); + LAGG_WLOCK_ASSERT(lgp->lp_softc); for (i = 0; i < LACP_NTIMER; i++) { LACP_TIMER_DISARM(lp, i); @@ -654,7 +643,7 @@ lacp_disable_distributing(struct lacp_port *lp) char buf[LACP_LAGIDSTR_MAX+1]; #endif /* defined(LACP_DEBUG) */ - LAGG_WLOCK_ASSERT(lgp->lp_lagg); + LAGG_WLOCK_ASSERT(lgp->lp_softc); if (la == NULL || (lp->lp_state & LACP_STATE_DISTRIBUTING) == 0) { return; @@ -692,7 +681,7 @@ lacp_enable_distributing(struct lacp_port *lp) char buf[LACP_LAGIDSTR_MAX+1]; #endif /* defined(LACP_DEBUG) */ - LAGG_WLOCK_ASSERT(lgp->lp_lagg); + LAGG_WLOCK_ASSERT(lgp->lp_softc); if ((lp->lp_state & LACP_STATE_DISTRIBUTING) != 0) { return; @@ -727,19 +716,19 @@ lacp_transit_expire(void *vp) } int -lacp_attach(struct lagg_softc *lgs) +lacp_attach(struct lagg_softc *sc) { struct lacp_softc *lsc; - LAGG_WLOCK_ASSERT(lgs); + LAGG_WLOCK_ASSERT(sc); lsc = malloc(sizeof(struct lacp_softc), M_DEVBUF, M_NOWAIT|M_ZERO); if (lsc == NULL) return (ENOMEM); - lgs->sc_psc = (caddr_t)lsc; - lsc->lsc_lagg = lgs; + sc->sc_psc = (caddr_t)lsc; + lsc->lsc_softc = sc; lsc->lsc_hashkey = arc4random(); lsc->lsc_active_aggregator = NULL; @@ -754,23 +743,23 @@ lacp_attach(struct lagg_softc *lgs) callout_init(&lsc->lsc_callout, CALLOUT_MPSAFE); /* if the lagg is already up then do the same */ - if (lgs->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) - lacp_init(lgs); + if (sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) + lacp_init(sc); return (0); } int -lacp_detach(struct lagg_softc *lgs) +lacp_detach(struct lagg_softc *sc) { - struct lacp_softc *lsc = LACP_SOFTC(lgs); + struct lacp_softc *lsc = LACP_SOFTC(sc); KASSERT(TAILQ_EMPTY(&lsc->lsc_aggregators), ("aggregators still active")); KASSERT(lsc->lsc_active_aggregator == NULL, ("aggregator still attached")); - lgs->sc_psc = NULL; + sc->sc_psc = NULL; callout_drain(&lsc->lsc_transit_callout); callout_drain(&lsc->lsc_callout); taskqueue_drain(taskqueue_swi, &lsc->lsc_qtask); @@ -782,32 +771,32 @@ lacp_detach(struct lagg_softc *lgs) } void -lacp_init(struct lagg_softc *lgs) +lacp_init(struct lagg_softc *sc) { - struct lacp_softc *lsc = LACP_SOFTC(lgs); + struct lacp_softc *lsc = LACP_SOFTC(sc); callout_reset(&lsc->lsc_callout, hz, lacp_tick, lsc); } void -lacp_stop(struct lagg_softc *lgs) +lacp_stop(struct lagg_softc *sc) { - struct lacp_softc *lsc = LACP_SOFTC(lgs); + struct lacp_softc *lsc = LACP_SOFTC(sc); callout_stop(&lsc->lsc_transit_callout); callout_stop(&lsc->lsc_callout); } struct lagg_port * -lacp_select_tx_port(struct lagg_softc *lgs, struct mbuf *m) +lacp_select_tx_port(struct lagg_softc *sc, struct mbuf *m) { - struct lacp_softc *lsc = LACP_SOFTC(lgs); + struct lacp_softc *lsc = LACP_SOFTC(sc); struct lacp_aggregator *la; struct lacp_port *lp; uint32_t hash; int nports; - LAGG_RLOCK_ASSERT(lgs); + LAGG_RLOCK_ASSERT(sc); if (__predict_false(lsc->lsc_suppress_distributing)) { LACP_DPRINTF((NULL, "%s: waiting transit\n", __func__)); @@ -981,7 +970,7 @@ static uint16_t lacp_compose_key(struct lacp_port *lp) { struct lagg_port *lgp = lp->lp_lagg; - struct lagg_softc *lgs = lgp->lp_lagg; + struct lagg_softc *sc = lgp->lp_softc; u_int media = lp->lp_media; uint16_t key; @@ -1006,7 +995,7 @@ lacp_compose_key(struct lacp_port *lp) /* bit 0..4: IFM_SUBTYPE */ key = subtype; /* bit 5..14: (some bits of) if_index of lagg device */ - key |= 0x7fe0 & ((lgs->sc_ifp->if_index) << 5); + key |= 0x7fe0 & ((sc->sc_ifp->if_index) << 5); /* bit 15: 0 */ } return (htons(key)); @@ -1680,11 +1669,7 @@ lacp_marker_input(struct lagg_port *lgp, struct mbuf *m) int error = 0; int pending = 0; - LAGG_RLOCK_ASSERT(lgp->lp_lagg); - - if (__predict_false(lp->lp_flags & LACP_PORT_DETACHING)) { - goto bad; - } + LAGG_RLOCK_ASSERT(lgp->lp_softc); if (m->m_pkthdr.len != sizeof(*mdu)) { goto bad; @@ -1708,11 +1693,6 @@ lacp_marker_input(struct lagg_port *lgp, struct mbuf *m) goto bad; } - /* XXX - KASSERT(mdu->mdu_sph.sph_subtype == SLOWPROTOCOLS_SUBTYPE_MARKER, - ("a very bad kassert!")); - */ - if (mdu->mdu_sph.sph_version != 1) { goto bad; } diff --git a/sys/net/ieee8023ad_lacp.h b/sys/net/ieee8023ad_lacp.h index 7673b09..cb5f836 100644 --- a/sys/net/ieee8023ad_lacp.h +++ b/sys/net/ieee8023ad_lacp.h @@ -61,13 +61,8 @@ #define LACP_STATE_DEFAULTED (1<<6) #define LACP_STATE_EXPIRED (1<<7) -#define LACP_PORT_NTT 0x00000001 -#define LACP_PORT_MARK 0x00000002 -#define LACP_PORT_PROMISC 0x00000004 -#define LACP_PORT_LADDRCHANGED 0x00000008 -#define LACP_PORT_ATTACHED 0x00000010 -#define LACP_PORT_LARVAL 0x00000020 -#define LACP_PORT_DETACHING 0x00000040 +#define LACP_PORT_NTT 0x00000001 +#define LACP_PORT_MARK 0x00000002 #define LACP_STATE_BITS \ "\020" \ @@ -132,9 +127,9 @@ struct lacp_portid { } __packed; struct lacp_peerinfo { - struct lacp_systemid lip_systemid; + struct lacp_systemid lip_systemid; uint16_t lip_key; - struct lacp_portid lip_portid; + struct lacp_portid lip_portid; uint8_t lip_state; uint8_t lip_resv[3]; } __packed; @@ -228,11 +223,11 @@ struct lacp_aggregator { TAILQ_HEAD(, lacp_port) la_ports; /* distributing ports */ struct lacp_peerinfo la_partner; struct lacp_peerinfo la_actor; - int la_pending; /* number of ports which is waiting wait_while */ + int la_pending; /* number of ports in wait_while */ }; struct lacp_softc { - struct lagg_softc *lsc_lagg; + struct lagg_softc *lsc_softc; struct lacp_aggregator *lsc_active_aggregator; TAILQ_HEAD(, lacp_aggregator) lsc_aggregators; boolean_t lsc_suppress_distributing; @@ -257,11 +252,6 @@ struct lacp_softc { #define LACP_AGGREGATE_WAIT_TIME (2) #define LACP_TRANSIT_DELAY 3000 /* in msec */ -/* -int tlv_check(const void *, size_t, const struct tlvhdr *, - const struct tlv_template *, boolean_t); -*/ - #define LACP_STATE_EQ(s1, s2, mask) \ ((((s1) ^ (s2)) & (mask)) == 0) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 1ea11236..0bf0c84 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -76,7 +76,7 @@ static struct { }; SLIST_HEAD(__trhead, lagg_softc) lagg_list; /* list of laggs */ -static struct mtx lagg_list_mtx; +static struct mtx lagg_list_mtx; eventhandler_tag lagg_detach_cookie = NULL; static int lagg_clone_create(struct if_clone *, int, caddr_t); @@ -331,7 +331,7 @@ lagg_capabilities(struct lagg_softc *sc) static void lagg_port_lladdr(struct lagg_port *lp, uint8_t *lladdr) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; struct ifnet *ifp = lp->lp_ifp; struct lagg_llq *llq; int pending = 0; @@ -460,7 +460,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp) ifp->if_output = lagg_port_output; lp->lp_ifp = ifp; - lp->lp_lagg = sc; + lp->lp_softc = sc; /* Save port link layer address */ bcopy(IF_LLADDR(ifp), lp->lp_lladdr, ETHER_ADDR_LEN); @@ -487,7 +487,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp) if (sc->sc_port_create != NULL) error = (*sc->sc_port_create)(lp); if (error) { - /* remove the port again, without calling sc_port_destroy */ + /* remove the port again, without calling sc_port_destroy */ lagg_port_destroy(lp, 0); return (error); } @@ -517,7 +517,7 @@ lagg_port_checkstacking(struct lagg_softc *sc) static int lagg_port_destroy(struct lagg_port *lp, int runpd) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; struct lagg_port *lp_ptr; struct lagg_llq *llq; struct ifnet *ifp = lp->lp_ifp; @@ -598,7 +598,7 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) /* Should be checked by the caller */ if (ifp->if_type != IFT_IEEE8023ADLAG || - (lp = ifp->if_lagg) == NULL || (sc = lp->lp_lagg) == NULL) + (lp = ifp->if_lagg) == NULL || (sc = lp->lp_softc) == NULL) goto fallback; switch (cmd) { @@ -610,7 +610,7 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; } - if (lp->lp_lagg != sc) { + if (lp->lp_softc != sc) { error = ENOENT; break; } @@ -670,7 +670,7 @@ lagg_port_ifdetach(void *arg __unused, struct ifnet *ifp) if ((lp = ifp->if_lagg) == NULL) return; - sc = lp->lp_lagg; + sc = lp->lp_softc; LAGG_WLOCK(sc); lp->lp_detaching = 1; @@ -681,7 +681,7 @@ lagg_port_ifdetach(void *arg __unused, struct ifnet *ifp) static void lagg_port2req(struct lagg_port *lp, struct lagg_reqport *rp) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; strlcpy(rp->rp_ifname, sc->sc_ifname, sizeof(rp->rp_ifname)); strlcpy(rp->rp_portname, lp->lp_ifp->if_xname, sizeof(rp->rp_portname)); rp->rp_prio = lp->lp_prio; @@ -828,7 +828,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } if ((lp = (struct lagg_port *)tpif->if_lagg) == NULL || - lp->lp_lagg != sc) { + lp->lp_softc != sc) { error = ENOENT; break; } @@ -857,7 +857,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) } if ((lp = (struct lagg_port *)tpif->if_lagg) == NULL || - lp->lp_lagg != sc) { + lp->lp_softc != sc) { error = ENOENT; break; } @@ -930,9 +930,9 @@ lagg_ether_setmulti(struct lagg_softc *sc) static int lagg_ether_cmdmulti(struct lagg_port *lp, int set) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; struct ifnet *ifp = lp->lp_ifp; - struct ifnet *trifp = sc->sc_ifp; + struct ifnet *scifp = sc->sc_ifp; struct lagg_mc *mc; struct ifmultiaddr *ifma, *rifma = NULL; struct sockaddr_dl sdl; @@ -948,7 +948,7 @@ lagg_ether_cmdmulti(struct lagg_port *lp, int set) sdl.sdl_index = ifp->if_index; if (set) { - TAILQ_FOREACH(ifma, &trifp->if_multiaddrs, ifma_link) { + TAILQ_FOREACH(ifma, &scifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr), @@ -978,14 +978,14 @@ static int lagg_setflag(struct lagg_port *lp, int flag, int status, int (*func)(struct ifnet *, int)) { - struct lagg_softc *sc = lp->lp_lagg; - struct ifnet *trifp = sc->sc_ifp; + struct lagg_softc *sc = lp->lp_softc; + struct ifnet *scifp = sc->sc_ifp; struct ifnet *ifp = lp->lp_ifp; int error; LAGG_WLOCK_ASSERT(sc); - status = status ? (trifp->if_flags & flag) : 0; + status = status ? (scifp->if_flags & flag) : 0; /* Now "status" contains the flag value or 0 */ /* @@ -1016,7 +1016,7 @@ static int lagg_setflags(struct lagg_port *lp, int status) { int error, i; - + for (i = 0; lagg_pflags[i].flag; i++) { error = lagg_setflag(lp, lagg_pflags[i].flag, status, lagg_pflags[i].func); @@ -1062,10 +1062,10 @@ static struct mbuf * lagg_input(struct ifnet *ifp, struct mbuf *m) { struct lagg_port *lp = ifp->if_lagg; - struct lagg_softc *sc = lp->lp_lagg; - struct ifnet *trifp = sc->sc_ifp; + struct lagg_softc *sc = lp->lp_softc; + struct ifnet *scifp = sc->sc_ifp; - if ((trifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || + if ((scifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || (lp->lp_flags & LAGG_PORT_DISABLED) || sc->sc_proto == LAGG_PROTO_NONE) { m_freem(m); @@ -1073,13 +1073,13 @@ lagg_input(struct ifnet *ifp, struct mbuf *m) } LAGG_RLOCK(sc); - BPF_MTAP(trifp, m); + BPF_MTAP(scifp, m); m = (*sc->sc_input)(sc, lp, m); if (m != NULL) { - trifp->if_ipackets++; - trifp->if_ibytes += m->m_pkthdr.len; + scifp->if_ipackets++; + scifp->if_ibytes += m->m_pkthdr.len; } LAGG_RUNLOCK(sc); @@ -1122,7 +1122,7 @@ lagg_port_state(struct ifnet *ifp, int state) struct lagg_softc *sc = NULL; if (lp != NULL) - sc = lp->lp_lagg; + sc = lp->lp_softc; if (sc == NULL) return; @@ -1228,7 +1228,7 @@ lagg_hashmbuf(struct mbuf *m, uint32_t key) sizeof(m->m_pkthdr.ether_vtag), p); } else if (etype == ETHERTYPE_VLAN) { vlan = lagg_gethdr(m, off, sizeof(*vlan), &vlanbuf); - if (vlan == NULL) + if (vlan == NULL) goto out; p = hash32_buf(&vlan->evl_tag, sizeof(vlan->evl_tag), p); @@ -1305,7 +1305,7 @@ lagg_rr_detach(struct lagg_softc *sc) static void lagg_rr_port_destroy(struct lagg_port *lp) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; if (lp == (struct lagg_port *)sc->sc_psc) sc->sc_psc = NULL; @@ -1467,14 +1467,14 @@ lagg_lb_porttable(struct lagg_softc *sc, struct lagg_port *lp) static int lagg_lb_port_create(struct lagg_port *lp) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; return (lagg_lb_porttable(sc, NULL)); } static void lagg_lb_port_destroy(struct lagg_port *lp) { - struct lagg_softc *sc = lp->lp_lagg; + struct lagg_softc *sc = lp->lp_softc; lagg_lb_porttable(sc, lp); } diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h index db3146d..5467316 100644 --- a/sys/net/if_lagg.h +++ b/sys/net/if_lagg.h @@ -25,20 +25,19 @@ * Global definitions */ -#define LAGG_MAX_PORTS 32 /* logically */ -#define LAGG_MAX_NAMESIZE 32 /* name of a protocol */ -#define LAGG_MAX_STACKING 4 /* maximum number of stacked laggs */ +#define LAGG_MAX_PORTS 32 /* logically */ +#define LAGG_MAX_NAMESIZE 32 /* name of a protocol */ +#define LAGG_MAX_STACKING 4 /* maximum number of stacked laggs */ /* Port flags */ -#define LAGG_PORT_SLAVE 0x00000000 /* normal enslaved port */ -#define LAGG_PORT_MASTER 0x00000001 /* primary port */ -#define LAGG_PORT_STACK 0x00000002 /* stacked lagg port */ -#define LAGG_PORT_ACTIVE 0x00000004 /* port is active */ -#define LAGG_PORT_COLLECTING 0x00000008 /* port is receiving frames */ -#define LAGG_PORT_DISTRIBUTING 0x00000010 /* port is sending frames */ -#define LAGG_PORT_DISABLED 0x00000020 /* port is disabled */ -#define LAGG_PORT_GLOBAL 0x80000000 /* IOCTL: global flag */ -#define LAGG_PORT_BITS "\20\01MASTER\02STACK\03ACTIVE\04COLLECTING" \ +#define LAGG_PORT_SLAVE 0x00000000 /* normal enslaved port */ +#define LAGG_PORT_MASTER 0x00000001 /* primary port */ +#define LAGG_PORT_STACK 0x00000002 /* stacked lagg port */ +#define LAGG_PORT_ACTIVE 0x00000004 /* port is active */ +#define LAGG_PORT_COLLECTING 0x00000008 /* port is receiving frames */ +#define LAGG_PORT_DISTRIBUTING 0x00000010 /* port is sending frames */ +#define LAGG_PORT_DISABLED 0x00000020 /* port is disabled */ +#define LAGG_PORT_BITS "\20\01MASTER\02STACK\03ACTIVE\04COLLECTING" \ "\05DISTRIBUTING\06DISABLED" /* Supported lagg PROTOs */ @@ -51,8 +50,8 @@ #define LAGG_PROTO_MAX 6 struct lagg_protos { - const char *tpr_name; - int tpr_proto; + const char *lpr_name; + int lpr_proto; }; #define LAGG_PROTO_DEFAULT LAGG_PROTO_FAILOVER @@ -78,9 +77,9 @@ struct lagg_reqport { u_int32_t rp_flags; /* port flags */ }; -#define SIOCGLAGGPORT _IOWR('i', 140, struct lagg_reqport) -#define SIOCSLAGGPORT _IOW('i', 141, struct lagg_reqport) -#define SIOCSLAGGDELPORT _IOW('i', 142, struct lagg_reqport) +#define SIOCGLAGGPORT _IOWR('i', 140, struct lagg_reqport) +#define SIOCSLAGGPORT _IOW('i', 141, struct lagg_reqport) +#define SIOCSLAGGDELPORT _IOW('i', 142, struct lagg_reqport) /* lagg, ports and options */ struct lagg_reqall { @@ -92,25 +91,23 @@ struct lagg_reqall { int ra_ports; /* total port count */ }; -#define SIOCGLAGG _IOWR('i', 143, struct lagg_reqall) -#define SIOCSLAGG _IOW('i', 144, struct lagg_reqall) +#define SIOCGLAGG _IOWR('i', 143, struct lagg_reqall) +#define SIOCSLAGG _IOW('i', 144, struct lagg_reqall) #ifdef _KERNEL /* * Internal kernel part */ -#define lp_ifname lp_ifp->if_xname /* interface name */ -#define lp_link_state lp_ifp->if_link_state /* link state */ -#define lp_capabilities lp_ifp->if_capabilities /* capabilities */ +#define lp_ifname lp_ifp->if_xname /* interface name */ +#define lp_link_state lp_ifp->if_link_state /* link state */ +#define lp_capabilities lp_ifp->if_capabilities /* capabilities */ -#define LAGG_PORTACTIVE(_tp) ( \ +#define LAGG_PORTACTIVE(_tp) ( \ ((_tp)->lp_link_state == LINK_STATE_UP) && \ - ((_tp)->lp_ifp->if_flags & IFF_UP) \ + ((_tp)->lp_ifp->if_flags & IFF_UP) \ ) -#define mc_enm mc_u.mcu_enm - struct lagg_ifreq { union { struct ifreq ifreq; @@ -121,15 +118,14 @@ struct lagg_ifreq { } ifreq; }; -#define sc_ifflags sc_ifp->if_flags /* flags */ -#define sc_ifname sc_ifp->if_xname /* name */ -#define sc_capabilities sc_ifp->if_capabilities /* capabilities */ +#define sc_ifflags sc_ifp->if_flags /* flags */ +#define sc_ifname sc_ifp->if_xname /* name */ +#define sc_capabilities sc_ifp->if_capabilities /* capabilities */ -#define IFCAP_LAGG_MASK 0xffff0000 /* private capabilities */ -#define IFCAP_LAGG_FULLDUPLEX 0x00010000 /* full duplex with >1 ports */ +#define IFCAP_LAGG_MASK 0xffff0000 /* private capabilities */ +#define IFCAP_LAGG_FULLDUPLEX 0x00010000 /* full duplex with >1 ports */ /* Private data used by the loadbalancing protocol */ -#define LAGG_LB_MAXKEYS 8 struct lagg_lb { u_int32_t lb_key; struct lagg_port *lb_ports[LAGG_MAX_PORTS]; @@ -178,7 +174,7 @@ struct lagg_softc { struct lagg_port { struct ifnet *lp_ifp; /* physical interface */ - struct lagg_softc *lp_lagg; /* parent lagg */ + struct lagg_softc *lp_softc; /* parent lagg */ uint8_t lp_lladdr[ETHER_ADDR_LEN]; u_char lp_iftype; /* interface type */ @@ -199,14 +195,14 @@ struct lagg_port { SLIST_ENTRY(lagg_port) lp_entries; }; -#define LAGG_LOCK_INIT(_sc) rw_init(&(_sc)->sc_mtx, "if_lagg rwlock") -#define LAGG_LOCK_DESTROY(_sc) rw_destroy(&(_sc)->sc_mtx) -#define LAGG_RLOCK(_sc) rw_rlock(&(_sc)->sc_mtx) -#define LAGG_WLOCK(_sc) rw_wlock(&(_sc)->sc_mtx) -#define LAGG_RUNLOCK(_sc) rw_runlock(&(_sc)->sc_mtx) -#define LAGG_WUNLOCK(_sc) rw_wunlock(&(_sc)->sc_mtx) -#define LAGG_RLOCK_ASSERT(_sc) rw_assert(&(_sc)->sc_mtx, RA_RLOCKED) -#define LAGG_WLOCK_ASSERT(_sc) rw_assert(&(_sc)->sc_mtx, RA_WLOCKED) +#define LAGG_LOCK_INIT(_sc) rw_init(&(_sc)->sc_mtx, "if_lagg rwlock") +#define LAGG_LOCK_DESTROY(_sc) rw_destroy(&(_sc)->sc_mtx) +#define LAGG_RLOCK(_sc) rw_rlock(&(_sc)->sc_mtx) +#define LAGG_WLOCK(_sc) rw_wlock(&(_sc)->sc_mtx) +#define LAGG_RUNLOCK(_sc) rw_runlock(&(_sc)->sc_mtx) +#define LAGG_WUNLOCK(_sc) rw_wunlock(&(_sc)->sc_mtx) +#define LAGG_RLOCK_ASSERT(_sc) rw_assert(&(_sc)->sc_mtx, RA_RLOCKED) +#define LAGG_WLOCK_ASSERT(_sc) rw_assert(&(_sc)->sc_mtx, RA_WLOCKED) extern struct mbuf *(*lagg_input_p)(struct ifnet *, struct mbuf *); extern void (*lagg_linkstate_p)(struct ifnet *, int ); |