get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/104488/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 104488,
    "url": "http://patchwork.dpdk.org/api/patches/104488/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20211117180802.2577014-1-ferruh.yigit@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20211117180802.2577014-1-ferruh.yigit@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211117180802.2577014-1-ferruh.yigit@intel.com",
    "date": "2021-11-17T18:08:02",
    "name": "[v2] net: add macro for VLAN header length",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "435f0ed126eac08fad8279b4030295e79c9346eb",
    "submitter": {
        "id": 324,
        "url": "http://patchwork.dpdk.org/api/people/324/?format=api",
        "name": "Ferruh Yigit",
        "email": "ferruh.yigit@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20211117180802.2577014-1-ferruh.yigit@intel.com/mbox/",
    "series": [
        {
            "id": 20631,
            "url": "http://patchwork.dpdk.org/api/series/20631/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=20631",
            "date": "2021-11-17T18:08:02",
            "name": "[v2] net: add macro for VLAN header length",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/20631/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/104488/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/104488/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 94872A0C41;\n\tWed, 17 Nov 2021 19:08:19 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5E2A841141;\n\tWed, 17 Nov 2021 19:08:19 +0100 (CET)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n by mails.dpdk.org (Postfix) with ESMTP id BE5594068C\n for <dev@dpdk.org>; Wed, 17 Nov 2021 19:08:17 +0100 (CET)",
            "from orsmga006.jf.intel.com ([10.7.209.51])\n by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 17 Nov 2021 10:08:16 -0800",
            "from silpixa00399752.ir.intel.com (HELO\n silpixa00399752.ger.corp.intel.com) ([10.237.222.27])\n by orsmga006.jf.intel.com with ESMTP; 17 Nov 2021 10:08:12 -0800"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10171\"; a=\"297440520\"",
            "E=Sophos;i=\"5.87,241,1631602800\"; d=\"scan'208\";a=\"297440520\"",
            "E=Sophos;i=\"5.87,241,1631602800\"; d=\"scan'208\";a=\"454981648\""
        ],
        "X-ExtLoop1": "1",
        "From": "Ferruh Yigit <ferruh.yigit@intel.com>",
        "To": "Rasesh Mody <rmody@marvell.com>, Shahed Shaikh <shshaikh@marvell.com>,\n Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>,\n Apeksha Gupta <apeksha.gupta@nxp.com>,\n Sachin Saxena <sachin.saxena@nxp.com>, Qi Zhang <qi.z.zhang@intel.com>,\n Xiao Wang <xiao.w.wang@intel.com>, Ziyang Xuan <xuanziyang2@huawei.com>,\n Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>,\n Guoyang Zhou <zhouguoyang@huawei.com>, Beilei Xing <beilei.xing@intel.com>,\n Jingjing Wu <jingjing.wu@intel.com>, Qiming Yang <qiming.yang@intel.com>,\n Rosen Xu <rosen.xu@intel.com>, Haiyue Wang <haiyue.wang@intel.com>,\n Jiawen Wu <jiawenwu@trustnetic.com>, Jian Wang <jianwang@trustnetic.com>,\n Maxime Coquelin <maxime.coquelin@redhat.com>,\n Chenbo Xia <chenbo.xia@intel.com>, Olivier Matz <olivier.matz@6wind.com>",
        "Cc": "Ferruh Yigit <ferruh.yigit@intel.com>,\n\tdev@dpdk.org",
        "Subject": "[PATCH v2] net: add macro for VLAN header length",
        "Date": "Wed, 17 Nov 2021 18:08:02 +0000",
        "Message-Id": "<20211117180802.2577014-1-ferruh.yigit@intel.com>",
        "X-Mailer": "git-send-email 2.31.1",
        "In-Reply-To": "<20211110174029.614449-1-ferruh.yigit@intel.com>",
        "References": "<20211110174029.614449-1-ferruh.yigit@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Multiple drivers are defining macros for VLAN header length, to remove\nthe redundancy defining macro in the ether header.\nAnd updated drivers to use the new macro.\n\nSigned-off-by: Ferruh Yigit <ferruh.yigit@intel.com>\nAcked-by: Haiyue Wang <haiyue.wang@intel.com>\nAcked-by: Rosen Xu <rosen.xu@intel.com>\nAcked-by: Jiawen Wu <jiawenwu@trustnetic.com>\n\n---\nv2:\n* update new enetfec driver too\n* Add doxygen comment to macro\n---\n drivers/net/bnx2x/bnx2x_vfpf.c       | 2 +-\n drivers/net/bnx2x/bnx2x_vfpf.h       | 2 --\n drivers/net/cxgbe/cxgbe_compat.h     | 1 -\n drivers/net/cxgbe/sge.c              | 2 +-\n drivers/net/enetfec/enet_ethdev.h    | 1 -\n drivers/net/enetfec/enet_rxtx.c      | 4 ++--\n drivers/net/fm10k/fm10k.h            | 2 --\n drivers/net/fm10k/fm10k_ethdev.c     | 2 +-\n drivers/net/hinic/hinic_pmd_ethdev.h | 3 +--\n drivers/net/i40e/i40e_ethdev.h       | 4 +---\n drivers/net/iavf/iavf.h              | 3 +--\n drivers/net/ice/ice_dcf_ethdev.c     | 2 +-\n drivers/net/ice/ice_ethdev.h         | 4 +---\n drivers/net/ipn3ke/ipn3ke_ethdev.h   | 3 +--\n drivers/net/ixgbe/ixgbe_ethdev.c     | 4 ++--\n drivers/net/ixgbe/ixgbe_ethdev.h     | 1 -\n drivers/net/ixgbe/ixgbe_rxtx.c       | 4 ++--\n drivers/net/ngbe/ngbe_ethdev.c       | 2 +-\n drivers/net/ngbe/ngbe_ethdev.h       | 1 -\n drivers/net/ngbe/ngbe_rxtx.c         | 2 +-\n drivers/net/txgbe/txgbe_ethdev.c     | 2 +-\n drivers/net/txgbe/txgbe_ethdev.h     | 1 -\n drivers/net/txgbe/txgbe_ethdev_vf.c  | 2 +-\n drivers/net/txgbe/txgbe_rxtx.c       | 4 ++--\n examples/vhost/main.c                | 3 +--\n lib/net/rte_ether.h                  | 5 +++--\n 26 files changed, 25 insertions(+), 41 deletions(-)",
    "diff": "diff --git a/drivers/net/bnx2x/bnx2x_vfpf.c b/drivers/net/bnx2x/bnx2x_vfpf.c\nindex 0e8a92cd336e..945e3df84ff8 100644\n--- a/drivers/net/bnx2x/bnx2x_vfpf.c\n+++ b/drivers/net/bnx2x/bnx2x_vfpf.c\n@@ -54,7 +54,7 @@ bnx2x_check_bull(struct bnx2x_softc *sc)\n \tif (valid_bitmap & (1 << MAC_ADDR_VALID) && memcmp(bull->mac, sc->old_bulletin.mac, ETH_ALEN))\n \t\trte_memcpy(&sc->link_params.mac_addr, bull->mac, ETH_ALEN);\n \tif (valid_bitmap & (1 << VLAN_VALID))\n-\t\trte_memcpy(&bull->vlan, &sc->old_bulletin.vlan, VLAN_HLEN);\n+\t\trte_memcpy(&bull->vlan, &sc->old_bulletin.vlan, RTE_VLAN_HLEN);\n \n \tsc->old_bulletin = *bull;\n \ndiff --git a/drivers/net/bnx2x/bnx2x_vfpf.h b/drivers/net/bnx2x/bnx2x_vfpf.h\nindex 7aab8b101aaa..957734126687 100644\n--- a/drivers/net/bnx2x/bnx2x_vfpf.h\n+++ b/drivers/net/bnx2x/bnx2x_vfpf.h\n@@ -10,8 +10,6 @@\n \n #include \"ecore_sp.h\"\n \n-#define VLAN_HLEN 4\n-\n struct vf_resource_query {\n \tuint8_t num_rxqs;\n \tuint8_t num_txqs;\ndiff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h\nindex 83ae1c2e5a83..8d3737fc6100 100644\n--- a/drivers/net/cxgbe/cxgbe_compat.h\n+++ b/drivers/net/cxgbe/cxgbe_compat.h\n@@ -75,7 +75,6 @@ extern int cxgbe_mbox_logtype;\n #define CXGBE_ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1))\n #define PTR_ALIGN(p, a) ((typeof(p))CXGBE_ALIGN((unsigned long)(p), (a)))\n \n-#define VLAN_HLEN 4\n #define ETHER_ADDR_LEN 6\n \n #define rmb()     rte_rmb() /* dpdk rte provided rmb */\ndiff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c\nindex 9e464cb3da9f..f623f3e68420 100644\n--- a/drivers/net/cxgbe/sge.c\n+++ b/drivers/net/cxgbe/sge.c\n@@ -72,7 +72,7 @@ static inline unsigned int fl_mtu_bufsize(struct adapter *adapter,\n {\n \tstruct sge *s = &adapter->sge;\n \n-\treturn CXGBE_ALIGN(s->pktshift + RTE_ETHER_HDR_LEN + VLAN_HLEN + mtu,\n+\treturn CXGBE_ALIGN(s->pktshift + RTE_ETHER_HDR_LEN + RTE_VLAN_HLEN + mtu,\n \t\t\t   s->fl_align);\n }\n \ndiff --git a/drivers/net/enetfec/enet_ethdev.h b/drivers/net/enetfec/enet_ethdev.h\nindex 798b6eee05bd..573b0672cd65 100644\n--- a/drivers/net/enetfec/enet_ethdev.h\n+++ b/drivers/net/enetfec/enet_ethdev.h\n@@ -10,7 +10,6 @@\n #define BD_LEN\t\t\t49152\n #define ENETFEC_TX_FR_SIZE\t2048\n #define ETH_HLEN\t\tRTE_ETHER_HDR_LEN\n-#define VLAN_HLEN\t\t4\n \n /* full duplex */\n #define FULL_DUPLEX\t\t0x00\ndiff --git a/drivers/net/enetfec/enet_rxtx.c b/drivers/net/enetfec/enet_rxtx.c\nindex eac5ccf69bb7..49b326315dde 100644\n--- a/drivers/net/enetfec/enet_rxtx.c\n+++ b/drivers/net/enetfec/enet_rxtx.c\n@@ -111,9 +111,9 @@ enetfec_recv_pkts(void *rxq1, struct rte_mbuf **rx_pkts,\n \t\t\tvlan_tag = rte_be_to_cpu_16(vlan_header->vlan_tci);\n \n \t\t\tvlan_packet_rcvd = true;\n-\t\t\tmemmove((uint8_t *)mbuf_data + VLAN_HLEN,\n+\t\t\tmemmove((uint8_t *)mbuf_data + RTE_VLAN_HLEN,\n \t\t\t\tdata, RTE_ETHER_ADDR_LEN * 2);\n-\t\t\trte_pktmbuf_adj(mbuf, VLAN_HLEN);\n+\t\t\trte_pktmbuf_adj(mbuf, RTE_VLAN_HLEN);\n \t\t}\n \n \t\tif (rxq->fep->bufdesc_ex &&\ndiff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h\nindex b7522a47a80b..7cfa29faa85a 100644\n--- a/drivers/net/fm10k/fm10k.h\n+++ b/drivers/net/fm10k/fm10k.h\n@@ -81,8 +81,6 @@\n \tRTE_MIN(((txq)->nb_desc - 2), (txq)->free_thresh)\n #define FM10K_TX_RS_THRESH_DIV(txq)        ((txq)->nb_desc)\n \n-#define FM10K_VLAN_TAG_SIZE 4\n-\n /* Maximum number of MAC addresses per PF/VF */\n #define FM10K_MAX_MACADDR_NUM       64\n \ndiff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c\nindex c25c32314065..7c85a057466a 100644\n--- a/drivers/net/fm10k/fm10k_ethdev.c\n+++ b/drivers/net/fm10k/fm10k_ethdev.c\n@@ -759,7 +759,7 @@ fm10k_dev_rx_init(struct rte_eth_dev *dev)\n \n \t\t/* It adds dual VLAN length for supporting dual VLAN */\n \t\tif ((dev->data->mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN +\n-\t\t\t\t2 * FM10K_VLAN_TAG_SIZE) > buf_size ||\n+\t\t\t\t2 * RTE_VLAN_HLEN) > buf_size ||\n \t\t\trxq->offloads & RTE_ETH_RX_OFFLOAD_SCATTER) {\n \t\t\tuint32_t reg;\n \t\t\tdev->data->scattered_rx = 1;\ndiff --git a/drivers/net/hinic/hinic_pmd_ethdev.h b/drivers/net/hinic/hinic_pmd_ethdev.h\nindex 8f1b3d58886f..5eca8b10b9e1 100644\n--- a/drivers/net/hinic/hinic_pmd_ethdev.h\n+++ b/drivers/net/hinic/hinic_pmd_ethdev.h\n@@ -35,9 +35,8 @@\n #define HINIC_MAX_MTU_SIZE              9600\n #define HINIC_MIN_MTU_SIZE              256\n \n-#define HINIC_VLAN_TAG_SIZE             4\n #define HINIC_ETH_OVERHEAD \\\n-\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + HINIC_VLAN_TAG_SIZE * 2)\n+\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)\n \n #define HINIC_MIN_FRAME_SIZE        (HINIC_MIN_MTU_SIZE + HINIC_ETH_OVERHEAD)\n #define HINIC_MAX_JUMBO_FRAME_SIZE  (HINIC_MAX_MTU_SIZE + HINIC_ETH_OVERHEAD)\ndiff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h\nindex d8042abbd9be..2d182f8000a6 100644\n--- a/drivers/net/i40e/i40e_ethdev.h\n+++ b/drivers/net/i40e/i40e_ethdev.h\n@@ -27,8 +27,6 @@\n  */\n #define I40E_GL_RXERR1_H(_i)\t(0x00318004 + ((_i) * 8))\n \n-#define I40E_VLAN_TAG_SIZE        4\n-\n #define I40E_AQ_LEN               32\n #define I40E_AQ_BUF_SZ            4096\n /* Number of queues per TC should be one of 1, 2, 4, 8, 16, 32, 64 */\n@@ -292,7 +290,7 @@ struct rte_flow {\n  * Considering QinQ packet, the VLAN tag needs to be counted twice.\n  */\n #define I40E_ETH_OVERHEAD \\\n-\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + I40E_VLAN_TAG_SIZE * 2)\n+\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)\n #define I40E_ETH_MAX_LEN (RTE_ETHER_MTU + I40E_ETH_OVERHEAD)\n \n #define I40E_RXTX_BYTES_H_16_BIT(bytes) ((bytes) & ~I40E_48_BIT_MASK)\ndiff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h\nindex f413dbed833a..0bb5698583ba 100644\n--- a/drivers/net/iavf/iavf.h\n+++ b/drivers/net/iavf/iavf.h\n@@ -78,9 +78,8 @@\n /* The overhead from MTU to max frame size.\n  * Considering QinQ packet, the VLAN tag needs to be counted twice.\n  */\n-#define IAVF_VLAN_TAG_SIZE               4\n #define IAVF_ETH_OVERHEAD \\\n-\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + IAVF_VLAN_TAG_SIZE * 2)\n+\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)\n #define IAVF_ETH_MAX_LEN (RTE_ETHER_MTU + IAVF_ETH_OVERHEAD)\n \n #define IAVF_32_BIT_WIDTH (CHAR_BIT * 4)\ndiff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c\nindex d1e675764127..28f7f7fb72c4 100644\n--- a/drivers/net/ice/ice_dcf_ethdev.c\n+++ b/drivers/net/ice/ice_dcf_ethdev.c\n@@ -81,7 +81,7 @@ ice_dcf_init_rxq(struct rte_eth_dev *dev, struct ice_rx_queue *rxq)\n \n \trxq->max_pkt_len = max_pkt_len;\n \tif ((dev_data->dev_conf.rxmode.offloads & RTE_ETH_RX_OFFLOAD_SCATTER) ||\n-\t    (rxq->max_pkt_len + 2 * ICE_VLAN_TAG_SIZE) > buf_size) {\n+\t    (rxq->max_pkt_len + 2 * RTE_VLAN_HLEN) > buf_size) {\n \t\tdev_data->scattered_rx = 1;\n \t}\n \trxq->qrx_tail = hw->hw_addr + IAVF_QRX_TAIL1(rxq->queue_id);\ndiff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h\nindex f8d0f0c6ee26..11f7eb435233 100644\n--- a/drivers/net/ice/ice_ethdev.h\n+++ b/drivers/net/ice/ice_ethdev.h\n@@ -14,8 +14,6 @@\n #include \"base/ice_adminq_cmd.h\"\n #include \"base/ice_flow.h\"\n \n-#define ICE_VLAN_TAG_SIZE        4\n-\n #define ICE_ADMINQ_LEN               32\n #define ICE_SBIOQ_LEN                32\n #define ICE_MAILBOXQ_LEN             32\n@@ -136,7 +134,7 @@\n  * Considering QinQ packet, the VLAN tag needs to be counted twice.\n  */\n #define ICE_ETH_OVERHEAD \\\n-\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + ICE_VLAN_TAG_SIZE * 2)\n+\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)\n #define ICE_ETH_MAX_LEN (RTE_ETHER_MTU + ICE_ETH_OVERHEAD)\n \n #define ICE_RXTX_BYTES_HIGH(bytes) ((bytes) & ~ICE_40_BIT_MASK)\ndiff --git a/drivers/net/ipn3ke/ipn3ke_ethdev.h b/drivers/net/ipn3ke/ipn3ke_ethdev.h\nindex ba3f8821e235..041f13d9c365 100644\n--- a/drivers/net/ipn3ke/ipn3ke_ethdev.h\n+++ b/drivers/net/ipn3ke/ipn3ke_ethdev.h\n@@ -633,13 +633,12 @@ ipn3ke_tm_ops_get(struct rte_eth_dev *ethdev,\n #define IPN3KE_MAC_RX_FRAME_CONTROL_EN_ALLMCAST_MASK \\\n \tIPN3KE_MASK(0x1, IPN3KE_MAC_RX_FRAME_CONTROL_EN_ALLMCAST_SHIFT)\n \n-#define IPN3KE_VLAN_TAG_SIZE    4\n /**\n  * The overhead from MTU to max frame size.\n  * Considering QinQ packet, the VLAN tag needs to be counted twice.\n  */\n #define IPN3KE_ETH_OVERHEAD \\\n-\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + IPN3KE_VLAN_TAG_SIZE * 2)\n+\t(RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + RTE_VLAN_HLEN * 2)\n #define IPN3KE_ETH_MAX_LEN (RTE_ETHER_MTU + IPN3KE_ETH_OVERHEAD)\n \n #define IPN3KE_MAC_FRAME_SIZE_MAX    9728\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c\nindex 1911cf2fab05..fe61dba81d68 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.c\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.c\n@@ -5173,7 +5173,7 @@ ixgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)\n \t * scattered packets when this feature has not been enabled before.\n \t */\n \tif (dev->data->dev_started && !dev->data->scattered_rx &&\n-\t    frame_size + 2 * IXGBE_VLAN_TAG_SIZE >\n+\t    frame_size + 2 * RTE_VLAN_HLEN >\n \t\t\tdev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM) {\n \t\tPMD_INIT_LOG(ERR, \"Stop port first.\");\n \t\treturn -EINVAL;\n@@ -6341,7 +6341,7 @@ ixgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)\n \t * scattered packets when this feature has not been enabled before.\n \t */\n \tif (dev_data->dev_started && !dev_data->scattered_rx &&\n-\t    (max_frame + 2 * IXGBE_VLAN_TAG_SIZE >\n+\t    (max_frame + 2 * RTE_VLAN_HLEN >\n \t\t\tdev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {\n \t\tPMD_INIT_LOG(ERR, \"Stop port first.\");\n \t\treturn -EINVAL;\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h\nindex 876b670f2682..83e8b5e56a6f 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.h\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.h\n@@ -43,7 +43,6 @@\n #define IXGBE_NB_STAT_MAPPING_REGS  32\n #define IXGBE_EXTENDED_VLAN\t  (uint32_t)(1 << 26) /* EXTENDED VLAN ENABLE */\n #define IXGBE_VFTA_SIZE 128\n-#define IXGBE_VLAN_TAG_SIZE 4\n #define IXGBE_HKEY_MAX_INDEX 10\n #define IXGBE_MAX_RX_QUEUE_NUM\t128\n #define IXGBE_MAX_INTR_QUEUE_NUM\t15\ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c\nindex cd259430461a..d7c80d424263 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.c\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.c\n@@ -5153,7 +5153,7 @@ ixgbe_dev_rx_init(struct rte_eth_dev *dev)\n \t\t\t\t       IXGBE_SRRCTL_BSIZEPKT_SHIFT);\n \n \t\t/* It adds dual VLAN length for supporting dual VLAN */\n-\t\tif (frame_size + 2 * IXGBE_VLAN_TAG_SIZE > buf_size)\n+\t\tif (frame_size + 2 * RTE_VLAN_HLEN > buf_size)\n \t\t\tdev->data->scattered_rx = 1;\n \t\tif (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)\n \t\t\trx_conf->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;\n@@ -5729,7 +5729,7 @@ ixgbevf_dev_rx_init(struct rte_eth_dev *dev)\n \n \t\tif (rxmode->offloads & RTE_ETH_RX_OFFLOAD_SCATTER ||\n \t\t    /* It adds dual VLAN length for supporting dual VLAN */\n-\t\t    (frame_size + 2 * IXGBE_VLAN_TAG_SIZE) > buf_size) {\n+\t\t    (frame_size + 2 * RTE_VLAN_HLEN) > buf_size) {\n \t\t\tif (!dev->data->scattered_rx)\n \t\t\t\tPMD_INIT_LOG(DEBUG, \"forcing scatter mode\");\n \t\t\tdev->data->scattered_rx = 1;\ndiff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c\nindex 775789f59607..981592f7f495 100644\n--- a/drivers/net/ngbe/ngbe_ethdev.c\n+++ b/drivers/net/ngbe/ngbe_ethdev.c\n@@ -2488,7 +2488,7 @@ ngbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)\n \t * scattered packets when this feature has not been enabled before.\n \t */\n \tif (dev_data->dev_started && !dev_data->scattered_rx &&\n-\t    (frame_size + 2 * NGBE_VLAN_TAG_SIZE >\n+\t    (frame_size + 2 * RTE_VLAN_HLEN >\n \t     dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {\n \t\tPMD_INIT_LOG(ERR, \"Stop port first.\");\n \t\treturn -EINVAL;\ndiff --git a/drivers/net/ngbe/ngbe_ethdev.h b/drivers/net/ngbe/ngbe_ethdev.h\nindex c68582e5aea5..bb96f6a5e7e0 100644\n--- a/drivers/net/ngbe/ngbe_ethdev.h\n+++ b/drivers/net/ngbe/ngbe_ethdev.h\n@@ -19,7 +19,6 @@\n #define NGBE_FLAG_NEED_LINK_CONFIG  ((uint32_t)(1 << 4))\n \n #define NGBE_VFTA_SIZE 128\n-#define NGBE_VLAN_TAG_SIZE 4\n #define NGBE_HKEY_MAX_INDEX 10\n /*Default value of Max Rx Queue*/\n #define NGBE_MAX_RX_QUEUE_NUM\t8\ndiff --git a/drivers/net/ngbe/ngbe_rxtx.c b/drivers/net/ngbe/ngbe_rxtx.c\nindex 0feea92588a1..86a5ef5486ec 100644\n--- a/drivers/net/ngbe/ngbe_rxtx.c\n+++ b/drivers/net/ngbe/ngbe_rxtx.c\n@@ -2951,7 +2951,7 @@ ngbe_dev_rx_init(struct rte_eth_dev *dev)\n \n \t\t/* It adds dual VLAN length for supporting dual VLAN */\n \t\tif (dev->data->mtu + NGBE_ETH_OVERHEAD +\n-\t\t\t\t2 * NGBE_VLAN_TAG_SIZE > buf_size)\n+\t\t\t\t2 * RTE_VLAN_HLEN > buf_size)\n \t\t\tdev->data->scattered_rx = 1;\n \t\tif (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)\n \t\t\trx_conf->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;\ndiff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c\nindex 04afc6134142..47d0e6ea40f2 100644\n--- a/drivers/net/txgbe/txgbe_ethdev.c\n+++ b/drivers/net/txgbe/txgbe_ethdev.c\n@@ -3461,7 +3461,7 @@ txgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)\n \t * scattered packets when this feature has not been enabled before.\n \t */\n \tif (dev_data->dev_started && !dev_data->scattered_rx &&\n-\t    (frame_size + 2 * TXGBE_VLAN_TAG_SIZE >\n+\t    (frame_size + 2 * RTE_VLAN_HLEN >\n \t     dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {\n \t\tPMD_INIT_LOG(ERR, \"Stop port first.\");\n \t\treturn -EINVAL;\ndiff --git a/drivers/net/txgbe/txgbe_ethdev.h b/drivers/net/txgbe/txgbe_ethdev.h\nindex 8304b68292da..262dbb5e38ff 100644\n--- a/drivers/net/txgbe/txgbe_ethdev.h\n+++ b/drivers/net/txgbe/txgbe_ethdev.h\n@@ -36,7 +36,6 @@\n  * FreeBSD driver.\n  */\n #define TXGBE_VFTA_SIZE 128\n-#define TXGBE_VLAN_TAG_SIZE 4\n #define TXGBE_HKEY_MAX_INDEX 10\n /*Default value of Max Rx Queue*/\n #define TXGBE_MAX_RX_QUEUE_NUM\t128\ndiff --git a/drivers/net/txgbe/txgbe_ethdev_vf.c b/drivers/net/txgbe/txgbe_ethdev_vf.c\nindex 67ae69dec30a..c7c298ae2d02 100644\n--- a/drivers/net/txgbe/txgbe_ethdev_vf.c\n+++ b/drivers/net/txgbe/txgbe_ethdev_vf.c\n@@ -1111,7 +1111,7 @@ txgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)\n \t * scattered packets when this feature has not been enabled before.\n \t */\n \tif (dev_data->dev_started && !dev_data->scattered_rx &&\n-\t    (max_frame + 2 * TXGBE_VLAN_TAG_SIZE >\n+\t    (max_frame + 2 * RTE_VLAN_HLEN >\n \t     dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)) {\n \t\tPMD_INIT_LOG(ERR, \"Stop port first.\");\n \t\treturn -EINVAL;\ndiff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c\nindex 497af8d22d23..35b77cb271ba 100644\n--- a/drivers/net/txgbe/txgbe_rxtx.c\n+++ b/drivers/net/txgbe/txgbe_rxtx.c\n@@ -4389,7 +4389,7 @@ txgbe_dev_rx_init(struct rte_eth_dev *dev)\n \n \t\t/* It adds dual VLAN length for supporting dual VLAN */\n \t\tif (dev->data->mtu + TXGBE_ETH_OVERHEAD +\n-\t\t\t\t2 * TXGBE_VLAN_TAG_SIZE > buf_size)\n+\t\t\t\t2 * RTE_VLAN_HLEN > buf_size)\n \t\t\tdev->data->scattered_rx = 1;\n \t\tif (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)\n \t\t\trx_conf->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_STRIP;\n@@ -4906,7 +4906,7 @@ txgbevf_dev_rx_init(struct rte_eth_dev *dev)\n \t\tif (rxmode->offloads & RTE_ETH_RX_OFFLOAD_SCATTER ||\n \t\t    /* It adds dual VLAN length for supporting dual VLAN */\n \t\t    (dev->data->mtu + TXGBE_ETH_OVERHEAD +\n-\t\t\t\t2 * TXGBE_VLAN_TAG_SIZE) > buf_size) {\n+\t\t\t\t2 * RTE_VLAN_HLEN) > buf_size) {\n \t\t\tif (!dev->data->scattered_rx)\n \t\t\t\tPMD_INIT_LOG(DEBUG, \"forcing scatter mode\");\n \t\t\tdev->data->scattered_rx = 1;\ndiff --git a/examples/vhost/main.c b/examples/vhost/main.c\nindex 8bf61b32b669..33d023aa3973 100644\n--- a/examples/vhost/main.c\n+++ b/examples/vhost/main.c\n@@ -195,7 +195,6 @@ struct vhost_bufftable *vhost_txbuff[RTE_MAX_LCORE * MAX_VHOST_DEVICE];\n \n #define MBUF_TABLE_DRAIN_TSC\t((rte_get_tsc_hz() + US_PER_S - 1) \\\n \t\t\t\t / US_PER_S * BURST_TX_DRAIN_US)\n-#define VLAN_HLEN       4\n \n static inline int\n open_dma(const char *value)\n@@ -1015,7 +1014,7 @@ find_local_dest(struct vhost_dev *vdev, struct rte_mbuf *m,\n \t * by minus length of vlan tag, so need restore\n \t * the packet length by plus it.\n \t */\n-\t*offset  = VLAN_HLEN;\n+\t*offset  = RTE_VLAN_HLEN;\n \t*vlan_tag = vlan_tags[vdev->vid];\n \n \tRTE_LOG_DP(DEBUG, VHOST_DATA,\ndiff --git a/lib/net/rte_ether.h b/lib/net/rte_ether.h\nindex 1a0dbf0d607c..3d9852d9e29a 100644\n--- a/lib/net/rte_ether.h\n+++ b/lib/net/rte_ether.h\n@@ -35,9 +35,10 @@ extern \"C\" {\n \t(RTE_ETHER_MAX_LEN - RTE_ETHER_HDR_LEN - \\\n \t\tRTE_ETHER_CRC_LEN) /**< Ethernet MTU. */\n \n+#define RTE_VLAN_HLEN       4  /**< VLAN (IEEE 802.1Q) header length. */\n+/** Maximum VLAN frame length (excluding QinQ), including CRC. */\n #define RTE_ETHER_MAX_VLAN_FRAME_LEN \\\n-\t(RTE_ETHER_MAX_LEN + 4)\n-\t/**< Maximum VLAN frame length, including CRC. */\n+\t(RTE_ETHER_MAX_LEN + RTE_VLAN_HLEN)\n \n #define RTE_ETHER_MAX_JUMBO_FRAME_LEN \\\n \t0x3F00 /**< Maximum Jumbo frame length, including CRC. */\n",
    "prefixes": [
        "v2"
    ]
}