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

IPv6 ping between 2 nodes crash vpp

XMLWordPrintable

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

      I've created topology (using docker) with two nodes. On both there is configured bridge domain (loopback and memif). Ping from one node shutdown vpp (and docker also).

      IMPORTANT NOTE:
      Created loopbacks and memifs (from example below) have to be set up before adding to bridge domain !

      BTW, using ip4 addresses work

      BACKTRACE:
      Core was generated by `/opt/vpp-agent/dev/vpp/build-root/install-vpp-native/vpp/bin/vpp -c /etc/vpp/vp'.
      Program terminated with signal SIGABRT, Aborted.
      #0 0x00007f2ff7e1b428 in raise () from /lib/x86_64-linux-gnu/libc.so.6
      [Current thread is 1 (Thread 0x7f2ff9b29740 (LWP 11))]
      (gdb) bt
      #0 0x00007f2ff7e1b428 in raise () from /lib/x86_64-linux-gnu/libc.so.6
      #1 0x00007f2ff7e1d02a in abort () from /lib/x86_64-linux-gnu/libc.so.6
      #2 0x0000563b3d4b9943 in os_panic () at /opt/vpp-agent/dev/vpp/build-data/../src/vpp/vnet/main.c:310
      #3 0x00007f2ff863176a in clib_mem_alloc_aligned_at_offset (os_out_of_memory_on_failure=1, align_offset=<optimized out>, align=4, size=853040880)
      at /opt/vpp-agent/dev/vpp/build-data/../src/vppinfra/mem.h:105
      #4 vec_resize_allocate_memory (v=<optimized out>, length_increment=length_increment@entry=1, data_bytes=<optimized out>, header_bytes=<optimized out>, header_bytes@entry=0,
      data_align=data_align@entry=4) at /opt/vpp-agent/dev/vpp/build-data/../src/vppinfra/vec.c:84
      #5 0x00007f2ff9491174 in _vec_resize_inline (data_align=<optimized out>, header_bytes=<optimized out>, data_bytes=<optimized out>, length_increment=<optimized out>, v=<optimized out>)
      at /opt/vpp-agent/dev/vpp/build-data/../src/vppinfra/vec.h:145
      #6 vlib_put_next_frame (vm=vm@entry=0x7f2ff96e7f80 <vlib_global_main>, r=r@entry=0x7f2fb79edc80, next_index=next_index@entry=3, n_vectors_left=n_vectors_left@entry=255)
      at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/main.c:501
      #7 0x00007f2ff8b9005e in ethernet_input_inline (variant=ETHERNET_INPUT_VARIANT_ETHERNET, from_frame=0x7f2fb7601280, node=0x7f2fb79edc80, vm=<optimized out>)
      at /opt/vpp-agent/dev/vpp/build-data/../src/vnet/ethernet/node.c:754
      #8 ethernet_input (from_frame=0x7f2fb7601280, node=0x7f2fb79edc80, vm=<optimized out>) at /opt/vpp-agent/dev/vpp/build-data/../src/vnet/ethernet/node.c:774
      #9 ethernet_input_avx2 (vm=0x7f2ff96e7f80 <vlib_global_main>, node=0x7f2fb79edc80, frame=0x7f2fb7601280) at /opt/vpp-agent/dev/vpp/build-data/../src/vnet/ethernet/node.c:1168
      #10 0x00007f2ff9491334 in dispatch_node (last_time_stamp=295603116948830, frame=0x7f2fb7601280, dispatch_state=VLIB_NODE_STATE_POLLING, type=VLIB_NODE_TYPE_INTERNAL,
      node=0x7f2fb79edc80, vm=0x7f2ff96e7f80 <vlib_global_main>) at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/main.c:988
      #11 dispatch_pending_node (vm=vm@entry=0x7f2ff96e7f80 <vlib_global_main>, pending_frame_index=pending_frame_index@entry=47391158, last_time_stamp=last_time_stamp@entry=295603116948830)
      at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/main.c:1138
      #12 0x00007f2ff9492dbe in vlib_main_or_worker_loop (is_main=1, vm=0x7f2ff96e7f80 <vlib_global_main>) at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/main.c:1616
      #13 vlib_main_loop (vm=0x7f2ff96e7f80 <vlib_global_main>) at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/main.c:1635
      #14 vlib_main (vm=vm@entry=0x7f2ff96e7f80 <vlib_global_main>, input=input@entry=0x7f2fb8091fa0) at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/main.c:1826
      #15 0x00007f2ff94caac3 in thread0 (arg=139844024958848) at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/unix/main.c:568
      #16 0x00007f2ff85fb5d8 in clib_calljmp () at /opt/vpp-agent/dev/vpp/build-data/../src/vppinfra/longjmp.S:110
      #17 0x00007ffd0d1fb3a0 in ?? ()
      #18 0x00007f2ff94cb81a in vlib_unix_main (argc=<optimized out>, argv=<optimized out>) at /opt/vpp-agent/dev/vpp/build-data/../src/vlib/unix/main.c:632
      #19 0x0000001100000000 in ?? ()
      #20 0x0000004000000018 in ?? ()

      STEPS to reproduce:

      1) create two nodes with running vpp with config
      unix

      { nodaemon cli-listen 0.0.0.0:5002 cli-no-pager }

      plugins {
      plugin dpdk_plugin.so

      { disable }

      }

      2) Setup loopback & memif on node1:

      binary-api create_loopback mac 8a:f1:be:90:00:00
      binary-api memif_socket_filename_add_del add id 1 filename /tmp/memif_1_2.sock
      binary-api memif_create id 1 socket-id 1 master
      set int ip address loop0 fd30::1:b:0:0:1/64
      set interface state loop0 up
      set interface state memif1/1 up

      3) Setup loopback & memif on node2:

      binary-api create_loopback mac 8a:f1:be:90:00:01
      binary-api memif_socket_filename_add_del add id 1 filename /tmp/memif_1_2.sock
      binary-api memif_create id 1 socket-id 1 slave
      set int ip address loop0 fd30::1:b:0:0:2/64
      set interface state loop0 up
      set interface state memif1/1 up

      4) Setup bridge domain on both nodes:

      create bridge-domain 1 arp-term 1
      set interface l2 bridge loop0 1 bvi
      set interface l2 bridge memif1/1 1

      5) Ping from node1 to node2:

      ping fd30::1:b:0:0:2 repeat 2

            dbarach Dave Barach
            sk1u06b3 Pavel Kotucek
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 4 days
                4d