summaryrefslogtreecommitdiffstats
path: root/sys/net/ieee8023ad_lacp.c
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2007-12-31 01:16:35 +0000
committerthompsa <thompsa@FreeBSD.org>2007-12-31 01:16:35 +0000
commit93319cc10273607712748c7127ef8b6b9c423f9d (patch)
tree085e519c51963ef594607a3d43bba393ca3673f8 /sys/net/ieee8023ad_lacp.c
parent1f55b95c0b8bf827067cd8af2a8bb21479ae5efb (diff)
downloadFreeBSD-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.c10
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
OpenPOWER on IntegriCloud