Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1167

tapv2 fails to send packets in 2 VM setup

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • 18.04
    • None
    • None
    • None

      We have encountered a very interesting bug related to TAPv2.

      We have a multi-node setup consisting of 2 Ubuntu VMs run by the VirtualBox, each running a single VPP. The VMs are connected together via L2 network from Virtualbox, with interfaces being managed by VPP (dpdk). Both VPPs have one docker container attached via TAPv2:

      Container1 – TAP1 – VPP1 – GbE ~~~ VBox network ~~~ GbE – VPP2 – TAP2 – Container2

      After a fresh deployment, we are able to ping from VPP1 to the host side of TAP1 and similarly for the other VM. In other words, both tx and rx are functional for tap interfaces if used from the same VM.

      However, the moment we try to ping the host-side of the tap interface from the VPP or the container of the opposide VM, the tx node of the destination tap stops working: "show int" on the destination VPP displays tx counter as being incremented for the tap but there are no received packets in the container as proven by ifconfig / tcpdump / etc. From "show tap" we see that desc_in_use and avail.idx keep growing for Virtqueue (TX).
      After the tap-tx gets "broken", then even ping from the VPP on the same VM no longer works.

      To summarize, the path:
      tap-rx / vpp ping -> GbE-tx -> ... network ... -> dpdk-input -> tap-tx
      breaks tap-tx

      I'm attaching tapv2-tx-bug.txt with some logs from VPP and a trace of a single ping from the destination side (i.e. from dpdk-input to tap-tx).
      Please let me know what other details I can provide. Perhaps if you could give me pointers on how to obtain some virtio logs from the host then I would provide them.
       

            sluong steven luong
            milanlenco Milan Lenco
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: