Community
cancel
Showing results for 
Search instead for 
Did you mean: 
rpida
Beginner
2,105 Views

adding a PF to a linux bridge

Hi,

I have a VM that supports SRIOV using 2 VFs. And I need to setup another VM which doesnt support SRIOV using the linux bridges. So, I add the PF to the linux bridge using "brctl addif". This setup works for SRIOV VM but does not work for virtio-VM. The arp request from the external host is not seen on the linux bridge to which the PF is added. However, if the arp request is initiated from the virtio-VM, the arp request goes out to external host and both the VM and the external host have the arp entries populated and the ping works.

Is this right way to add the PF to the linux bridge? If yes, what else need to be done to make the setup work for VM with virtio interfaces?

thanks!

0 Kudos
30 Replies
SYeo3
Valued Contributor I
129 Views

Hi raghurampv,

Thank you for your post. I will check on this.

Sincerely,

Sandy

rpida
Beginner
129 Views

Also, the NIC I am using interl fortville with the i40e driver.

SYeo3
Valued Contributor I
129 Views

Thanks raghurampv, we're checking on this and will get back to you with our findings.

Sincerely,

Sandy

SYeo3
Valued Contributor I
129 Views

Dear raghurampv,

Please refer to section 12 of this document. It discusses all about Virtio vs SRIOV implementation.

http://dpdk.org/doc/intel/dpdk-prog-guide-1.7.0.pdf http://dpdk.org/doc/intel/dpdk-prog-guide-1.7.0.pdf

Feel free to contact us again if you need further assistance.

Sincerely,

Sandy

HXie3
Novice
129 Views

Hi Sandy,

I guess this issue didn't correlation with dpdk, because I met a similar issue when using XL710 in openstack system.

I have a host install RHEL and openstack system, and set a XL710 NIC as ovs bridge. the VMs on the same host can communicate each other through openvswitch, but the VM can not communicate with external network. I have captured the packets on physical NIC, it can capture the packets sent from the external network, but the tap interface of VM can not capture the packets. and the VM is just a windows system, it doesn't use any dpdk driver.

SYeo3
Valued Contributor I
129 Views

Hi GroundSea,

We suggest to try the dpdk program. You may refer to the documentation in my previous post.

Feel free to update us on the results so we can further check on this issue.

Sincerely,

Sandy

HXie3
Novice
129 Views

Hi Sandy,

I have tried the dpdk virtio driver. It seemed PF can forward the broadcast packet(ARP request) to the VM, but unicast packet(ICMP Echo request) can not be forwarded to the VM.

Below is the packets captured on tap interface which belong to the VM:

[root@hfxie-RHEL7 nova(keystone_admin)]# tcpdump -XX -i tap622c6505-ea 'host 194.136.84.200'

tcpdump: WARNING: tap622c6505-ea: no IPv4 address assigned

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on tap622c6505-ea, link-type EN10MB (Ethernet), capture size 65535 bytes

09:23:38.442399 ARP, Request who-has 194.136.84.9 tell 194.136.84.200, length 46

0x0000: ffff ffff ffff 586a b148 bc1e 0806 0001 ......Xj.H......

0x0010: 0800 0604 0001 586a b148 bc1e c288 54c8 ......Xj.H....T.

0x0020: 0000 0000 0000 c288 5409 0000 0000 0000 ........T.......

0x0030: 0000 0000 0000 0000 0000 0000 ............

09:23:38.454207 ARP, Reply 194.136.84.9 is-at 00:d8:03:09:02:a1 (oui Unknown), length 28

0x0000: 586a b148 bc1e 00d8 0309 02a1 0806 0001 Xj.H............

0x0010: 0800 0604 0002 00d8 0309 02a1 c288 5409 ..............T.

0x0020: 586a b148 bc1e c288 54c8 Xj.H....T.

Below is the packets captured on physical nic(which is binded to the openstack ovs bridge):

[root@hfxie-RHEL7 ~(keystone_admin)]# tcpdump -XX -i enp10s0f0 'host 194.136.84.200'

tcpdump: WARNING: enp10s0f0: no IPv4 address assigned

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on enp10s0f0, link-type EN10MB (Ethernet), capture size 65535 bytes

09:23:38.442215 ARP, Request who-has 194.136.84.9 tell 194.136.84.200, length 46

0x0000: ffff ffff ffff 586a b148 bc1e 8100 00cc ......Xj.H......

0x0010: 0806 0001 0800 0604 0001 586a b148 bc1e ..........Xj.H..

0x0020: c288 54c8 0000 0000 0000 c288 5409 0000 ..T.........T...

0x0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................

09:23:38.454362 ARP, Reply 194.136.84.9 is-at 00:d8:03:09:02:a1 (oui Unknown), length 28

