We have discovered an potential regression on ubuntu-xenial when upgrading our environments from ubuntu-trusty. The change appears to manifest somewhere between 4.4.0 and 4.15.0 kernel versions.
When listing bridge fdb
entries via syscalls, we do not receive any data.
We have made a binary that makes the same calls, stripped down to only make the affected calls. We are making use of a library to wrap the netlink logic, https://github.com/vishvananda/netlink.
Steps to reproduce:
- install
golang
andvagrant
- place the
main.go
,Makefile
, andVagrantfile
in${GOPATH}/src/listfdb
cd ${GOPATH}/src/listfdb
make
vagrant up
to deploy ubuntu-xenialvagrant ssh
uname -a
and see that kernel version is4.4.0
bridge fdb
and see that there are entries forenp0s3
ip link
to get the index forenp0s3
/vagrant/listfdb ${link_index}
, 2 should be the index for theenp0s3
device which has 3 fdb entries by defaultsudo apt-get install linux-image-4.15.0-33-generic -y
exit
vagrant reload
to restart with4.15
kernelvagrant ssh
uname -a
and see that kernel version is4.15.0
bridge fdb
and see that there are entries forenp0s3
ip link
to get the index forenp0s3
/vagrant/listfdb ${link_index}
, 2 should be the index for theenp0s3
device, note that no results are returned
No entries are listed, despite being able to see them with bridge fdb
.