Hi all, Since DPDK 18.11, the behaviour of the close operation is changed if RTE_ETH_DEV_CLOSE_REMOVE is enabled in the driver: port is released (i.e. totally freed and data erased) on close. This new behaviour is enabled per driver for a migration period.
Looking at the code, you can see these comments: /* old behaviour: only free queue arrays */ RTE_ETHDEV_LOG(DEBUG, "Port closing is using an old behaviour.\n" "The driver %s should migrate to the new behaviour.\n", /* new behaviour: send event + reset state + free all data */ You can find an advice in the commit: http://git.dpdk.org/dpdk/commit/?id=23ea57a2a " When enabling RTE_ETH_DEV_CLOSE_REMOVE, the PMD must free all its private resources for the port, in its dev_close function. It is advised to call the dev_close function in the remove function in order to support removing a device without closing its ports. " It would be great to complete this migration for the next LTS version, which will be 19.11. It means the work should be ideally finished during the summer. The migration to the new behaviour is done in 4 drivers: git grep -l RTE_ETH_DEV_CLOSE_REMOVE drivers | cut -d/ -f3 ena enic mlx5 vmxnet3 Following drivers should be migrated: ( find drivers/net -mindepth 1 -maxdepth 1 -type d | cut -d/ -f3 ; git grep -l RTE_ETH_DEV_CLOSE_REMOVE drivers | cut -d/ -f3 ) | sort | uniq -u af_packet af_xdp ark atlantic avp axgbe bnx2x bnxt bonding cxgbe dpaa dpaa2 e1000 enetc failsafe fm10k i40e iavf ice ifc ixgbe kni liquidio mlx4 mvneta mvpp2 netvsc nfb nfp null octeontx pcap qede ring sfc softnic szedata2 tap thunderx vdev_netvsc vhost virtio Please let's progress smoothly on this topic, thanks. The concerned maintainers (Cc) can be found with the following command: devtools/get-maintainer.sh $(( find drivers/net -mindepth 1 -maxdepth 1 -type d | cut -d/ -f-3 ; git grep -l RTE_ETH_DEV_CLOSE_REMOVE drivers ) | sort | uniq -u)