On 9/24/2019 1:56 PM, Andrew Rybchenko wrote:
> m>
> References: <1568031190-16510-1-git-send-email-arybche...@solarflare.co
> m>
> 
> It is the fourth patch series to get rid of void returning functions
> in ethdev in accordance with deprecation notice [1].
> 
> It should be applied on top of [2], [3] and [4] which are already
> accepted in dpdk-next-net.
> 
> 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 all-multicast 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
> [3] https://patches.dpdk.org/project/dpdk/list/?series=6407
> [4] https://patches.dpdk.org/project/dpdk/list/?series=6308
> 
> v2:
>  - add documentation for enable/disable callbacks
>  - apply eth_err() to callback return status in
>    rte_eth_dev_config_restore()
>  - do not check callback vs NULL if settings match
>  - reword logs in net/failsafe in accordance with review notes
>  - use -E_RTE_SECONDARY in net/enic as requested in review notes
>  - add acks
>  - rebase
> 
> Andrew Rybchenko (1):
>   ethdev: do nothing if all-multicast mode is applied again
> 
> Ivan Ilchenko (6):
>   ethdev: change allmulticast mode API to return errors
>   net/failsafe: check code of allmulticast mode switch
>   net/bonding: check code of allmulticast mode switch
>   ethdev: change allmulticast callbacks to return status
>   app/testpmd: check code of allmulticast mode switch
>   examples/ipv4_multicast: check allmulticast enable status

Series applied to dpdk-next-net/master, thanks.

Reply via email to