Lines 632-638
lacp_req(struct lagg_softc *sc, void *data)
Link Here
|
632 |
struct lacp_aggregator *la; |
632 |
struct lacp_aggregator *la; |
633 |
|
633 |
|
634 |
bzero(req, sizeof(struct lacp_opreq)); |
634 |
bzero(req, sizeof(struct lacp_opreq)); |
635 |
|
635 |
|
636 |
/* |
636 |
/* |
637 |
* If the LACP softc is NULL, return with the opreq structure full of |
637 |
* If the LACP softc is NULL, return with the opreq structure full of |
638 |
* zeros. It is normal for the softc to be NULL while the lagg is |
638 |
* zeros. It is normal for the softc to be NULL while the lagg is |
Lines 1351-1363
lacp_select(struct lacp_port *lp)
Link Here
|
1351 |
char buf[LACP_LAGIDSTR_MAX+1]; |
1351 |
char buf[LACP_LAGIDSTR_MAX+1]; |
1352 |
|
1352 |
|
1353 |
if (lp->lp_aggregator) { |
1353 |
if (lp->lp_aggregator) { |
|
|
1354 |
if (!(lp->lp_aggregator->la_actor.lip_state & LACP_STATE_AGGREGATION) |
1355 |
&& !(lp->lp_state & LACP_STATE_DEFAULTED)) |
1356 |
lacp_fill_aggregator_id(lp->lp_aggregator, lp); |
1354 |
return; |
1357 |
return; |
1355 |
} |
1358 |
} |
1356 |
|
1359 |
|
1357 |
/* If we haven't heard from our peer, skip this step. */ |
|
|
1358 |
if (lp->lp_state & LACP_STATE_DEFAULTED) |
1359 |
return; |
1360 |
|
1361 |
KASSERT(!LACP_TIMER_ISARMED(lp, LACP_TIMER_WAIT_WHILE), |
1360 |
KASSERT(!LACP_TIMER_ISARMED(lp, LACP_TIMER_WAIT_WHILE), |
1362 |
("timer_wait_while still active")); |
1361 |
("timer_wait_while still active")); |
1363 |
|
1362 |
|
Lines 1382-1389
lacp_select(struct lacp_port *lp)
Link Here
|
1382 |
|
1381 |
|
1383 |
return; |
1382 |
return; |
1384 |
} |
1383 |
} |
1385 |
lacp_fill_aggregator_id(la, lp); |
|
|
1386 |
LACP_DPRINTF((lp, "aggregator created\n")); |
1384 |
LACP_DPRINTF((lp, "aggregator created\n")); |
|
|
1385 |
|
1386 |
/* If we haven't heard from our peer, skip this step. */ |
1387 |
if (lp->lp_state & LACP_STATE_DEFAULTED) { |
1388 |
LACP_DPRINTF((lp, "we haven't heard from our peer\n")); |
1389 |
} |
1390 |
else |
1391 |
lacp_fill_aggregator_id(la, lp); |
1387 |
} else { |
1392 |
} else { |
1388 |
LACP_DPRINTF((lp, "compatible aggregator found\n")); |
1393 |
LACP_DPRINTF((lp, "compatible aggregator found\n")); |
1389 |
if (la->la_refcnt == LACP_MAX_PORTS) |
1394 |
if (la->la_refcnt == LACP_MAX_PORTS) |