-
Bug
-
Resolution: Done
-
Medium
-
None
-
None
-
None
Hi,
I am looking to set up nat64 for testing. However I got SIGSEGV when issuing set interface nat64 out <interface>. Is nat64 broken or was I doing something wrong?
I was running v22.06-rc1 official debian build on a Debian bullseye virtual machine with a very basic config. I also tried v22.02 and master but got the same error.
$ uname -a Linux vpp-proto 5.10.0-15-amd64 #1 SMP Debian 5.10.120-1 (2022-06-09) x86_64 GNU/Linux
$ vppctl show version verbose cmdline Version: v22.06-rc1~5-gea4bcec98~b8 Compiled by: root Compile host: bc9b24a17e05 Compile date: 2022-06-10T21:37:09 Compile location: /w/workspace/vpp-merge-2206-debian11-x86_64 Compiler: Clang/LLVM 11.0.1 Current PID: 10735 Command line arguments: /usr/bin/vpp unix { nodaemon log /var/log/vpp/vpp.log full-coredump cli-listen /run/vpp/cli.sock gid vpp exec /etc/vpp/bootstrap.vpp } api-trace { on } api-segment { gid vpp } socksvr { default } memory { main-heap-size 512M main-heap-page-size default-hugepage } cpu { main-core 1 workers 2 } dpdk { dev 0000:00:13.0 dev 0000:00:14.0 } default-hugepage } cpu { main-core 1 workers 2 } dpdk { dev 0000:00:13.0 dev 0000:00:14.0 }
/etc/vpp/bootstrap.vpp
set interface state GigabitEthernet0/13/0 up set interface ip address GigabitEthernet0/13/0 2001:db8::1/64 set interface state GigabitEthernet0/14/0 up set interface ip address GigabitEthernet0/14/0 100.100.18.253/24
Both NICs are virtio nics connected to a linux bridge on the host:
# dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ 0000:00:13.0 'Virtio network device 1000' drv=uio_pci_generic unused=virtio_pci,vfio-pci 0000:00:14.0 'Virtio network device 1000' drv=uio_pci_generic unused=virtio_pci,vfio-pci
Steps to produce:
# vppctl show int addr GigabitEthernet0/13/0 (up): L3 2001:db8::1/64 GigabitEthernet0/14/0 (up): L3 100.100.18.253/24 local0 (dn): # vppctl set interface nat64 in GigabitEthernet0/13/0 # vppctl set interface nat64 out GigabitEthernet0/14/0
After issuing `set interface nat64 out <interface>` command, vpp will crash in a few seconds with the error message like:
Jun 13 15:08:21 vpp-proto vnet[10728]: received signal SIGSEGV, PC 0x7fe97ba6e0f8, faulting address 0x848 Jun 13 15:08:21 vpp-proto vnet[10728]: #0 0x00007fe99ebb153e 0x7fe99ebb153e Jun 13 15:08:21 vpp-proto vnet[10728]: #1 0x00007fe99eac8140 0x7fe99eac8140 Jun 13 15:08:21 vpp-proto vnet[10728]: #2 0x00007fe97ba6e0f8 0x7fe97ba6e0f8 Jun 13 15:08:21 vpp-proto vnet[10728]: #3 0x00007fe97ba57157 nat64_out2in_node_fn_hsw + 0x447 Jun 13 15:08:21 vpp-proto vnet[10728]: #4 0x00007fe99eb41451 vlib_worker_loop + 0x1b31 Jun 13 15:08:21 vpp-proto vnet[10728]: #5 0x00007fe99eb93f1a vlib_worker_thread_fn + 0xaa Jun 13 15:08:21 vpp-proto vnet[10728]: #6 0x00007fe99eb8e291 vlib_worker_thread_bootstrap_fn + 0x51 Jun 13 15:08:21 vpp-proto vnet[10728]: #7 0x00007fe99eabcea7 start_thread + 0xd7 Jun 13 15:08:21 vpp-proto vnet[10728]: #8 0x00007fe99e80fdef clone + 0x3f Jun 13 15:08:21 vpp-proto systemd[1]: vpp.service: Main process exited, code=killed, status=6/ABRT