diff options
author | thompsa <thompsa@FreeBSD.org> | 2007-12-31 01:16:35 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2007-12-31 01:16:35 +0000 |
commit | 93319cc10273607712748c7127ef8b6b9c423f9d (patch) | |
tree | 085e519c51963ef594607a3d43bba393ca3673f8 /sys/net/ieee8023ad_lacp.c | |
parent | 1f55b95c0b8bf827067cd8af2a8bb21479ae5efb (diff) | |
download | FreeBSD-src-93319cc10273607712748c7127ef8b6b9c423f9d.zip FreeBSD-src-93319cc10273607712748c7127ef8b6b9c423f9d.tar.gz |
Pass any unmatched slowprotocols frames up the stack instead of dropping them,
there are more subtypes than just LACP.
Diffstat (limited to 'sys/net/ieee8023ad_lacp.c')
-rw-r--r-- | sys/net/ieee8023ad_lacp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index 70ee700..d4cf675 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -213,7 +213,7 @@ static const lacp_timer_func_t lacp_timer_funcs[LACP_NTIMER] = { [LACP_TIMER_WAIT_WHILE] = lacp_sm_mux_timer, }; -void +struct mbuf * lacp_input(struct lagg_port *lgp, struct mbuf *m) { struct lagg_softc *sc = lgp->lp_softc; @@ -222,7 +222,7 @@ lacp_input(struct lagg_port *lgp, struct mbuf *m) if (m->m_pkthdr.len < sizeof(struct ether_header) + sizeof(subtype)) { m_freem(m); - return; + return (NULL); } m_copydata(m, sizeof(struct ether_header), sizeof(subtype), &subtype); @@ -237,10 +237,10 @@ lacp_input(struct lagg_port *lgp, struct mbuf *m) break; default: - /* Unknown LACP packet type */ - m_freem(m); - break; + /* Not a subtype we are interested in */ + return (m); } + return (NULL); } static void |