出现背景
将物理网卡开启Sriov之后,将vf或者pf绑定到网桥上,如果是绑定的是pf,那么这个网桥下的设备无法上网,如果是vf,则网桥也不能上网。
可以使用tcpdump观察,只能收到信息,但是不能发出信息。
解决方法
手动将Mac添加到pf的FDB中
bridge fdb add 00:01:02:03:04:05 permanent self dev enp1s0v1
bridge fdb del 00:01:02:03:04:05 permanent self dev enp1s0v1
bridge fdb show dev enp1s0v1
FDB也被称为转发信息库(FIB)或转发表,最常用于网络桥接、路由和类似功能,以找到输入接口应转发数据包的正确接口。
在SR-IOV环境中,以太网驱动程序可以在共享相同表的虚拟接口(VF)和物理接口(PF)之间共享现有的128台MAC(每个端口):
- 每个VF获得2个授予的MAC(取自128个MAC的一般池)
- 根据先得政策,每个VF/PF最多可以要求128台MAC(这意味着,除了2个授予的MAC外,池中的其他MAC可以自由询问)
参考资料
https://docs.nvidia.com/networking/display/MLNXOFEDv471001/Single+Root+IO+Virtualization+-+SR-IOV#SingleRootIOVirtualizationSRIOV-MACForwardingDataBase(FDB)ManagementinConnectX-3/ConnectX-3Pro