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

IPsec asserts when passing greater than 1K pps traffic rates

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • 16.09
    • 16.06, 16.09
    • None
    • Haswell Server platform
      VPP master branch (DPDK enabled)
      Release:
      vpp# show version
      vpp v16.09-rc0~29-g68c69d8

      Debug:
      DBGvpp# show version
      vpp v16.09-rc0~29-g68c69d8

      When passing IPsec traffic with DPDK enabled VPP, VPP asserts after a buffer is freed twice (attempt decrement the ref counter when it is already at 0).

      The issue is located in the double loop of vnet_interface_output_node_no_flatten() in vnet/vnet/interface_output.c. When speculative enqueue fails and a buffer needs to be moved to a new node queue the original buffer is not correctly removed from the original queue so buffer get send for transmit and encryption at the same time. This issue will only be hit with the double loop so low throughput traffic like pings will not hit the issue. This code path is also only hit when the feature flag is enabled so will not be hit by normal traffic

            Unassigned Unassigned
            tlong Tommy Long
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 4 hours
                4h
                Remaining:
                Remaining Estimate - 4 hours
                4h
                Logged:
                Time Spent - Not Specified
                Not Specified