IP communication not working between SRIOV and bridge network
Procedure for testing :
1. We have one RHEL linux machine which is connected to host via L2 Switch
2. In Host linux machine, we are running a Centos VM, Centos VM is using SRIOV based interface, it means one vf is allocated to centos VM
3. Inside Centos VM, I am creating bridge say “br0” and adding SRIOV interface under the bridge (br0), then launching a docker container which is attaching to br0
4. Now I am sending ping from RHEL linux machine (192.168.31.100) to docker container (192.168.31.200), But this is not working.
5. But when I am allocating (192.168.31.200) IP on SRIOV interface in CENTOS VM then it is working fine.
Please let us know why communication is not working when we are using SRIOV and bridged network in CENTOS VM.
I have attached the setup diagram for the same.
SRIOV driver :
[root@localhost ~]# ethtool -i eth1
driver: ixgbevf
version: 3.2.2-k-rh7.4
firmware-version:
expansion-rom-version:
bus-info: 0000:00:02.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
Centos OS :
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
Red Hat Enterprise Linux Server 3.10.0-693.2.2.el7.x86_64
IP communication not working between SRIOV and bridge network
IP communication not working between SRIOV and bridge network
- Attachments
-
- Sriov_Virtio.zip
- (92.64 KiB) Downloaded 64 times
Re: IP communication not working between SRIOV and bridge network
I'm not sure of what we are talking, but a paragraph in https://blog.scottlowe.org/2009/12/02/what-is-sr-iov/
But that makes no sense if ...
... RHEL can talk with br but not with docker.
What traffic does the CentOS see, when
* RHEL and CentOS talk
* RHEL and docker (fail to) talk
In both cases the CentOS can tcpdump its interface and/or br0 and RHEL can tcpdump its interface.
How do the pings (and pongs) show up in every point and case?
... might match your case (although it is old).Similarly, you might have a Gigabit Ethernet NIC with SR-IOV support. That NIC could theoretically (according to the PCI SIG SR-IOV specification) present itself as up to 256 virtual NICs. Each of these NICs would be discrete and separate to the OS instance or hypervisor, but the physical Ethernet switch wouldn’t be aware of the VFs. Switches wouldn’t, by default, reflect some types of traffic arriving inbound on a port (from one VF) back out on the same port (to another VF). This could create some unexpected results.
But that makes no sense if ...
Code: Select all
switch(LR)--SRIOV--switch(br)--docker
\-SRIOV--RHEL
What traffic does the CentOS see, when
* RHEL and CentOS talk
* RHEL and docker (fail to) talk
In both cases the CentOS can tcpdump its interface and/or br0 and RHEL can tcpdump its interface.
How do the pings (and pongs) show up in every point and case?
Re: IP communication not working between SRIOV and bridge network
Thanks your reply.
So, When i ping from 192.168.31.100 machine to 192.168.31.200(Docker container), ARP resolution is working, it means container is sending ARP response for ARP broadcast to external machine, after that ICMP request is reaching in host interface ens1f0, but it is not reaching on centos VM interface eth1/br0.
tcpdump in host (RHEL):
12:16:05.442806 00:50:56:a4:3a:c6 > 02:42:c0:a8:1f:80, ethertype 802.1Q (0x8100), length 102: vlan 161, p 0, ethertype IPv4, 192.168.31.100 > 192.168.31.200: ICMP echo request, id 58908, seq 77, length 64
So, When i ping from 192.168.31.100 machine to 192.168.31.200(Docker container), ARP resolution is working, it means container is sending ARP response for ARP broadcast to external machine, after that ICMP request is reaching in host interface ens1f0, but it is not reaching on centos VM interface eth1/br0.
tcpdump in host (RHEL):
12:16:05.442806 00:50:56:a4:3a:c6 > 02:42:c0:a8:1f:80, ethertype 802.1Q (0x8100), length 102: vlan 161, p 0, ethertype IPv4, 192.168.31.100 > 192.168.31.200: ICMP echo request, id 58908, seq 77, length 64