[dpdk-dev] [PATCH v3] ethdev: support QinQ strip dynamic configuration
Ferruh Yigit
ferruh.yigit at intel.com
Thu Jun 27 13:08:06 CEST 2019
On 4/19/2019 6:59 AM, viveksharma at marvell.com wrote:
> From: Vivek Sharma <viveksharma at marvell.com>
>
> Enable missing support for runtime configuration (setting/getting)
> of QinQ strip rx offload for a given ethdev.
>
> Signed-off-by: Vivek Sharma <viveksharma at marvell.com>
<...>
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 40a068f..c1792f4 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -550,11 +550,13 @@ struct rte_eth_rss_conf {
> #define ETH_VLAN_STRIP_OFFLOAD 0x0001 /**< VLAN Strip On/Off */
> #define ETH_VLAN_FILTER_OFFLOAD 0x0002 /**< VLAN Filter On/Off */
> #define ETH_VLAN_EXTEND_OFFLOAD 0x0004 /**< VLAN Extend On/Off */
> +#define ETH_QINQ_STRIP_OFFLOAD 0x0008 /**< QINQ Strip On/Off */
>
> /* Definitions used for mask VLAN setting */
> #define ETH_VLAN_STRIP_MASK 0x0001 /**< VLAN Strip setting mask */
> #define ETH_VLAN_FILTER_MASK 0x0002 /**< VLAN Filter setting mask*/
> #define ETH_VLAN_EXTEND_MASK 0x0004 /**< VLAN Extend setting mask*/
> +#define ETH_QINQ_STRIP_MASK 0x0008 /**< QINQ Strip setting mask */
> #define ETH_VLAN_ID_MAX 0x0FFF /**< VLAN ID is in lower 12 bits*/
On its own patch looks ok but a few high level questions:
1- Why we need this interim defines, instead of using actual offload values?
Although changing this will be API/ABI breakage.
2- Why we have specific function to set vlan offloads, for other offloads the
way is stop device and reconfigure it with new offload flags.
3- If devices can change offload configuration dynamically, do we need a generic
API to alter the offload configs? (similar to these vlan APIs but more generic)?
Related to the patch, what do you think about following options:
a)
- Get this patch
- Send a deprecation notice for 1) in this release
- Next release remove these flags, which will be practically reverse this patch
and more
b)
- Send a deprecation notice for 1) in this release
- Next release update the APIs and a smaller/different version of this patch
will be required.
More information about the dev
mailing list