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
golangandvagrant - place the
main.go,Makefile, andVagrantfilein${GOPATH}/src/listfdb cd ${GOPATH}/src/listfdbmakevagrant upto deploy ubuntu-xenialvagrant sshuname -aand see that kernel version is4.4.0bridge fdband see that there are entries forenp0s3ip linkto get the index forenp0s3/vagrant/listfdb ${link_index}, 2 should be the index for theenp0s3device which has 3 fdb entries by defaultsudo apt-get install linux-image-4.15.0-33-generic -yexitvagrant reloadto restart with4.15kernelvagrant sshuname -aand see that kernel version is4.15.0bridge fdband see that there are entries forenp0s3ip linkto get the index forenp0s3/vagrant/listfdb ${link_index}, 2 should be the index for theenp0s3device, note that no results are returned
No entries are listed, despite being able to see them with bridge fdb.