net: add macro for VLAN header length
Checks
Commit Message
Multiple drivers are defining macros for VLAN header length, to remove
the redundancy defining macro in the ether header.
And updated drivers to use the new macro.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/bnx2x/bnx2x_vfpf.c | 2 +-
drivers/net/bnx2x/bnx2x_vfpf.h | 2 --
drivers/net/cxgbe/cxgbe_compat.h | 1 -
drivers/net/cxgbe/sge.c | 2 +-
drivers/net/fm10k/fm10k.h | 2 --
drivers/net/fm10k/fm10k_ethdev.c | 2 +-
drivers/net/hinic/hinic_pmd_ethdev.h | 3 +--
drivers/net/i40e/i40e_ethdev.h | 4 +---
drivers/net/iavf/iavf.h | 3 +--
drivers/net/ice/ice_dcf_ethdev.c | 2 +-
drivers/net/ice/ice_ethdev.h | 4 +---
drivers/net/ipn3ke/ipn3ke_ethdev.h | 3 +--
drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++--
drivers/net/ixgbe/ixgbe_ethdev.h | 1 -
drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++--
drivers/net/ngbe/ngbe_ethdev.c | 2 +-
drivers/net/ngbe/ngbe_ethdev.h | 1 -
drivers/net/ngbe/ngbe_rxtx.c | 2 +-
drivers/net/txgbe/txgbe_ethdev.c | 2 +-
drivers/net/txgbe/txgbe_ethdev.h | 1 -
drivers/net/txgbe/txgbe_ethdev_vf.c | 2 +-
drivers/net/txgbe/txgbe_rxtx.c | 4 ++--
examples/vhost/main.c | 3 +--
lib/net/rte_ether.h | 5 +++--
24 files changed, 23 insertions(+), 38 deletions(-)
Comments
> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> Sent: Thursday, November 11, 2021 01:40
> To: Rasesh Mody <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Rahul Lakkireddy
> <rahul.lakkireddy@chelsio.com>; Zhang, Qi Z <qi.z.zhang@intel.com>; Wang, Xiao W
> <xiao.w.wang@intel.com>; Ziyang Xuan <xuanziyang2@huawei.com>; Xiaoyun Wang
> <cloud.wangxiaoyun@huawei.com>; Guoyang Zhou <zhouguoyang@huawei.com>; Xing, Beilei
> <beilei.xing@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Yang, Qiming <qiming.yang@intel.com>;
> Xu, Rosen <rosen.xu@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Jiawen Wu
> <jiawenwu@trustnetic.com>; Jian Wang <jianwang@trustnetic.com>; Maxime Coquelin
> <maxime.coquelin@redhat.com>; Xia, Chenbo <chenbo.xia@intel.com>; Olivier Matz <olivier.matz@6wind.com>
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; dev@dpdk.org
> Subject: [PATCH] net: add macro for VLAN header length
>
> Multiple drivers are defining macros for VLAN header length, to remove
> the redundancy defining macro in the ether header.
> And updated drivers to use the new macro.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> drivers/net/bnx2x/bnx2x_vfpf.c | 2 +-
> drivers/net/bnx2x/bnx2x_vfpf.h | 2 --
> drivers/net/cxgbe/cxgbe_compat.h | 1 -
> drivers/net/cxgbe/sge.c | 2 +-
> drivers/net/fm10k/fm10k.h | 2 --
> drivers/net/fm10k/fm10k_ethdev.c | 2 +-
> drivers/net/hinic/hinic_pmd_ethdev.h | 3 +--
> drivers/net/i40e/i40e_ethdev.h | 4 +---
> drivers/net/iavf/iavf.h | 3 +--
> drivers/net/ice/ice_dcf_ethdev.c | 2 +-
> drivers/net/ice/ice_ethdev.h | 4 +---
> drivers/net/ipn3ke/ipn3ke_ethdev.h | 3 +--
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++--
> drivers/net/ixgbe/ixgbe_ethdev.h | 1 -
> drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++--
Thanks for the cleanup work. ;-)
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
> drivers/net/ngbe/ngbe_ethdev.c | 2 +-
> drivers/net/ngbe/ngbe_ethdev.h | 1 -
> drivers/net/ngbe/ngbe_rxtx.c | 2 +-
> drivers/net/txgbe/txgbe_ethdev.c | 2 +-
> drivers/net/txgbe/txgbe_ethdev.h | 1 -
> drivers/net/txgbe/txgbe_ethdev_vf.c | 2 +-
> drivers/net/txgbe/txgbe_rxtx.c | 4 ++--
> examples/vhost/main.c | 3 +--
> lib/net/rte_ether.h | 5 +++--
> 24 files changed, 23 insertions(+), 38 deletions(-)
>
> --
> 2.31.1
Hi,
> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> Sent: Thursday, November 11, 2021 1:40
> To: Rasesh Mody <rmody@marvell.com>; Shahed Shaikh
> <shshaikh@marvell.com>; Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>;
> Zhang, Qi Z <qi.z.zhang@intel.com>; Wang, Xiao W
> <xiao.w.wang@intel.com>; Ziyang Xuan <xuanziyang2@huawei.com>;
> Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>; Guoyang Zhou
> <zhouguoyang@huawei.com>; Xing, Beilei <beilei.xing@intel.com>; Wu,
> Jingjing <jingjing.wu@intel.com>; Yang, Qiming <qiming.yang@intel.com>; Xu,
> Rosen <rosen.xu@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>;
> Jiawen Wu <jiawenwu@trustnetic.com>; Jian Wang
> <jianwang@trustnetic.com>; Maxime Coquelin
> <maxime.coquelin@redhat.com>; Xia, Chenbo <chenbo.xia@intel.com>;
> Olivier Matz <olivier.matz@6wind.com>
> Cc: Yigit, Ferruh <ferruh.yigit@intel.com>; dev@dpdk.org
> Subject: [PATCH] net: add macro for VLAN header length
>
> Multiple drivers are defining macros for VLAN header length, to remove the
> redundancy defining macro in the ether header.
> And updated drivers to use the new macro.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> drivers/net/bnx2x/bnx2x_vfpf.c | 2 +-
> drivers/net/bnx2x/bnx2x_vfpf.h | 2 --
> drivers/net/cxgbe/cxgbe_compat.h | 1 -
> drivers/net/cxgbe/sge.c | 2 +-
> drivers/net/fm10k/fm10k.h | 2 --
> drivers/net/fm10k/fm10k_ethdev.c | 2 +-
> drivers/net/hinic/hinic_pmd_ethdev.h | 3 +--
> drivers/net/i40e/i40e_ethdev.h | 4 +---
> drivers/net/iavf/iavf.h | 3 +--
> drivers/net/ice/ice_dcf_ethdev.c | 2 +-
> drivers/net/ice/ice_ethdev.h | 4 +---
> drivers/net/ipn3ke/ipn3ke_ethdev.h | 3 +--
Acked-by: Rosen Xu <rosen.xu@intel.com>
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++--
> drivers/net/ixgbe/ixgbe_ethdev.h | 1 -
> drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++--
> drivers/net/ngbe/ngbe_ethdev.c | 2 +-
> drivers/net/ngbe/ngbe_ethdev.h | 1 -
> drivers/net/ngbe/ngbe_rxtx.c | 2 +-
> drivers/net/txgbe/txgbe_ethdev.c | 2 +-
> drivers/net/txgbe/txgbe_ethdev.h | 1 -
> drivers/net/txgbe/txgbe_ethdev_vf.c | 2 +-
> drivers/net/txgbe/txgbe_rxtx.c | 4 ++--
> examples/vhost/main.c | 3 +--
> lib/net/rte_ether.h | 5 +++--
> 24 files changed, 23 insertions(+), 38 deletions(-)
On November 11, 2021 1:40 AM, Ferruh Yigit wrote:
> Multiple drivers are defining macros for VLAN header length, to remove the
> redundancy defining macro in the ether header.
> And updated drivers to use the new macro.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> drivers/net/bnx2x/bnx2x_vfpf.c | 2 +-
> drivers/net/bnx2x/bnx2x_vfpf.h | 2 --
> drivers/net/cxgbe/cxgbe_compat.h | 1 -
> drivers/net/cxgbe/sge.c | 2 +-
> drivers/net/fm10k/fm10k.h | 2 --
> drivers/net/fm10k/fm10k_ethdev.c | 2 +-
> drivers/net/hinic/hinic_pmd_ethdev.h | 3 +--
> drivers/net/i40e/i40e_ethdev.h | 4 +---
> drivers/net/iavf/iavf.h | 3 +--
> drivers/net/ice/ice_dcf_ethdev.c | 2 +-
> drivers/net/ice/ice_ethdev.h | 4 +---
> drivers/net/ipn3ke/ipn3ke_ethdev.h | 3 +--
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++--
> drivers/net/ixgbe/ixgbe_ethdev.h | 1 -
> drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++--
> drivers/net/ngbe/ngbe_ethdev.c | 2 +-
> drivers/net/ngbe/ngbe_ethdev.h | 1 -
> drivers/net/ngbe/ngbe_rxtx.c | 2 +-
> drivers/net/txgbe/txgbe_ethdev.c | 2 +-
> drivers/net/txgbe/txgbe_ethdev.h | 1 -
> drivers/net/txgbe/txgbe_ethdev_vf.c | 2 +-
> drivers/net/txgbe/txgbe_rxtx.c | 4 ++--
For txgbe/ngbe,
Acked-by: Jiawen Wu <jiawenwu@trustnetic.com>
> examples/vhost/main.c | 3 +--
> lib/net/rte_ether.h | 5 +++--
> 24 files changed, 23 insertions(+), 38 deletions(-)
10/11/2021 18:40, Ferruh Yigit:
> Multiple drivers are defining macros for VLAN header length, to remove
> the redundancy defining macro in the ether header.
> And updated drivers to use the new macro.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
[...]
> --- a/lib/net/rte_ether.h
> +++ b/lib/net/rte_ether.h
> +#define RTE_VLAN_HLEN 4
Please could you add a doxygen comment for this constant?
> +/** Maximum VLAN frame length, including CRC. */
> #define RTE_ETHER_MAX_VLAN_FRAME_LEN \
> - (RTE_ETHER_MAX_LEN + 4)
> - /**< Maximum VLAN frame length, including CRC. */
> + (RTE_ETHER_MAX_LEN + RTE_VLAN_HLEN)
What about QinQ?
On 11/16/2021 11:14 PM, Thomas Monjalon wrote:
> 10/11/2021 18:40, Ferruh Yigit:
>> Multiple drivers are defining macros for VLAN header length, to remove
>> the redundancy defining macro in the ether header.
>> And updated drivers to use the new macro.
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> [...]
>> --- a/lib/net/rte_ether.h
>> +++ b/lib/net/rte_ether.h
>> +#define RTE_VLAN_HLEN 4
>
> Please could you add a doxygen comment for this constant?
>
ack.
>> +/** Maximum VLAN frame length, including CRC. */
>> #define RTE_ETHER_MAX_VLAN_FRAME_LEN \
>> - (RTE_ETHER_MAX_LEN + 4)
>> - /**< Maximum VLAN frame length, including CRC. */
>> + (RTE_ETHER_MAX_LEN + RTE_VLAN_HLEN)
>
> What about QinQ?
>
I am just replacing hardcoded value with macro in this patch.
Changing 'RTE_ETHER_MAX_LEN' may have unexpected affect, and
may not be good thing to the at this stage.
17/11/2021 11:00, Ferruh Yigit:
> On 11/16/2021 11:14 PM, Thomas Monjalon wrote:
> > 10/11/2021 18:40, Ferruh Yigit:
> >> Multiple drivers are defining macros for VLAN header length, to remove
> >> the redundancy defining macro in the ether header.
> >> And updated drivers to use the new macro.
> >>
> >> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > [...]
> >> --- a/lib/net/rte_ether.h
> >> +++ b/lib/net/rte_ether.h
> >> +#define RTE_VLAN_HLEN 4
> >
> > Please could you add a doxygen comment for this constant?
> >
>
> ack.
>
> >> +/** Maximum VLAN frame length, including CRC. */
> >> #define RTE_ETHER_MAX_VLAN_FRAME_LEN \
> >> - (RTE_ETHER_MAX_LEN + 4)
> >> - /**< Maximum VLAN frame length, including CRC. */
> >> + (RTE_ETHER_MAX_LEN + RTE_VLAN_HLEN)
> >
> > What about QinQ?
> >
>
> I am just replacing hardcoded value with macro in this patch.
> Changing 'RTE_ETHER_MAX_LEN' may have unexpected affect, and
> may not be good thing to the at this stage.
Sure
But can we take this opportunity to note that this macro
does not take QinQ into account?
Just a comment update?
Same for RTE_VLAN_HLEN, it is only one VLAN.
On 11/17/2021 10:02 AM, Thomas Monjalon wrote:
> 17/11/2021 11:00, Ferruh Yigit:
>> On 11/16/2021 11:14 PM, Thomas Monjalon wrote:
>>> 10/11/2021 18:40, Ferruh Yigit:
>>>> Multiple drivers are defining macros for VLAN header length, to remove
>>>> the redundancy defining macro in the ether header.
>>>> And updated drivers to use the new macro.
>>>>
>>>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>>> [...]
>>>> --- a/lib/net/rte_ether.h
>>>> +++ b/lib/net/rte_ether.h
>>>> +#define RTE_VLAN_HLEN 4
>>>
>>> Please could you add a doxygen comment for this constant?
>>>
>>
>> ack.
>>
>>>> +/** Maximum VLAN frame length, including CRC. */
>>>> #define RTE_ETHER_MAX_VLAN_FRAME_LEN \
>>>> - (RTE_ETHER_MAX_LEN + 4)
>>>> - /**< Maximum VLAN frame length, including CRC. */
>>>> + (RTE_ETHER_MAX_LEN + RTE_VLAN_HLEN)
>>>
>>> What about QinQ?
>>>
>>
>> I am just replacing hardcoded value with macro in this patch.
>> Changing 'RTE_ETHER_MAX_LEN' may have unexpected affect, and
>> may not be good thing to the at this stage.
>
> Sure
> But can we take this opportunity to note that this macro
> does not take QinQ into account?
> Just a comment update?
>
Yep, a can put a brief note.
> Same for RTE_VLAN_HLEN, it is only one VLAN.
>
>
@@ -54,7 +54,7 @@ bnx2x_check_bull(struct bnx2x_softc *sc)
if (valid_bitmap & (1 << MAC_ADDR_VALID) && memcmp(bull->mac, sc->old_bulletin.mac, ETH_ALEN))
rte_memcpy(&sc->link_params.mac_addr, bull->mac, ETH_ALEN);
if (valid_bitmap & (1 << VLAN_VALID))
- rte_memcpy(&bull->vlan, &sc->old_bulletin.vlan, VLAN_HLEN);
+ rte_memcpy(&bull->vlan, &sc->old_bulletin.vlan, RTE_VLAN_HLEN);
sc->old_bulletin = *bull;
@@ -10,8 +10,6 @@
#include "ecore_sp.h"
-#define VLAN_HLEN 4
-
struct vf_resource_query {
uint8_t num_rxqs;
uint8_t num_txqs;
@@ -75,7 +75,6 @@ extern int cxgbe_mbox_logtype;
#define CXGBE_ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1))
#define PTR_ALIGN(p, a) ((typeof(p))CXGBE_ALIGN((unsigned long)(p), (a)))
-#define VLAN_HLEN 4
#define ETHER_ADDR_LEN 6
#define rmb() rte_rmb() /* dpdk rte provided rmb */
@@ -72,7 +72,7 @@ static inline unsigned int fl_mtu_bufsize(struct adapter *adapter,
{
struct sge *s = &adapter->sge;
- return CXGBE_ALIGN(s->pktshift + RTE_ETHER_HDR_LEN + VLAN_HLEN + mtu,
+ return CXGBE_ALIGN(s->pktshift + RTE_ETHER_HDR_LEN + RTE_VLAN_HLEN + mtu,
s->fl_align);
}
@@ -81,8 +81,6 @@
RTE_MIN(((txq)->nb_desc - 2), (txq)->free_thresh)
#define FM10K_TX_RS_THRESH_DIV(txq) ((txq)->nb_desc)
-#define FM10K_VLAN_TAG_SIZE 4
-
/* Maximum number of MAC addresses per PF/VF */
#define FM10K_MAX_MACADDR_NUM 64
@@ -759,7 +759,7 @@ fm10k_dev_rx_init(struct rte_eth_dev *dev)
/* It adds dual VLAN length for supporting dual VLAN */
if ((dev->data->mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN +
- 2 * FM10K_VLAN_TAG_SIZE) > buf_size ||
+ 2 * RTE_VLAN_HLEN) > buf_size ||
rxq->offloads & RTE_ETH_RX_OFFLOAD_SCATTER) {
uint32_t reg;
dev->data->scattered_rx = 1;
@@ -35,9 +35,8 @@
#define HINIC_MAX_MTU_SIZE 9600
#define HINIC_MIN_MTU_SIZE 256
-#define HINIC_VLAN_TAG_SIZE 4
#define HINIC_ETH_OVERHEAD \
- (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + HINIC_VLAN_TAG_SIZE * 2)
+ (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)
#define HINIC_MIN_FRAME_SIZE (HINIC_MIN_MTU_SIZE + HINIC_ETH_OVERHEAD)
#define HINIC_MAX_JUMBO_FRAME_SIZE (HINIC_MAX_MTU_SIZE + HINIC_ETH_OVERHEAD)
@@ -27,8 +27,6 @@
*/
#define I40E_GL_RXERR1_H(_i) (0x00318004 + ((_i) * 8))
-#define I40E_VLAN_TAG_SIZE 4
-
#define I40E_AQ_LEN 32
#define I40E_AQ_BUF_SZ 4096
/* Number of queues per TC should be one of 1, 2, 4, 8, 16, 32, 64 */
@@ -292,7 +290,7 @@ struct rte_flow {
* Considering QinQ packet, the VLAN tag needs to be counted twice.
*/
#define I40E_ETH_OVERHEAD \
- (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + I40E_VLAN_TAG_SIZE * 2)
+ (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)
#define I40E_ETH_MAX_LEN (RTE_ETHER_MTU + I40E_ETH_OVERHEAD)
#define I40E_RXTX_BYTES_H_16_BIT(bytes) ((bytes) & ~I40E_48_BIT_MASK)
@@ -78,9 +78,8 @@
/* The overhead from MTU to max frame size.
* Considering QinQ packet, the VLAN tag needs to be counted twice.
*/
-#define IAVF_VLAN_TAG_SIZE 4
#define IAVF_ETH_OVERHEAD \
- (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + IAVF_VLAN_TAG_SIZE * 2)
+ (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)
#define IAVF_ETH_MAX_LEN (RTE_ETHER_MTU + IAVF_ETH_OVERHEAD)
#define IAVF_32_BIT_WIDTH (CHAR_BIT * 4)
@@ -81,7 +81,7 @@ ice_dcf_init_rxq(struct rte_eth_dev *dev, struct ice_rx_queue *rxq)
rxq->max_pkt_len = max_pkt_len;
if ((dev_data->dev_conf.rxmode.offloads & RTE_ETH_RX_OFFLOAD_SCATTER) ||
- (rxq->max_pkt_len + 2 * ICE_VLAN_TAG_SIZE) > buf_size) {
+ (rxq->max_pkt_len + 2 * RTE_VLAN_HLEN) > buf_size) {
dev_data->scattered_rx = 1;
}
rxq->qrx_tail = hw->hw_addr + IAVF_QRX_TAIL1(rxq->queue_id);
@@ -14,8 +14,6 @@
#include "base/ice_adminq_cmd.h"
#include "base/ice_flow.h"
-#define ICE_VLAN_TAG_SIZE 4
-
#define ICE_ADMINQ_LEN 32
#define ICE_SBIOQ_LEN 32
#define ICE_MAILBOXQ_LEN 32
@@ -136,7 +134,7 @@
* Considering QinQ packet, the VLAN tag needs to be counted twice.
*/
#define ICE_ETH_OVERHEAD \
- (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + ICE_VLAN_TAG_SIZE * 2)
+ (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)
#define ICE_ETH_MAX_LEN (RTE_ETHER_MTU + ICE_ETH_OVERHEAD)
#define ICE_RXTX_BYTES_HIGH(bytes) ((bytes) & ~ICE_40_BIT_MASK)
@@ -633,13 +633,12 @@ ipn3ke_tm_ops_get(struct rte_eth_dev *ethdev,
#define IPN3KE_MAC_RX_FRAME_CONTROL_EN_ALLMCAST_MASK \
IPN3KE_MASK(0x1, IPN3KE_MAC_RX_FRAME_CONTROL_EN_ALLMCAST_SHIFT)
-#define IPN3KE_VLAN_TAG_SIZE 4
/**
* The overhead from MTU to max frame size.
* Considering QinQ packet, the VLAN tag needs to be counted twice.
*/
#define IPN3KE_ETH_OVERHEAD \
- (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + IPN3KE_VLAN_TAG_SIZE * 2)
+ (RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)
#define IPN3KE_ETH_MAX_LEN (RTE_ETHER_MTU + IPN3KE_ETH_OVERHEAD)
#define IPN3KE_MAC_FRAME_SIZE_MAX 9728
@@ -5173,7 +5173,7 @@ ixgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* scattered packets when this feature has not been enabled before.
*/
if (dev->data->dev_started && !dev->data->scattered_rx &&
- frame_size + 2 * IXGBE_VLAN_TAG_SIZE >
+ frame_size + 2 * RTE_VLAN_HLEN >
dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM) {
PMD_INIT_LOG(ERR, "Stop port first.");
return -EINVAL;
@@ -6341,7 +6341,7 @@ ixgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
* scattered packets when this feature has not been enabled before.
*/
if (dev_data->dev_started && !dev_data->scattered_rx &&
- (max_frame + 2 * IXGBE_VLAN_TAG_SIZE >
+ (max_frame + 2 * RTE_VLAN_HLEN >
dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {
PMD_INIT_LOG(ERR, "Stop port first.");
return -EINVAL;
@@ -43,7 +43,6 @@
#define IXGBE_NB_STAT_MAPPING_REGS 32
#define IXGBE_EXTENDED_VLAN (uint32_t)(1 << 26) /* EXTENDED VLAN ENABLE */
#define IXGBE_VFTA_SIZE 128
-#define IXGBE_VLAN_TAG_SIZE 4
#define IXGBE_HKEY_MAX_INDEX 10
#define IXGBE_MAX_RX_QUEUE_NUM 128
#define IXGBE_MAX_INTR_QUEUE_NUM 15
@@ -5153,7 +5153,7 @@ ixgbe_dev_rx_init(struct rte_eth_dev *dev)
IXGBE_SRRCTL_BSIZEPKT_SHIFT);
/* It adds dual VLAN length for supporting dual VLAN */
- if (frame_size + 2 * IXGBE_VLAN_TAG_SIZE > buf_size)
+ if (frame_size + 2 * RTE_VLAN_HLEN > buf_size)
dev->data->scattered_rx = 1;
if (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)
rx_conf->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;
@@ -5729,7 +5729,7 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)
if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_SCATTER ||
/* It adds dual VLAN length for supporting dual VLAN */
- (frame_size + 2 * IXGBE_VLAN_TAG_SIZE) > buf_size) {
+ (frame_size + 2 * RTE_VLAN_HLEN) > buf_size) {
if (!dev->data->scattered_rx)
PMD_INIT_LOG(DEBUG, "forcing scatter mode");
dev->data->scattered_rx = 1;
@@ -2488,7 +2488,7 @@ ngbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* scattered packets when this feature has not been enabled before.
*/
if (dev_data->dev_started && !dev_data->scattered_rx &&
- (frame_size + 2 * NGBE_VLAN_TAG_SIZE >
+ (frame_size + 2 * RTE_VLAN_HLEN >
dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {
PMD_INIT_LOG(ERR, "Stop port first.");
return -EINVAL;
@@ -19,7 +19,6 @@
#define NGBE_FLAG_NEED_LINK_CONFIG ((uint32_t)(1 << 4))
#define NGBE_VFTA_SIZE 128
-#define NGBE_VLAN_TAG_SIZE 4
#define NGBE_HKEY_MAX_INDEX 10
/*Default value of Max Rx Queue*/
#define NGBE_MAX_RX_QUEUE_NUM 8
@@ -2951,7 +2951,7 @@ ngbe_dev_rx_init(struct rte_eth_dev *dev)
/* It adds dual VLAN length for supporting dual VLAN */
if (dev->data->mtu + NGBE_ETH_OVERHEAD +
- 2 * NGBE_VLAN_TAG_SIZE > buf_size)
+ 2 * RTE_VLAN_HLEN > buf_size)
dev->data->scattered_rx = 1;
if (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)
rx_conf->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;
@@ -3461,7 +3461,7 @@ txgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
* scattered packets when this feature has not been enabled before.
*/
if (dev_data->dev_started && !dev_data->scattered_rx &&
- (frame_size + 2 * TXGBE_VLAN_TAG_SIZE >
+ (frame_size + 2 * RTE_VLAN_HLEN >
dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {
PMD_INIT_LOG(ERR, "Stop port first.");
return -EINVAL;
@@ -36,7 +36,6 @@
* FreeBSD driver.
*/
#define TXGBE_VFTA_SIZE 128
-#define TXGBE_VLAN_TAG_SIZE 4
#define TXGBE_HKEY_MAX_INDEX 10
/*Default value of Max Rx Queue*/
#define TXGBE_MAX_RX_QUEUE_NUM 128
@@ -1111,7 +1111,7 @@ txgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
* scattered packets when this feature has not been enabled before.
*/
if (dev_data->dev_started && !dev_data->scattered_rx &&
- (max_frame + 2 * TXGBE_VLAN_TAG_SIZE >
+ (max_frame + 2 * RTE_VLAN_HLEN >
dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {
PMD_INIT_LOG(ERR, "Stop port first.");
return -EINVAL;
@@ -4389,7 +4389,7 @@ txgbe_dev_rx_init(struct rte_eth_dev *dev)
/* It adds dual VLAN length for supporting dual VLAN */
if (dev->data->mtu + TXGBE_ETH_OVERHEAD +
- 2 * TXGBE_VLAN_TAG_SIZE > buf_size)
+ 2 * RTE_VLAN_HLEN > buf_size)
dev->data->scattered_rx = 1;
if (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)
rx_conf->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;
@@ -4906,7 +4906,7 @@ txgbevf_dev_rx_init(struct rte_eth_dev *dev)
if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_SCATTER ||
/* It adds dual VLAN length for supporting dual VLAN */
(dev->data->mtu + TXGBE_ETH_OVERHEAD +
- 2 * TXGBE_VLAN_TAG_SIZE) > buf_size) {
+ 2 * RTE_VLAN_HLEN) > buf_size) {
if (!dev->data->scattered_rx)
PMD_INIT_LOG(DEBUG, "forcing scatter mode");
dev->data->scattered_rx = 1;
@@ -195,7 +195,6 @@ struct vhost_bufftable *vhost_txbuff[RTE_MAX_LCORE * MAX_VHOST_DEVICE];
#define MBUF_TABLE_DRAIN_TSC ((rte_get_tsc_hz() + US_PER_S - 1) \
/ US_PER_S * BURST_TX_DRAIN_US)
-#define VLAN_HLEN 4
static inline int
open_dma(const char *value)
@@ -1010,7 +1009,7 @@ find_local_dest(struct vhost_dev *vdev, struct rte_mbuf *m,
* by minus length of vlan tag, so need restore
* the packet length by plus it.
*/
- *offset = VLAN_HLEN;
+ *offset = RTE_VLAN_HLEN;
*vlan_tag = vlan_tags[vdev->vid];
RTE_LOG_DP(DEBUG, VHOST_DATA,
@@ -35,9 +35,10 @@ extern "C" {
(RTE_ETHER_MAX_LEN - RTE_ETHER_HDR_LEN - \
RTE_ETHER_CRC_LEN) /**< Ethernet MTU. */
+#define RTE_VLAN_HLEN 4
+/** Maximum VLAN frame length, including CRC. */
#define RTE_ETHER_MAX_VLAN_FRAME_LEN \
- (RTE_ETHER_MAX_LEN + 4)
- /**< Maximum VLAN frame length, including CRC. */
+ (RTE_ETHER_MAX_LEN + RTE_VLAN_HLEN)
#define RTE_ETHER_MAX_JUMBO_FRAME_LEN \
0x3F00 /**< Maximum Jumbo frame length, including CRC. */