[dpdk-dev] [PATCH v3 00/13] ethdev: change promiscuous mode functions to return status
Ferruh Yigit
ferruh.yigit at intel.com
Tue Sep 24 09:31:36 CEST 2019
On 9/14/2019 12:37 PM, Andrew Rybchenko wrote:
> It is the second patch series to get rid of void returning functions
> in ethdev in accordance with deprecation notice [1].
>
> It should be applied on top of the first one [2] which is already
> applied to dpdk-next-net, but not in main DPDK repo.
> It could be applied separately, but few simple conflicts should
> be resolved.
>
> Functions which return void are bad since they do not provide explicit
> information to the caller if everything is OK or not.
> It is especially painful in the case of promiscuous mode since it is
> not always supported, there are real cases when it fails to apply and
> it affects traffic which is received by the port.
>
> Driver maintainrs are encouraged to review the patch which changes
> driver callbacks prototype. Changes are not always trivial when I tried
> to provide real status of the operation. I used -EAGAIN when I failed
> to choose better error code.
>
> The following two drivers ignore status of internal functions and
> definitely could be improved:
>
> net/bnx2x: bnx2x_set_rx_mode() can report failure, but it is used in
> other places and should be updated carefully.
>
> net/igbvf: e1000_promisc_set_vf() provides return status, but it is
> unclear how handle it properly.
>
> [1] https://patches.dpdk.org/patch/56969/
> [2] https://patches.dpdk.org/project/dpdk/list/?series=6391
>
> v3:
> - list and describe return values of promiscuous mode enable/disalbe callbacks
> - improve net/failsafe logging in the case of rollback failure to
> distinguish operation and rollback failure cases
> - fix build issue in AF_XDP PMD
> - fix build issue in mlx4 PMD
> - do not use goto and return error directly in mlx5
> - return -E_RTE_SECONDARY in net/enic in the case of secondary process
> - fix examples/vm_power_manager build
>
> v2:
> - minor style fix in app/testpmd
> - use fs_err() in net/failsafe in accordance with review from Gaetan
> - fix net/mvpp2 build
> - use eth_err() in ethdev
>
>
> Andrew Rybchenko (2):
> ethdev: change promiscuous callbacks to return status
> ethdev: do nothing if promiscuous mode is applied again
>
> Ivan Ilchenko (11):
> ethdev: change promiscuous mode controllers to return errors
> net/failsafe: check code of promiscuous mode switch
> net/bonding: check code of promiscuous mode switch
> app/pipeline: check code of promiscuous mode switch
> app/testpmd: check code of promiscuous mode switch
> app/eventdev: check code of promiscuous mode switch
> app/pdump: check code of promiscuous mode switch
> app/test: check code of promiscuous mode switch
> kni: check code of promiscuous mode switch
> test/bonding: check code of promiscuous mode switch
> examples: take promiscuous mode switch result into account
Series applied to dpdk-next-net/master, thanks.
More information about the dev
mailing list