On 1/25/19 10:09 AM, Ido Schimmel wrote:
> While iproute2 correctly uses ifinfomsg struct as the ancillary header
> when requesting an FDB dump on old kernels, it sets the message type to
> RTM_GETLINK. This results in wrong reply being returned.
>
> Fix this by using RTM_GETNEIGH instead.
>
> Before:
> $ bridge fdb show brport dummy0
> Not RTM_NEWNEIGH: 00000158 00000010 00000002
>
> After:
> $ bridge fdb show brport dummy0
> 2a:0b:41:1c:92:d3 vlan 1 master br0 permanent
> 2a:0b:41:1c:92:d3 master br0 permanent
> 33:33:00:00:00:01 self permanent
> 01:00:5e:00:00:01 self permanent
>
> Fixes: 05880354c2cf ("bridge: fdb: Fix filtering with strict checking
> disabled")
> Signed-off-by: Ido Schimmel <[email protected]>
> Reported-by: LiLiang <[email protected]>
> ---
> bridge/fdb.c | 3 +--
> include/libnetlink.h | 3 +++
> lib/libnetlink.c | 23 +++++++++++++++++++++++
> 3 files changed, 27 insertions(+), 2 deletions(-)
>
Acked-by: David Ahern <[email protected]>