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

VPP spanning to veth interface will cause vpp abort().

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • 23.10
    • 23.10
    • vlib
    • none

      VPP version: stable/2310: 095a9530703a3239fa48da5ea4dd5354ba9aa92a

      When I try to create host pair for capturing packets by TCPDUMP, VPP will `ABORT()` after disabling interface host-veth200。

      The steps as follows:

       

      # create veth100@veth200 on linux
      ip link add name veth100 type veth peer name veth200
      ip link set veth100 up
      ip link set veth200 up 
      
      # span to eth1(I renamed Gigabit... to eth1)
      vppctl create host-interface name veth200
      vppctl set interface span eth1 destination host-veth200 both
      vppctl set int state host-veth200 up
      
      # tcpdump for capturing packets.
      tcpdump -ni veth100
      
      # clear span
      vppctl set interface span eth1 disable
      vppctl set int state host-veth200 down

      while I disabled interface host-veth200, VPP exited:

      #0 0x00007f84a37ada7c in ?? () from target:/usr/lib64/libc.so.6
      
      #1 0x00007f84a375fef6 in raise ()
      
      from target:/usr/lib64/libc.so.6
      
      #2 0x00007f84a374a2fc in abort ()
      
      from target:/usr/lib64/libc.so.6
      
      #3 0x0000563c4507b133 in os_panic ()
      
      at /root/pkgmaker_sandbox/build/chengyan/ngrayvpp_v9.2310-rc22/src/vpp/vnet/main.c:421
      
      #4 0x00007f84a3a0c7a9 in debugger ()
      
      at /root/pkgmaker_sandbox/build/chengyan/ngrayvpp_v9.2310-rc22/src/vppinfra/error.c:84
      
      #5 0x00007f84a3a0c560 in cliberror (how_to_die=2,
      
      function_name=0x0, line_number=0,
      
      fmt=0x7f84a3bc919c "%s:%d (%s) assertion `%s' fails")
      
      at /root/pkgmaker_sandbox/build/chengyan/ngrayvpp_v9.2310-rc22/src/vppinfra/error.c:143
      
      #6 0x00007f84a3b28d44 in vlib_log (level=VLIB_LOG_LEVEL_NOTICE,
      
      class=1638400, fmt=0x7f846365a905 "fd %u %U")
      
      at /root/pkgmaker_sandbox/build/chengyan/ngrayvpp_v9.2310-rc22/src/vlib/log.c:131
      
      #7 0x00007f8463642e95 in af_packet_fd_error (uf=0x7f8467a384b0)
      
      at /root/pkgmaker_sandbox/build/chengyan/ngrayvpp_v9.2310-rc22/src/plugins/af_packet/af_packet.c:125
      
      #8 0x00007f84a3b8fdc4 in linux_epoll_input_inline (
      
      vm=0x7f84679e9bc0, node=0x7f84679ec200, frame=0x0,
      
      thread_index=1)
      
      at /root/pkgmaker_sandbox/build/chengyan/ngrayvpp_v9.2310-rc22/src/vlib/unix/input.c:334 

      Afer some research, I found that `af_packet_fd_error` was using `vlib_log_notice` that can not be called in worker thread:

       

      /* make sure we are running on the main thread to avoid use in dataplane     code, for dataplane logging consider use of event-logger */
      ASSERT (vlib_get_thread_index () == 0); 

      So Is there has some problem at `af_packet_fd_error`?

       

       

            sykazmi Mohsin Kazmi
            tarnished echo
            Votes:
            0 Vote for this issue
            Watchers:
            1 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