summaryrefslogtreecommitdiffstats
path: root/sys/net/if_lagg.h
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2013-07-13 04:25:03 +0000
committeradrian <adrian@FreeBSD.org>2013-07-13 04:25:03 +0000
commite729c4bb9261df20f55f2be07c259cddd9f1b655 (patch)
tree1123141dfe238c988a73c8c67a555a2cb3913381 /sys/net/if_lagg.h
parent2ea8f6bf8fa3389eb03c281f3d254572d03ac061 (diff)
downloadFreeBSD-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.h5
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 */
OpenPOWER on IntegriCloud