[dpdk-dev] CALL to eth PMD maintainers: complete closing of port

Thomas Monjalon thomas at monjalon.net
Thu Apr 18 12:59:33 CEST 2019


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)




More information about the dev mailing list