[dpdk-dev] [PATCH] net/i40e: fix vlan insert code redundance
Ferruh Yigit
ferruh.yigit at intel.com
Fri Feb 10 11:25:23 CET 2017
On 2/10/2017 1:26 AM, Qiming Yang wrote:
> This patch removed useless tx_flags in vlan insertion.
Overall this looks good, I wonder what was the initial intention of this
code, understanding it helps to figure out if there is a hidden defect.
This code not fixes a defect, but improves the code, is there any
performance gain with this?
If not, I am for deferring this to next release.
>
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
>
> Signed-off-by: Qiming Yang <qiming.yang at intel.com>
> ---
> drivers/net/i40e/i40e_rxtx.c | 8 +-------
> drivers/net/i40e/i40e_rxtx.h | 2 --
> 2 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index 608685f..b91cd70 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -1026,7 +1026,6 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
> uint16_t nb_tx;
> uint32_t td_cmd;
> uint32_t td_offset;
> - uint32_t tx_flags;
> uint32_t td_tag;
> uint64_t ol_flags;
> uint16_t nb_used;
> @@ -1050,7 +1049,6 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
> td_cmd = 0;
> td_tag = 0;
> td_offset = 0;
> - tx_flags = 0;
>
> tx_pkt = *tx_pkts++;
> RTE_MBUF_PREFETCH_TO_FREE(txe->mbuf);
> @@ -1097,12 +1095,8 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
>
> /* Descriptor based VLAN insertion */
> if (ol_flags & (PKT_TX_VLAN_PKT | PKT_TX_QINQ_PKT)) {
> - tx_flags |= tx_pkt->vlan_tci <<
> - I40E_TX_FLAG_L2TAG1_SHIFT;
> - tx_flags |= I40E_TX_FLAG_INSERT_VLAN;
The I40E_TX_FLAG_INSERT_VLAN flag also seems used only here, and can be
removed.
Also I40E_TX_FLAG_CSUM and I40E_TX_FLAG_TSYN seems not used at all,
understanding why they are introduced at first place can be useful.
> td_cmd |= I40E_TX_DESC_CMD_IL2TAG1;
> - td_tag = (tx_flags & I40E_TX_FLAG_L2TAG1_MASK) >>
> - I40E_TX_FLAG_L2TAG1_SHIFT;
> + td_tag = tx_pkt->vlan_tci;
> }
>
> /* Always enable CRC offload insertion */
> diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
> index 9df8a56..3d4abdc 100644
> --- a/drivers/net/i40e/i40e_rxtx.h
> +++ b/drivers/net/i40e/i40e_rxtx.h
> @@ -38,8 +38,6 @@
> * 32 bits tx flags, high 16 bits for L2TAG1 (VLAN),
> * low 16 bits for others.
> */
> -#define I40E_TX_FLAG_L2TAG1_SHIFT 16
> -#define I40E_TX_FLAG_L2TAG1_MASK 0xffff0000
> #define I40E_TX_FLAG_CSUM ((uint32_t)(1 << 0))
> #define I40E_TX_FLAG_INSERT_VLAN ((uint32_t)(1 << 1))
> #define I40E_TX_FLAG_TSYN ((uint32_t)(1 << 2))
>
More information about the dev
mailing list