The following article guides you on what to check if the services are constantly restarting with coredumps with DPDK driver errors. The following coredumps are seen in the OpenStack-based VM due to the MTU issue.
If the MTU on the interface is negotiated less than the Default 1500, then you might see the issue.
Coredump Samples:
Sample1
#0 0x00007f8a5b3d8817 in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x000055f3613f551d in vsm_sa_sigaction (signum=6, siginfo=<optimized out>, context=<optimized out>) at ../usr/sbin/vsm/vsm.c:3006
#2 <signal handler called>
#3 0x00007f8a57cbfe87 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007f8a57cc17f1 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00007f8a57cb13fa in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#6 0x00007f8a57cb1472 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#7 0x000055f36137f572 in vsm_init_local_cpu_for_desc (desc=desc@entry=0x7f8a4dc3cb40) at ../usr/sbin/vsm/vsm_common_intf.c:4542
#8 0x000055f361398630 in vsm_interface_fill_inf_desc (vsn_slot=0 '\000') at ../usr/sbin/vsm/vsm_common_intf.c:4742
#9 vsm_interface_subsys_init (evbase=<optimized out>, vcn_ip=<optimized out>, vsn_slot=vsn_slot@entry=0 '\000') at ../usr/sbin/vsm/vsm_com
mon_intf.c:9608
#10 0x000055f3613fc9be in vsm_post_init () at ../usr/sbin/vsm/vsm.c:4509
#11 0x000055f361400534 in vsm_main (argc=<optimized out>, argv=<optimized out>) at ../usr/sbin/vsm/vsm.c:3595
#12 0x00007f8a57ca2c87 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#13 0x000055f36137327a in _start ()
[ok][2025-10-09 11:50:03]
Sample2
#0 0x00007f4308fa4817 in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
[Current thread is 1 (Thread 0x7f42fc1e4700 (LWP 7418))]
#0 0x00007f4308fa4817 in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x000055cdf3c3b51d in vsm_sa_sigaction (signum=11, siginfo=<optimized out>, context=<optimized out>) at ../usr/sbin/vsm/vsm.c:3006
#2 <signal handler called>
#3 virtio_dev_hwstats_get (dev=0x55cdfc3f8300 <rte_eth_devices+16512>, stats=0x7ffe0079b2c0) at ../usr/lib/DPDK/drivers/net/virtio/virtio_ethdev.c:3142
#4 0x000055cdf603839a in rte_eth_stats_get (port_id=port_id@entry=1,stats=stats@entry=0x7ffe0079b2c0) at ../usr/lib/DPDK/lib/ethdev/rte_ethdev.c:2869
#5 0x000055cdf3c07e7c in vsm_dpdk_get_stats (port=1, stats=stats@entry=0x0, hw_stats=hw_stats@entry=0x0) at ../usr/sbin/vsm/vsm_dpdk_intf.c:304
#6 0x000055cdf3bb9e61 in vsm_get_poller_if_load (if_load=0x7ffe0079b8f0, tindex=0, hdl=0x7f42fb871c00) at ../usr/sbin/vsm/vsm_load.c:951
#7 vsm_calc_pollerthd_load (hdl=hdl@entry=0x7f42fb871c00) at ../usr/sbin/vsm/vsm_load.c:990
#8 0x000055cdf3bbac3d in vsm_calc_thd_load (hdl=0x7f42fb871c00) at ../usr/sbin/vsm/vsm_load.c:1284
#9 vsm_get_loadinfo (cur_load=cur_load@entry=0x7ffe0079bb40) at ../usr/sbin/vsm/vsm_load.c:1415
#10 0x000055cdf3bbbef8 in vsm_loadinfo_construct (hdl=0x7f42fb871c00) at ../usr/sbin/vsm/vsm_load.c:722
#11 0x000055cdf3c439e7 in vsm_post_init () at ../usr/sbin/vsm/vsm.c:5064
#12 0x000055cdf3c46534 in vsm_main (argc=<optimized out>, argv=<optimized out>) at ../usr/sbin/vsm/vsm.c:3595
#13 0x00007f430586ec87 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#14 0x000055cdf3bb927a in _start ()
Tshooting:
Make sure the interface driver is virtio
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth0
driver: virtio_net
version: 1.0.0
firmware-version:
expansion-rom-version:
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth1
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth2
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth3
[admin@versa-flexvnf: ~] $ sudo cat /var/run/vinterfaces
52:54:0:a7:f6:94 0000:00:03.0 eth0 3 virtio-pci
52:54:0:ae:5:e1 0000:00:04.0 eth1 3 virtio-pci
52:54:0:2a:e8:ce 0000:00:05.0 eth2 3 virtio-pci
52:54:0:fb:d6:56 0000:00:06.0 eth3 3 virtio-pci
52:54:0:e9:37:1a 0000:00:07.0 eth4 3 virtio-pci
5a:cf:74:d:ed:89 0000:00:00.0 dspt_0 0 kni
ba:a:f9:26:c6:b0 0000:00:00.0 dfex_1 0 kni
[admin@versa-flexvnf: ~] $ lspci | grep Ethernet
00:03.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:04.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:05.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:06.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:07.0 Ethernet controller: Red Hat, Inc. Virtio network device
Check for the following errors in the versa-service.logs before the crash
MTU (1500) > device max MTU (1450) for port_id 1
2025-10-14 11:16:32.982 ERROR [0] vsm_post_thrm_port_init:1228 Cannot configure device: err=-22, port=1
2025-10-14 11:16:32.982 NOTIC [0] vs_mark_interface_failsafe:5146 Marking inteface vni-0/1 port 1 as failsafe(non-operational)
MTU (1500) > device max MTU (1450) for port_id 2
2025-10-14 11:16:32.982 ERROR [0] vsm_post_thrm_port_init:1228 Cannot configure device: err=-22, port=2
2025-10-14 11:16:32.982 NOTIC [0] vs_mark_interface_failsafe:5146 Marking inteface vni-0/2 port 2 as failsafe(non-operational)
[admin@versa-flexvnf: ~] $ sudo ifconfig eth0 —— Similarly check MTU for other Interfaces as well
[sudo] password for admin:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 192.168.101.118 netmask 255.255.255.0 broadcast 192.168.101.255
inet6 fe80::f816:3eff:fe1b:3c4b prefixlen 64 scopeid 0x20<link>
ether fa:16:3e:1b:3c:4b txqueuelen 1000 (Ethernet)
RX packets 1271 bytes 113314 (113.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1100 bytes 240038 (240.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
The issue is related to the lower MTU set in the OpenStack platform for these virtio interfaces and we have accommodated these issues regarding MTU through our code. This fix allows us to inherit the configured MTU instead of the default 1500.
Ref Article:
Why OpenStack is setting 1450 and found a couple of articles and documents here and how to set a higher MTU through the neutron config file.
https://docs.openstack.org/kilo/config-reference/content/networking-options-plugins-ml2.html
https://platform9.com/docs/openstack-docs/openstack/managing-mtu-with-neutron
PR: 126218
Description: For the virtio interface, readjust the max-mtu during dev-configure based on the negotiated mtu.
Fix: Available in June 2025, 22.1.4 release and newer releases.