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.

Reply via email to