https://bugs.dpdk.org/show_bug.cgi?id=179
Bug ID: 179 Summary: mp_socket is not well handled when secondary process is exited Product: DPDK Version: 18.11 Hardware: x86 OS: Linux Status: CONFIRMED Severity: critical Priority: Normal Component: other Assignee: dev@dpdk.org Reporter: danielbenl...@gmail.com Target Milestone: --- I am running dpdk-pdump and found the mp socket (see below output) it created is not deleted when dpdk-pdump is exited. Now it can work because when dpdk-dump call rte_eal_init(), rte_bus_scan() will be called and the file will be removed. The path rte_bus_scan() -> bus->scan() -> vdev_scan() -> rte_mp_request_sync() -> mp_request_sync() -> send_msg() -> sendmsg() will eventually delete the mp_socket_* which is retained by last run. -------- root@n14-045-219:~# ls /var/run/dpdk/rte/mp_socket_* /var/run/dpdk/rte/mp_socket_21695_4467ff77b19ec2 -------- I do think this is not expected. When a secondary process is exited, the mp socket file should be cleared in some way. You can have the following way to reproduce it. 1. You need to change dpdk-pdump to call rte_eal_hotplug_remove("vdev", vdev_name) when dpdk-pdump is exited. Otherwise dpdk-pdump can only run once as vdev is not freed. 2. Run dpdk-pdump twice with testpmd, you will see the second run will fail because of it send request to the mp_socket which is retained by last run. testpmd command: testpmd -l 0-1 -n 4 --master-lcore 0 -- -a pdump comman: dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx.pcap' Please take a look at this and fix it. Thanks, Daniel -- You are receiving this mail because: You are the assignee for the bug.