0x0000: 586a b148 bc1e 00d8 0309 02a1 8100 00cc Xj.H............

0x0010: 0806 0001 0800 0604 0002 00d8 0309 02a1 ................

0x0020: c288 5409 586a b148 bc1e c288 54c8 ..T.Xj.H....T.

09:23:38.454410 ARP, Reply 194.136.84.9 is-at 00:d8:03:09:02:a1 (oui Unknown), length 46

0x0000: 586a b148 bc1e 00d8 0309 02a1 8100 00cc Xj.H............

0x0010: 0806 0001 0800 0604 0002 00d8 0309 02a1 ................

0x0020: c288 5409 586a b148 bc1e c288 54c8 0000 ..T.Xj.H....T...

0x0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................

09:23:38.456054 IP 194.136.84.200 > 194.136.84.9: ICMP echo request, id 1520, seq 0, length 64

0x0000: 00d8 0309 02a1 586a b148 bc1e 8100 00cc ......Xj.H......

0x0010: 0800 4500 0054 f3ba 0000 ff01 9a0b c288 ..E..T..........

0x0020: 54c8 c288 5409 0800 dc60 05f0 0000 4d43 T...T....`....MC

0x0030: 21b4 0009 bbab 0809 0a0b 0c0d 0e0f 1011 !...............

0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 ...............!

0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031 "# $%&'()*+,-./01

0x0060: 3233 3435 3637 234567

Regards,

Haifeng

SYeo3
Valued Contributor I
129 Views

Hi Haifeng,

Thanks for posting your test results.

We'll check for other options.

Sincerely,

Sandy

SYeo3
Valued Contributor I
129 Views

Hi Haifeng,

Please try this procedure in assigning PF to Bridge:

1. Reboot the server

2. Assign PF to the bridge

3. Once PF is assigned to the bridge, ping the host on the network.

4. Provide dmesg log.

Hope this help resolve the issue.

Sincerely,

Sandy

HXie3
Novice
129 Views

Hi Sandy,

Sorry for later response.

The attached files are dmesg log and tcpdump log which captured on PF.

We can find unicast packets can not be forwarded to VM, but broadcast packets can be forwarded.

Regards,

Haifeng.

SYeo3
Valued Contributor I
83 Views

Hi Haifeng,

Thanks for sending us your test results. We'll further check on this and will inform you of our findings.

Sincerely,

Sandy

SYeo3
Valued Contributor I
83 Views

Hi Haifeng,

Sorry for the delay.

Please try this driver version 1.2.48, it should address the communication issue. Please find link to download the driver below:

http://sourceforge.net/projects/e1000/files/i40e%20stable/ Intel Ethernet Drivers and Utilities - Browse /i40e stable at SourceForge.net

*This link will take you off of the Intel website. Intel does not control the content of the destination website.

Sincerely,

Sandy

HXie3
Novice
83 Views

Hi Sandy,

The link you provided only has 1.2.38 version, there is no 1.2.48 version, and currently, I'm using 1.2.38.

Regards,

Haifeng.

SYeo3
Valued Contributor I
83 Views

Hi Haifeng,

I see there's only version 1.2.38 available on the website. Let me check on the version and will update you accordingly.

Sincerely,

Sandy

SYeo3
Valued Contributor I
83 Views

Hi Haifeng,

The latest driver version is available in the download center - https://downloadcenter.intel.com/download/24411 Intel® Download Center

Sincerely,

Sandy

SYeo3
Valued Contributor I
129 Views

Hi raghurampv,

Thank you for your post. I will check on this.

Sincerely,

Sandy

rpida
Beginner
129 Views

Also, the NIC I am using interl fortville with the i40e driver.

SYeo3
Valued Contributor I
129 Views

Thanks raghurampv, we're checking on this and will get back to you with our findings.

Sincerely,

Sandy

SYeo3
Valued Contributor I
129 Views

Dear raghurampv,

Please refer to section 12 of this document. It discusses all about Virtio vs SRIOV implementation.

http://dpdk.org/doc/intel/dpdk-prog-guide-1.7.0.pdf http://dpdk.org/doc/intel/dpdk-prog-guide-1.7.0.pdf

Feel free to contact us again if you need further assistance.

Sincerely,

Sandy

HXie3
Novice
129 Views

Hi Sandy,

I guess this issue didn't correlation with dpdk, because I met a similar issue when using XL710 in openstack system.

I have a host install RHEL and openstack system, and set a XL710 NIC as ovs bridge. the VMs on the same host can communicate each other through openvswitch, but the VM can not communicate with external network. I have captured the packets on physical NIC, it can capture the packets sent from the external network, but the tap interface of VM can not capture the packets. and the VM is just a windows system, it doesn't use any dpdk driver.

Reply