[PATCH 10/20] net/cnxk: added Rx metadata negotiate operation
Jerin Jacob
jerinjacobk at gmail.com
Thu Feb 17 14:33:07 CET 2022
On Mon, Feb 7, 2022 at 1:01 PM Nithin Dabilpuram
<ndabilpuram at marvell.com> wrote:
>
> From: Satha Rao <skoteshwar at marvell.com>
>
> Added rx_metadata_negotiate api to enable mark update RX offload.
> Removed software logic to enable/disable mark update inside flow
> create/destroy apis.
APIs
> Signed-off-by: Satha Rao <skoteshwar at marvell.com>
> ---
> +static int
> +cn10k_nix_rx_metadata_negotiate(struct rte_eth_dev *eth_dev, uint64_t *features)
> +{
> + struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
> +
> + *features &=
> + (RTE_ETH_RX_METADATA_USER_FLAG | RTE_ETH_RX_METADATA_USER_MARK);
> +
> + if (*features) {
> + dev->rx_offload_flags |= NIX_RX_OFFLOAD_MARK_UPDATE_F;
> + dev->rx_mark_update = true;
> + } else {
> + dev->rx_offload_flags &= ~NIX_RX_OFFLOAD_MARK_UPDATE_F;
> + dev->rx_mark_update = false;
> + }
> +
> + cn10k_eth_set_rx_function(eth_dev);
> +
> + return 0;
> +}
See below.
>
> +static int
> +cn9k_nix_rx_metadata_negotiate(struct rte_eth_dev *eth_dev, uint64_t *features)
> +{
> + struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
> +
> + *features &=
> + (RTE_ETH_RX_METADATA_USER_FLAG | RTE_ETH_RX_METADATA_USER_MARK);
> +
> + if (*features) {
> + dev->rx_offload_flags |= NIX_RX_OFFLOAD_MARK_UPDATE_F;
> + dev->rx_mark_update = true;
> + } else {
> + dev->rx_offload_flags &= ~NIX_RX_OFFLOAD_MARK_UPDATE_F;
> + dev->rx_mark_update = false;
> + }
> +
> + cn9k_eth_set_rx_function(eth_dev);
> +
> + return 0;
> +}
> +
The above two functions are duplicates, Please pass the function
pointer and make it as one function
for common code.
More information about the dev
mailing list