[dpdk-dev] [PATCH v2 0/7] ethdev: change allmulticast controls to return status
Ferruh Yigit
ferruh.yigit at intel.com
Tue Sep 24 18:41:55 CEST 2019
On 9/24/2019 1:56 PM, Andrew Rybchenko wrote:
> m>
> References: <1568031190-16510-1-git-send-email-arybchenko at 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.
More information about the dev
mailing list