FreeBSD Bugzilla – Attachment 205657 Details for
Bug 239112
[LACP] Latency problem when reconfiguring LACP links
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed fix
patch-lacp.diff (text/plain), 1.70 KB, created by
Masse Nicolas
on 2019-07-10 13:25:59 UTC
(
hide
)
Description:
proposed fix
Filename:
MIME Type:
Creator:
Masse Nicolas
Created:
2019-07-10 13:25:59 UTC
Size:
1.70 KB
patch
obsolete
>commit 85ac695ea63cf540f897275dfab306da45f50a47 >Author: Nicolas Masse <nicolas.masse@stormshield.eu> >Date: Mon May 13 13:54:36 2019 +0200 > > Mantis 0072569 [LACP] FIX: Always create aggregator and only skip the fill step in lacp_select when we haven't heard from our peer > >diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c >index b3223c090d6..4cf176a2cbd 100644 >--- a/sys/net/ieee8023ad_lacp.c >+++ b/sys/net/ieee8023ad_lacp.c >@@ -632,7 +632,7 @@ lacp_req(struct lagg_softc *sc, void *data) > struct lacp_aggregator *la; > > bzero(req, sizeof(struct lacp_opreq)); >- >+ > /* > * If the LACP softc is NULL, return with the opreq structure full of > * zeros. It is normal for the softc to be NULL while the lagg is >@@ -1351,13 +1351,12 @@ lacp_select(struct lacp_port *lp) > char buf[LACP_LAGIDSTR_MAX+1]; > > if (lp->lp_aggregator) { >+ if (!(lp->lp_aggregator->la_actor.lip_state & LACP_STATE_AGGREGATION) >+ && !(lp->lp_state & LACP_STATE_DEFAULTED)) >+ lacp_fill_aggregator_id(lp->lp_aggregator, lp); > return; > } > >- /* If we haven't heard from our peer, skip this step. */ >- if (lp->lp_state & LACP_STATE_DEFAULTED) >- return; >- > KASSERT(!LACP_TIMER_ISARMED(lp, LACP_TIMER_WAIT_WHILE), > ("timer_wait_while still active")); > >@@ -1382,8 +1381,14 @@ lacp_select(struct lacp_port *lp) > > return; > } >- lacp_fill_aggregator_id(la, lp); > LACP_DPRINTF((lp, "aggregator created\n")); >+ >+ /* If we haven't heard from our peer, skip this step. */ >+ if (lp->lp_state & LACP_STATE_DEFAULTED) { >+ LACP_DPRINTF((lp, "we haven't heard from our peer\n")); >+ } >+ else >+ lacp_fill_aggregator_id(la, lp); > } else { > LACP_DPRINTF((lp, "compatible aggregator found\n")); > if (la->la_refcnt == LACP_MAX_PORTS)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 239112
: 205657