diff options
author | Steven <sluong@cisco.com> | 2018-04-19 21:59:09 -0700 |
---|---|---|
committer | Chris Luke <chris_luke@comcast.com> | 2018-04-23 18:33:59 +0000 |
commit | b2ffc697570f17f413fb4f2748760c44f8f21661 (patch) | |
tree | ed685d9d8be0a735625d102ffe1502f6c02be511 /src/plugins/lacp/ptx_machine.h | |
parent | 62166004a9f0861e9ea50101b2194881ef1a35aa (diff) |
lacp: partner may time us out if fast-rate is configured [VPP-1247]
We should be sending LACP PDU every second if the partner has LACP_TIMEOUT flag
set which means it will time us out in 3 seconds.
Add interface name for lacp trace
Change-Id: If7d816c062d03e80cc0dd7d10dba0b76ace0664a
Signed-off-by: Steven <sluong@cisco.com>
Diffstat (limited to 'src/plugins/lacp/ptx_machine.h')
-rw-r--r-- | src/plugins/lacp/ptx_machine.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/plugins/lacp/ptx_machine.h b/src/plugins/lacp/ptx_machine.h index 6183b633ae1..9b4f2805ee4 100644 --- a/src/plugins/lacp/ptx_machine.h +++ b/src/plugins/lacp/ptx_machine.h @@ -72,13 +72,15 @@ lacp_start_periodic_timer (vlib_main_t * vm, slave_if_t * sif, u8 expiration) static inline void lacp_schedule_periodic_timer (vlib_main_t * vm, slave_if_t * sif) { - // do fast rate if we are not yet synchronized - if (((sif->actor.state & (LACP_STATE_SYNCHRONIZATION | - LACP_STATE_COLLECTING | - LACP_STATE_DISTRIBUTING)) != - (LACP_STATE_SYNCHRONIZATION | LACP_STATE_COLLECTING | - LACP_STATE_DISTRIBUTING)) - && (sif->partner.state & LACP_STATE_AGGREGATION)) + // do fast rate if partner is in short timeout or + // we are not yet synchronized + if ((sif->partner.state & LACP_STATE_LACP_TIMEOUT) || + (((sif->actor.state & (LACP_STATE_SYNCHRONIZATION | + LACP_STATE_COLLECTING | + LACP_STATE_DISTRIBUTING)) != + (LACP_STATE_SYNCHRONIZATION | LACP_STATE_COLLECTING | + LACP_STATE_DISTRIBUTING)) + && (sif->partner.state & LACP_STATE_AGGREGATION))) lacp_start_periodic_timer (vm, sif, LACP_FAST_PERIODIC_TIMER); else lacp_start_periodic_timer (vm, sif, LACP_SLOW_PERIODIC_TIMER); |