lacp: deleting the bond subinterface may cause lacp to lose the partner [VPP-1251] 83/12083/2
authorSteven <sluong@cisco.com>
Tue, 24 Apr 2018 00:06:24 +0000 (17:06 -0700)
committerChris Luke <chris_luke@comcast.com>
Tue, 24 Apr 2018 18:31:55 +0000 (18:31 +0000)
commitce2db6a6a49be72e58f3394884f9dfda2383c0b8
tree433e20a670fc6494fbe0e2d03f0b45d516d70c8b
parentcd4d5b71dc4814863b67b4f53ef8e2e904aeaeab
lacp: deleting the bond subinterface may cause lacp to lose the partner [VPP-1251]

Problem:
When the bond subinterface is removed, it was observed that we lost the lacp
partner. Show hardware shows rx counter goes up, but show interface does not
for the slave interfaces.

Cause:
We reset the interface promiscuous mode when the bond subinterface is deleted.
This causes dpdk not to accept any packet. Leave the interface in promiscuous
mode fixes the problem.

Other fixes:
There are few places we use hw_if_index as if they are sw_if_index. But they
don't necessarily have the same value. As soon as a subinterface is created,
they start to diverge. The fix is to use the correct API for the hw_if_index
and sw_if_index.

Change-Id: I1e6b8bca0a4aae396d217a141271cbf968500c91
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit 42c6599bf3057a7e8f4f00f5b6a9dd72af48d283)
src/plugins/lacp/cli.c
src/plugins/lacp/lacp.c
src/vnet/bonding/cli.c
src/vnet/bonding/device.c
src/vnet/bonding/node.c