What version of VPP are you using? A patch was merged 2 days ago which may fix the problem - https://gerrit.fd.io/r/c/vpp/+/33018.
-Matt On Thu, Aug 19, 2021 at 7:57 AM <g.good...@gmail.com> wrote: > vpp version: 21.06 > vpp main core will be stucked after bridge and loop interfaces and snat is > configured, here is my topology. > > /--------------\ /--------------\ /--------------\ > | | | | | | > | client enp0s8 ---- GE0/2/0 vpp GE0/5/0 ---- enp0s10 server | > | | | | | | > \--------------/ \--------------/ \--------------/ > > 192.0.2.0/24 192.168.3.0/24 > > and here is my configuration: > nat44 enable > nat44 forwarding enable > nat44 add int address GigabitEthernet5/0/0 > set int nat44 in GigabitEthernet2/0/0 out GigabitEthernet5/0/0 > output-feature > create tap id 0 > set interface state tap0 up > set int l2 bridge GigabitEthernet2/0/0 1 > set int l2 bridge tap0 1 > create loopback interface > set int l2 bridge loop0 1 bvi > set int ip addr loop0 192.0.2.11/24 > set int state loop0 up > > vpp will be stucked after a few ping from client to server, here is > backtrace info in gdb: > #0 0x00007f980557f0d1 in internal_mallinfo (m=0x7f97bb18b040) at > /usr/src/debug/vpp-0.1/src/vppinfra/dlmalloc.c:2099 > #1 0x00007f98055707d7 in mspace_mallinfo (msp=<optimized out>) at > /usr/src/debug/vpp-0.1/src/vppinfra/dlmalloc.c:4803 > #2 clib_mem_get_heap_usage (heap=<optimized out>, > usage=usage@entry=0x7f97bb05df40) > at /usr/src/debug/vpp-0.1/src/vppinfra/mem_dlmalloc.c:475 > #3 0x000055c1903304fa in do_stat_segment_updates (sm=0x55c1903c7ac0 > <stat_segment_main>) at > /usr/src/debug/vpp-0.1/src/vpp/stats/stat_segment.c:661 > #4 stat_segment_collector_process (vm=0x7f98056b2680 <vlib_global_main>, > rt=<optimized out>, f=<optimized out>) at > /usr/src/debug/vpp-0.1/src/vpp/stats/stat_segment.c:761 > #5 0x00007f9805648897 in vlib_process_bootstrap (_a=<optimized out>) at > /usr/src/debug/vpp-0.1/src/vlib/main.c:1477 > #6 0x00007f9805587d80 in clib_calljmp () from /lib64/libvppinfra.so.0.1 > #7 0x00007f97bd38add0 in ?? () > > after debugs i found the reason, vpp counts the packets through snat, it > store the result in nm->counters.fastpath.in2out.icmp, which is a vector > struct, the size of the vector is based on interfaces index, based on my > configures above, the size is 3, but after i configured loop and bridge > interfaces, both the new interface index is bigger than 3. when packets > pass through snat, it thought packet is received from loop interface, and > then got out of bonds when writing vector. > and my question is: > 1.based on my configuration above, does packets counts saved to loop > interface is correct? > 2.Besides avoiding misconfiguration, how to fix it? > thanks a lot. > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#19987): https://lists.fd.io/g/vpp-dev/message/19987 Mute This Topic: https://lists.fd.io/mt/84995915/21656 Mute #nat44:https://lists.fd.io/g/vpp-dev/mutehashtag/nat44 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-