diff options
author | Ed Maste <emaste@FreeBSD.org> | 2010-09-01 16:53:38 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2010-09-01 16:53:38 +0000 |
commit | be4572c896a9bbd131ae025032ad3a5a0732af6f (patch) | |
tree | 0b1b1c2e8702e73089a340d59499e9ea10bca153 /sys/net/if_lagg.c | |
parent | fc0487080a48e19775c1456ae120dff2a04d187e (diff) | |
download | src-be4572c896a9bbd131ae025032ad3a5a0732af6f.tar.gz src-be4572c896a9bbd131ae025032ad3a5a0732af6f.zip |
Add a sysctl knob to accept input packets on any link in a failover lagg.
Notes
Notes:
svn path=/head/; revision=212100
Diffstat (limited to 'sys/net/if_lagg.c')
-rw-r--r-- | sys/net/if_lagg.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index cb146015fa72..8911cee14267 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -162,6 +162,14 @@ static const struct { { LAGG_PROTO_NONE, NULL } }; +SYSCTL_DECL(_net_link); +SYSCTL_NODE(_net_link, OID_AUTO, lagg, CTLFLAG_RW, 0, "Link Aggregation"); + +static int lagg_failover_rx_all = 0; /* Allow input on any failover links */ +SYSCTL_INT(_net_link_lagg, OID_AUTO, failover_rx_all, CTLFLAG_RW, + &lagg_failover_rx_all, 0, + "Accept input from any interface in a failover lagg"); + static int lagg_modevent(module_t mod, int type, void *data) { @@ -1560,7 +1568,7 @@ lagg_fail_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) struct ifnet *ifp = sc->sc_ifp; struct lagg_port *tmp_tp; - if (lp == sc->sc_primary) { + if (lp == sc->sc_primary || lagg_failover_rx_all) { m->m_pkthdr.rcvif = ifp; return (m); } |