diff options
author | adrian <adrian@FreeBSD.org> | 2013-07-13 04:25:03 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2013-07-13 04:25:03 +0000 |
commit | e729c4bb9261df20f55f2be07c259cddd9f1b655 (patch) | |
tree | 1123141dfe238c988a73c8c67a555a2cb3913381 /sys/net/if_lagg.h | |
parent | 2ea8f6bf8fa3389eb03c281f3d254572d03ac061 (diff) | |
download | FreeBSD-src-e729c4bb9261df20f55f2be07c259cddd9f1b655.zip FreeBSD-src-e729c4bb9261df20f55f2be07c259cddd9f1b655.tar.gz |
Bring over some link aggregation / LACP protocol improvements and debugging
additions.
* Add some new tracing events to aid in debugging.
* Add in a debugging mode to drop transmit and received frames, specifically
to test whether seeing or hearing heartbeats correctly cause LACP to
drop the port.
* Add in (and make default) a strict LACP mode, which requires the
heartbeat on a port to be heard before it's used. Sometimes vendor ports
will hang but the link layer stays up, resulting in hung traffic.
* Add logging the number of link status flaps, again to aid in debugging
badly behaving switch ports.
* Calculate the lagg interface port speed as the multiple of the
configured ports, rather than the largest.
Obtained from: Netflix
MFC after: 2 weeks
Diffstat (limited to 'sys/net/if_lagg.h')
-rw-r--r-- | sys/net/if_lagg.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h index fe3365b..cbec8d6 100644 --- a/sys/net/if_lagg.h +++ b/sys/net/if_lagg.h @@ -190,6 +190,9 @@ struct lagg_softc { struct rwlock sc_mtx; int sc_proto; /* lagg protocol */ u_int sc_count; /* number of ports */ + u_int sc_active; /* active port count */ + u_int sc_flapping; /* number of flapping + * events */ struct lagg_port *sc_primary; /* primary port */ struct ifmedia sc_media; /* media config */ caddr_t sc_psc; /* protocol data */ @@ -266,6 +269,8 @@ extern void (*lagg_linkstate_p)(struct ifnet *, int ); int lagg_enqueue(struct ifnet *, struct mbuf *); uint32_t lagg_hashmbuf(struct lagg_softc *, struct mbuf *, uint32_t); +SYSCTL_DECL(_net_link_lagg); + #endif /* _KERNEL */ #endif /* _NET_LAGG_H */ |