1 2 Previous Next 15 Replies Latest reply on Jul 22, 2015 1:39 AM by Sandy_Intel

    adding a PF to a linux bridge

    raghurampv

      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!

        • 1. Re: adding a PF to a linux bridge
          Sandy_Intel

          Hi raghurampv,

           

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

           

          Sincerely,

           

          Sandy

          • 2. Re: adding a PF to a linux bridge
            raghurampv

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

            • 3. Re: adding a PF to a linux bridge
              Sandy_Intel

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

               

              Sincerely,

               

              Sandy

              • 4. Re: adding a PF to a linux bridge
                Sandy_Intel

                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

                 

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

                 

                Sincerely,

                 

                Sandy

                • 5. Re: adding a PF to a linux bridge
                  GroundSea

                  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.

                  • 6. Re: adding a PF to a linux bridge
                    Sandy_Intel

                    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

                    • 7. Re: adding a PF to a linux bridge
                      GroundSea

                      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

                      • 8. Re: adding a PF to a linux bridge
                        Sandy_Intel

                        Hi Haifeng,

                         

                        Thanks for posting your test results.

                        We'll check for other options.

                         

                        Sincerely,

                         

                        Sandy

                        • 9. Re: adding a PF to a linux bridge
                          Sandy_Intel

                          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

                          • 10. Re: adding a PF to a linux bridge
                            GroundSea

                            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.

                            • 11. Re: adding a PF to a linux bridge
                              Sandy_Intel

                              Hi Haifeng,

                               

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

                               

                              Sincerely,

                               

                              Sandy

                              • 12. Re: adding a PF to a linux bridge
                                Sandy_Intel

                                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:

                                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

                                • 13. Re: adding a PF to a linux bridge
                                  GroundSea

                                  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.

                                  • 14. Re: adding a PF to a linux bridge
                                    Sandy_Intel

                                    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

                                    1 2 Previous Next