Page MenuHomeFreeBSD

D9485.diff
No OneTemporary

D9485.diff

Index: head/sys/net/ieee8023ad_lacp.c
===================================================================
--- head/sys/net/ieee8023ad_lacp.c
+++ head/sys/net/ieee8023ad_lacp.c
@@ -1331,6 +1331,10 @@
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"));
@@ -1686,7 +1690,15 @@
LACP_STATE_AGGREGATION) &&
!lacp_compare_peerinfo(&lp->lp_actor, &du->ldu_partner))
|| (du->ldu_partner.lip_state & LACP_STATE_AGGREGATION) == 0)) {
- /* XXX nothing? */
+ /*
+ * XXX Maintain legacy behavior of leaving the
+ * LACP_STATE_SYNC bit unchanged from the partner's
+ * advertisement if lsc_strict_mode is false.
+ * TODO: We should re-examine the concept of the "strict mode"
+ * to ensure it makes sense to maintain a non-strict mode.
+ */
+ if (lp->lp_lsc->lsc_strict_mode)
+ lp->lp_partner.lip_state |= LACP_STATE_SYNC;
} else {
lp->lp_partner.lip_state &= ~LACP_STATE_SYNC;
}
@@ -1701,10 +1713,6 @@
sizeof(buf))));
}
- /* XXX Hack, still need to implement 5.4.9 para 2,3,4 */
- if (lp->lp_lsc->lsc_strict_mode)
- lp->lp_partner.lip_state |= LACP_STATE_SYNC;
-
lacp_sm_ptx_update_timeout(lp, oldpstate);
}

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 26, 9:45 AM (11 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15603482
Default Alt Text
D9485.diff (1 KB)

Event Timeline