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

IP4 random reassembly failure in master

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: High High
    • 19.01
    • 19.01
    • None
    • None
    • Linux fdio-cavium6 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:37:14 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux
      NAME="Ubuntu"
      VERSION="16.04.5 LTS (Xenial Xerus)"
      gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

      No core is produced when this failure occurs, either with debug or regular build.

      I was able to reproduce this on x86 Bionic and Xenial VMs and on Cavium ThunderX:
      ==============================================================================
      IPv4 Reassembly
      ==============================================================================
      random order reassembly ERROR [ temp dir used by test case: /tmp/vpp-unittest-TestIPv4Reassembly-bQAsVB ]

      ==============================================================================
      ERROR: random order reassembly
      ------------------------------------------------------------------------------
      Traceback (most recent call last):
      File "/home/jlinkes/vpp/test/test_reassembly.py", line 294, in test_random
      packets = self.dst_if.get_capture(len(self.packet_infos))
      File "/home/jlinkes/vpp/test/vpp_pg_interface.py", line 240, in get_capture
      (len(capture.res), expected_count, name))
      Exception: Captured packets mismatch, captured 31 packets, expected 257 packets on pg1

      02:51:00,899 Symlink to failed testcase directory: /tmp/vpp-failed-unittests/vpp-unittest-TestIPv4Reassembly-bQAsVB-FAILED -> vpp-unittest-TestIPv4Reassembly-bQAsVB

      ==============================================================================
      TEST RESULTS:
      Scheduled tests: 1
      Executed tests: 1
      Passed tests: 0
      Errors: 1
      FAILURES AND ERRORS IN TESTS:
      Testcase name: IPv4 Reassembly
      ERROR: random order reassembly [test_reassembly.TestIPv4Reassembly.test_random]
      ==============================================================================

      Some extra debugging with the attached test_reassembly.diff resulted in this:
      ==============================================================================
      IPv4 Reassembly
      ==============================================================================
      clear error

      clear interfaces

      error happened
      show error
      Count Node Reason

      show interface
      Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
      local0 0 down 0/0/0/0
      pg0 1 up 9000/0/0/0 rx packets 3089
      rx bytes 475910
      ip4 3089
      pg1 2 up 9000/0/0/0 tx packets 39
      tx bytes 7268

      clear error

      clear interfaces

      error happened
      show error
      Count Node Reason

      show interface
      Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
      local0 0 down 0/0/0/0
      pg0 1 up 9000/0/0/0
      pg1 2 up 9000/0/0/0

      random order reassembly OK

      ==============================================================================

      This corresponds with the attached log.txt and shows that only 3089 fragments out of 5953 are sent and only 39 packets are seemingly successfully reassembled. The attached TestIPv4Reassembly3.tgz is from this run.

        1. log.txt
          159 kB
          Juraj Linkeš
        2. test_reassembly.diff
          3 kB
          Juraj Linkeš
        3. TestIPv4Reassembly3.tgz
          199 kB
          Juraj Linkeš

            Unassigned Unassigned
            juraj.linkes Juraj Linkeš
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: