get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 98960,
    "url": "http://patchwork.dpdk.org/api/patches/98960/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20210915214052.143098-6-dmitry.kozliuk@gmail.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": "<20210915214052.143098-6-dmitry.kozliuk@gmail.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210915214052.143098-6-dmitry.kozliuk@gmail.com",
    "date": "2021-09-15T21:40:52",
    "name": "[5/5] net: rename Ethernet header fields",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "0b49e73a5c6b1703f05f5100dc1e136cbfa74674",
    "submitter": {
        "id": 1581,
        "url": "http://patchwork.dpdk.org/api/people/1581/?format=api",
        "name": "Dmitry Kozlyuk",
        "email": "dmitry.kozliuk@gmail.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/20210915214052.143098-6-dmitry.kozliuk@gmail.com/mbox/",
    "series": [
        {
            "id": 18953,
            "url": "http://patchwork.dpdk.org/api/series/18953/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=18953",
            "date": "2021-09-15T21:40:47",
            "name": "lib: Windows compatibility renaming",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/18953/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/98960/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/98960/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 2851CA0C41;\n\tWed, 15 Sep 2021 23:41:35 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id EDDAF410F8;\n\tWed, 15 Sep 2021 23:41:12 +0200 (CEST)",
            "from mail-lf1-f49.google.com (mail-lf1-f49.google.com\n [209.85.167.49]) by mails.dpdk.org (Postfix) with ESMTP id DA5A84111D\n for <dev@dpdk.org>; Wed, 15 Sep 2021 23:41:10 +0200 (CEST)",
            "by mail-lf1-f49.google.com with SMTP id m3so8159192lfu.2\n for <dev@dpdk.org>; Wed, 15 Sep 2021 14:41:10 -0700 (PDT)",
            "from sovereign.. (broadband-37-110-65-23.ip.moscow.rt.ru.\n [37.110.65.23])\n by smtp.gmail.com with ESMTPSA id o4sm85989lfi.16.2021.09.15.14.41.06\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 15 Sep 2021 14:41:06 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=NeJZuZMQ3VtmJG5aHSijKuU+maODocVqNfZ3VrWHGCI=;\n b=XZgetonG7oWKWCvkjtaLqqLrWgCmrN7ZgPYd+6RpsxmwwM2z9tBzLPrDBb2t0/GTeq\n oDyZr4NRKRZhXgCg8F5qB9+kh6KVJk9x47BDxMMnV8j1w8Whhx5znGrxHQzYNkf9z9aX\n B9poEL60HVkmpmr5j9pqll+ujeeTJYqbsOvHAeFRFTPqAdEaLM37wPMoH3pj/2nWL/PL\n fYF7ZkYlwCPt4CqQ8/JKN/CzfQ19Z2Yt6YUPTTYfGKp/mt0heo1r/RthFXiz5rdSX+I/\n vkO3sp3M3Y5tI4bM+w4ykZEY9gxhf/eLQTvDOZYkltnyhLdmLsajCGK91/wkroly3wId\n 00FA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=NeJZuZMQ3VtmJG5aHSijKuU+maODocVqNfZ3VrWHGCI=;\n b=gI2jGeNmPFDHXL8CgVVwvHK9oVKMFTc3FqnckmpOkhmcUrVOFS4G85lTeAsUZOqmK7\n 36iQ9or01AcNrqv2fnHEJIvDENf9NuzqWs2HJGImkhBblabY8S4GXZ7rIpnDJHmK36GI\n qH5/tQvTEcjI7+jHhODUWK1C1qHqurcwc/vBFEZ95eJvV4H0KT2d1nXhas0Qk56VgSNj\n rQwvGKxBxGv7goCPvd2Z+kVLWiDHullT15SFzeUTcPNDCNmXYNIWn4bDvI6JS8wijRMf\n k+H445kSJtNOHrFBzL5HTQLTFL52L1tEYFizhl/azTrdDUQokFPE+jgWzVAM6lCHBrId\n 9cVw==",
        "X-Gm-Message-State": "AOAM533WnMnZXEXgrV4QrOlxzDdCo9dVkoDbZ6IS3Sn3YHHt7Xy4ghHy\n qgInrf28ptoP0l3Q+/Xq7dCLYLLAI9eTGg==",
        "X-Google-Smtp-Source": "\n ABdhPJythBPVclnismDL0vpbFN2usEBpFfnWEI5nfFoGbcbEuhASqMmeLKICy50K55RnxoZ74dmglA==",
        "X-Received": "by 2002:a05:6512:c12:: with SMTP id\n z18mr1512005lfu.335.1631742069018;\n Wed, 15 Sep 2021 14:41:09 -0700 (PDT)",
        "From": "Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>",
        "To": "dev@dpdk.org",
        "Cc": "Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>,\n Ferruh Yigit <ferruh.yigit@intel.com>,\n Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,\n Olivier Matz <olivier.matz@6wind.com>,\n Pallavi Kadam <pallavi.kadam@intel.com>, Ray Kinsella <mdr@ashroe.eu>,\n Tyler Retzlaff <roretzla@linux.microsoft.com>",
        "Date": "Thu, 16 Sep 2021 00:40:52 +0300",
        "Message-Id": "<20210915214052.143098-6-dmitry.kozliuk@gmail.com>",
        "X-Mailer": "git-send-email 2.29.3",
        "In-Reply-To": "<20210915214052.143098-1-dmitry.kozliuk@gmail.com>",
        "References": "<20210915214052.143098-1-dmitry.kozliuk@gmail.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 5/5] net: rename Ethernet header fields",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Definition of `rte_ether_addr` structure used a workaround allowing DPDK\nand Windows SDK headers to be used in the same file, because Windows SDK\ndefines `s_addr` as a macro. Rename `s_addr` to `src_addr` and `d_addr`\nto `dst_addr` to avoid the conflict and remove the workaround.\nDeprecation notice:\nhttps://mails.dpdk.org/archives/dev/2021-July/215270.html\n\nSigned-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>\n---\n app/test-pmd/5tswap.c                         |  6 +--\n app/test-pmd/csumonly.c                       |  4 +-\n app/test-pmd/flowgen.c                        |  4 +-\n app/test-pmd/icmpecho.c                       | 16 ++++----\n app/test-pmd/ieee1588fwd.c                    |  6 +--\n app/test-pmd/macfwd.c                         |  4 +-\n app/test-pmd/macswap.h                        |  4 +-\n app/test-pmd/txonly.c                         |  4 +-\n app/test-pmd/util.c                           |  4 +-\n app/test/packet_burst_generator.c             |  4 +-\n app/test/test_bpf.c                           |  4 +-\n app/test/test_link_bonding_mode4.c            | 15 +++----\n doc/guides/rel_notes/deprecation.rst          |  3 --\n doc/guides/rel_notes/release_20_11.rst        |  3 ++\n drivers/net/avp/avp_ethdev.c                  |  6 +--\n drivers/net/bnx2x/bnx2x.c                     | 16 ++++----\n drivers/net/bonding/rte_eth_bond_8023ad.c     |  6 +--\n drivers/net/bonding/rte_eth_bond_alb.c        |  4 +-\n drivers/net/bonding/rte_eth_bond_pmd.c        | 22 +++++-----\n drivers/net/enic/enic_flow.c                  |  8 ++--\n drivers/net/mlx5/mlx5_txpp.c                  |  4 +-\n examples/bond/main.c                          | 14 ++++---\n examples/ethtool/ethtool-app/main.c           |  4 +-\n examples/eventdev_pipeline/pipeline_common.h  |  4 +-\n examples/flow_filtering/main.c                |  4 +-\n examples/ioat/ioatfwd.c                       |  4 +-\n examples/ip_fragmentation/main.c              |  4 +-\n examples/ip_reassembly/main.c                 |  4 +-\n examples/ipsec-secgw/ipsec-secgw.c            |  4 +-\n examples/ipsec-secgw/ipsec_worker.c           |  4 +-\n examples/ipv4_multicast/main.c                |  4 +-\n examples/l2fwd-crypto/main.c                  |  4 +-\n examples/l2fwd-event/l2fwd_common.h           |  4 +-\n examples/l2fwd-jobstats/main.c                |  4 +-\n examples/l2fwd-keepalive/main.c               |  4 +-\n examples/l2fwd/main.c                         |  4 +-\n examples/l3fwd-acl/main.c                     | 19 +++++----\n examples/l3fwd-power/main.c                   |  6 +--\n examples/l3fwd/l3fwd_em.h                     |  4 +-\n examples/l3fwd/l3fwd_fib.c                    |  2 +-\n examples/l3fwd/l3fwd_lpm.c                    |  2 +-\n examples/l3fwd/l3fwd_lpm.h                    |  4 +-\n examples/link_status_interrupt/main.c         |  4 +-\n .../performance-thread/l3fwd-thread/main.c    | 40 +++++++++----------\n examples/ptpclient/ptpclient.c                | 16 ++++----\n examples/vhost/main.c                         | 10 ++---\n examples/vmdq/main.c                          |  4 +-\n examples/vmdq_dcb/main.c                      |  4 +-\n lib/ethdev/rte_flow.h                         |  4 +-\n lib/gro/gro_tcp4.c                            |  4 +-\n lib/gro/gro_udp4.c                            |  4 +-\n lib/gro/gro_vxlan_tcp4.c                      |  8 ++--\n lib/gro/gro_vxlan_udp4.c                      |  8 ++--\n lib/net/rte_arp.c                             |  4 +-\n lib/net/rte_ether.h                           | 22 +---------\n lib/pipeline/rte_table_action.c               | 40 +++++++++----------\n 56 files changed, 207 insertions(+), 219 deletions(-)",
    "diff": "diff --git a/app/test-pmd/5tswap.c b/app/test-pmd/5tswap.c\nindex e8cef9623b..629d3e0d31 100644\n--- a/app/test-pmd/5tswap.c\n+++ b/app/test-pmd/5tswap.c\n@@ -27,9 +27,9 @@ swap_mac(struct rte_ether_hdr *eth_hdr)\n \tstruct rte_ether_addr addr;\n \n \t/* Swap dest and src mac addresses. */\n-\trte_ether_addr_copy(&eth_hdr->d_addr, &addr);\n-\trte_ether_addr_copy(&eth_hdr->s_addr, &eth_hdr->d_addr);\n-\trte_ether_addr_copy(&addr, &eth_hdr->s_addr);\n+\trte_ether_addr_copy(&eth_hdr->dst_addr, &addr);\n+\trte_ether_addr_copy(&eth_hdr->src_addr, &eth_hdr->dst_addr);\n+\trte_ether_addr_copy(&addr, &eth_hdr->src_addr);\n }\n \n static inline void\ndiff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c\nindex 38cc256533..090797318a 100644\n--- a/app/test-pmd/csumonly.c\n+++ b/app/test-pmd/csumonly.c\n@@ -873,9 +873,9 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)\n \n \t\teth_hdr = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \t\trte_ether_addr_copy(&peer_eth_addrs[fs->peer_addr],\n-\t\t\t\t&eth_hdr->d_addr);\n+\t\t\t\t&eth_hdr->dst_addr);\n \t\trte_ether_addr_copy(&ports[fs->tx_port].eth_addr,\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \t\tparse_ethernet(eth_hdr, &info);\n \t\tl3_hdr = (char *)eth_hdr + info.l2_len;\n \ndiff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c\nindex 9348618d0f..3f3378a444 100644\n--- a/app/test-pmd/flowgen.c\n+++ b/app/test-pmd/flowgen.c\n@@ -123,8 +123,8 @@ pkt_burst_flow_gen(struct fwd_stream *fs)\n \n \t\t\t/* Initialize Ethernet header. */\n \t\t\teth_hdr = rte_pktmbuf_mtod(pkt, struct rte_ether_hdr *);\n-\t\t\trte_ether_addr_copy(&cfg_ether_dst, &eth_hdr->d_addr);\n-\t\t\trte_ether_addr_copy(&cfg_ether_src, &eth_hdr->s_addr);\n+\t\t\trte_ether_addr_copy(&cfg_ether_dst, &eth_hdr->dst_addr);\n+\t\t\trte_ether_addr_copy(&cfg_ether_src, &eth_hdr->src_addr);\n \t\t\teth_hdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4);\n \n \t\t\t/* Initialize IP header. */\ndiff --git a/app/test-pmd/icmpecho.c b/app/test-pmd/icmpecho.c\nindex 8948f28eb5..8f1d68a83a 100644\n--- a/app/test-pmd/icmpecho.c\n+++ b/app/test-pmd/icmpecho.c\n@@ -319,8 +319,8 @@ reply_to_icmp_echo_rqsts(struct fwd_stream *fs)\n \t\tif (verbose_level > 0) {\n \t\t\tprintf(\"\\nPort %d pkt-len=%u nb-segs=%u\\n\",\n \t\t\t       fs->rx_port, pkt->pkt_len, pkt->nb_segs);\n-\t\t\tether_addr_dump(\"  ETH:  src=\", &eth_h->s_addr);\n-\t\t\tether_addr_dump(\" dst=\", &eth_h->d_addr);\n+\t\t\tether_addr_dump(\"  ETH:  src=\", &eth_h->src_addr);\n+\t\t\tether_addr_dump(\" dst=\", &eth_h->dst_addr);\n \t\t}\n \t\tif (eth_type == RTE_ETHER_TYPE_VLAN) {\n \t\t\tvlan_h = (struct rte_vlan_hdr *)\n@@ -385,17 +385,17 @@ reply_to_icmp_echo_rqsts(struct fwd_stream *fs)\n \t\t\t */\n \n \t\t\t/* Use source MAC address as destination MAC address. */\n-\t\t\trte_ether_addr_copy(&eth_h->s_addr, &eth_h->d_addr);\n+\t\t\trte_ether_addr_copy(&eth_h->src_addr, &eth_h->dst_addr);\n \t\t\t/* Set source MAC address with MAC address of TX port */\n \t\t\trte_ether_addr_copy(&ports[fs->tx_port].eth_addr,\n-\t\t\t\t\t&eth_h->s_addr);\n+\t\t\t\t\t&eth_h->src_addr);\n \n \t\t\tarp_h->arp_opcode = rte_cpu_to_be_16(RTE_ARP_OP_REPLY);\n \t\t\trte_ether_addr_copy(&arp_h->arp_data.arp_tha,\n \t\t\t\t\t&eth_addr);\n \t\t\trte_ether_addr_copy(&arp_h->arp_data.arp_sha,\n \t\t\t\t\t&arp_h->arp_data.arp_tha);\n-\t\t\trte_ether_addr_copy(&eth_h->s_addr,\n+\t\t\trte_ether_addr_copy(&eth_h->src_addr,\n \t\t\t\t\t&arp_h->arp_data.arp_sha);\n \n \t\t\t/* Swap IP addresses in ARP payload */\n@@ -453,9 +453,9 @@ reply_to_icmp_echo_rqsts(struct fwd_stream *fs)\n \t\t * ICMP checksum is computed by assuming it is valid in the\n \t\t * echo request and not verified.\n \t\t */\n-\t\trte_ether_addr_copy(&eth_h->s_addr, &eth_addr);\n-\t\trte_ether_addr_copy(&eth_h->d_addr, &eth_h->s_addr);\n-\t\trte_ether_addr_copy(&eth_addr, &eth_h->d_addr);\n+\t\trte_ether_addr_copy(&eth_h->src_addr, &eth_addr);\n+\t\trte_ether_addr_copy(&eth_h->dst_addr, &eth_h->src_addr);\n+\t\trte_ether_addr_copy(&eth_addr, &eth_h->dst_addr);\n \t\tip_addr = ip_h->src_addr;\n \t\tif (is_multicast_ipv4_addr(ip_h->dst_addr)) {\n \t\t\tuint32_t ip_src;\ndiff --git a/app/test-pmd/ieee1588fwd.c b/app/test-pmd/ieee1588fwd.c\nindex 034f238c34..9cf10c1c50 100644\n--- a/app/test-pmd/ieee1588fwd.c\n+++ b/app/test-pmd/ieee1588fwd.c\n@@ -178,9 +178,9 @@ ieee1588_packet_fwd(struct fwd_stream *fs)\n \tport_ieee1588_rx_timestamp_check(fs->rx_port, timesync_index);\n \n \t/* Swap dest and src mac addresses. */\n-\trte_ether_addr_copy(&eth_hdr->d_addr, &addr);\n-\trte_ether_addr_copy(&eth_hdr->s_addr, &eth_hdr->d_addr);\n-\trte_ether_addr_copy(&addr, &eth_hdr->s_addr);\n+\trte_ether_addr_copy(&eth_hdr->dst_addr, &addr);\n+\trte_ether_addr_copy(&eth_hdr->src_addr, &eth_hdr->dst_addr);\n+\trte_ether_addr_copy(&addr, &eth_hdr->src_addr);\n \n \t/* Forward PTP packet with hardware TX timestamp */\n \tmb->ol_flags |= PKT_TX_IEEE1588_TMST;\ndiff --git a/app/test-pmd/macfwd.c b/app/test-pmd/macfwd.c\nindex 0568ea794d..ee76df7f03 100644\n--- a/app/test-pmd/macfwd.c\n+++ b/app/test-pmd/macfwd.c\n@@ -85,9 +85,9 @@ pkt_burst_mac_forward(struct fwd_stream *fs)\n \t\tmb = pkts_burst[i];\n \t\teth_hdr = rte_pktmbuf_mtod(mb, struct rte_ether_hdr *);\n \t\trte_ether_addr_copy(&peer_eth_addrs[fs->peer_addr],\n-\t\t\t\t&eth_hdr->d_addr);\n+\t\t\t\t&eth_hdr->dst_addr);\n \t\trte_ether_addr_copy(&ports[fs->tx_port].eth_addr,\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \t\tmb->ol_flags &= IND_ATTACHED_MBUF | EXT_ATTACHED_MBUF;\n \t\tmb->ol_flags |= ol_flags;\n \t\tmb->l2_len = sizeof(struct rte_ether_hdr);\ndiff --git a/app/test-pmd/macswap.h b/app/test-pmd/macswap.h\nindex 0138441566..20823b9b8c 100644\n--- a/app/test-pmd/macswap.h\n+++ b/app/test-pmd/macswap.h\n@@ -30,8 +30,8 @@ do_macswap(struct rte_mbuf *pkts[], uint16_t nb,\n \n \t\t/* Swap dest and src mac addresses. */\n \t\trte_ether_addr_copy(&eth_hdr->d_addr, &addr);\n-\t\trte_ether_addr_copy(&eth_hdr->s_addr, &eth_hdr->d_addr);\n-\t\trte_ether_addr_copy(&addr, &eth_hdr->s_addr);\n+\t\trte_ether_addr_copy(&eth_hdr->src_addr, &eth_hdr->d_addr);\n+\t\trte_ether_addr_copy(&addr, &eth_hdr->src_addr);\n \n \t\tmbuf_field_set(mb, ol_flags);\n \t}\ndiff --git a/app/test-pmd/txonly.c b/app/test-pmd/txonly.c\nindex aed820f5d3..40655801cc 100644\n--- a/app/test-pmd/txonly.c\n+++ b/app/test-pmd/txonly.c\n@@ -362,8 +362,8 @@ pkt_burst_transmit(struct fwd_stream *fs)\n \t/*\n \t * Initialize Ethernet header.\n \t */\n-\trte_ether_addr_copy(&peer_eth_addrs[fs->peer_addr], &eth_hdr.d_addr);\n-\trte_ether_addr_copy(&ports[fs->tx_port].eth_addr, &eth_hdr.s_addr);\n+\trte_ether_addr_copy(&peer_eth_addrs[fs->peer_addr], &eth_hdr.dst_addr);\n+\trte_ether_addr_copy(&ports[fs->tx_port].eth_addr, &eth_hdr.src_addr);\n \teth_hdr.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4);\n \n \tif (rte_mempool_get_bulk(mbp, (void **)pkts_burst,\ndiff --git a/app/test-pmd/util.c b/app/test-pmd/util.c\nindex 14a9a251fb..51506e4940 100644\n--- a/app/test-pmd/util.c\n+++ b/app/test-pmd/util.c\n@@ -142,9 +142,9 @@ dump_pkt_burst(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[],\n \t\t\t\t\t  \" - no miss group\");\n \t\t\tMKDUMPSTR(print_buf, buf_size, cur_len, \"\\n\");\n \t\t}\n-\t\tprint_ether_addr(\"  src=\", &eth_hdr->s_addr,\n+\t\tprint_ether_addr(\"  src=\", &eth_hdr->src_addr,\n \t\t\t\t print_buf, buf_size, &cur_len);\n-\t\tprint_ether_addr(\" - dst=\", &eth_hdr->d_addr,\n+\t\tprint_ether_addr(\" - dst=\", &eth_hdr->dst_addr,\n \t\t\t\t print_buf, buf_size, &cur_len);\n \t\tMKDUMPSTR(print_buf, buf_size, cur_len,\n \t\t\t  \" - type=0x%04x - length=%u - nb_segs=%d\",\ndiff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c\nindex 0fd7290b0e..8ac24577ba 100644\n--- a/app/test/packet_burst_generator.c\n+++ b/app/test/packet_burst_generator.c\n@@ -56,8 +56,8 @@ initialize_eth_header(struct rte_ether_hdr *eth_hdr,\n \t\tstruct rte_ether_addr *dst_mac, uint16_t ether_type,\n \t\tuint8_t vlan_enabled, uint16_t van_id)\n {\n-\trte_ether_addr_copy(dst_mac, &eth_hdr->d_addr);\n-\trte_ether_addr_copy(src_mac, &eth_hdr->s_addr);\n+\trte_ether_addr_copy(dst_mac, &eth_hdr->dst_addr);\n+\trte_ether_addr_copy(src_mac, &eth_hdr->src_addr);\n \n \tif (vlan_enabled) {\n \t\tstruct rte_vlan_hdr *vhdr = (struct rte_vlan_hdr *)(\ndiff --git a/app/test/test_bpf.c b/app/test/test_bpf.c\nindex 527c06b807..8118a1849b 100644\n--- a/app/test/test_bpf.c\n+++ b/app/test/test_bpf.c\n@@ -1008,9 +1008,9 @@ test_jump2_prepare(void *arg)\n \t * Initialize ether header.\n \t */\n \trte_ether_addr_copy((struct rte_ether_addr *)dst_mac,\n-\t\t\t    &dn->eth_hdr.d_addr);\n+\t\t\t    &dn->eth_hdr.dst_addr);\n \trte_ether_addr_copy((struct rte_ether_addr *)src_mac,\n-\t\t\t    &dn->eth_hdr.s_addr);\n+\t\t\t    &dn->eth_hdr.src_addr);\n \tdn->eth_hdr.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN);\n \n \t/*\ndiff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c\nindex 2c835fa7ad..f120b2e3be 100644\n--- a/app/test/test_link_bonding_mode4.c\n+++ b/app/test/test_link_bonding_mode4.c\n@@ -502,8 +502,8 @@ make_lacp_reply(struct slave_conf *slave, struct rte_mbuf *pkt)\n \tslow_hdr = rte_pktmbuf_mtod(pkt, struct slow_protocol_frame *);\n \n \t/* Change source address to partner address */\n-\trte_ether_addr_copy(&parnter_mac_default, &slow_hdr->eth_hdr.s_addr);\n-\tslow_hdr->eth_hdr.s_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =\n+\trte_ether_addr_copy(&parnter_mac_default, &slow_hdr->eth_hdr.src_addr);\n+\tslow_hdr->eth_hdr.src_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =\n \t\tslave->port_id;\n \n \tlacp = (struct lacpdu *) &slow_hdr->slow_protocol;\n@@ -870,7 +870,7 @@ test_mode4_rx(void)\n \n \t\tfor (i = 0; i < expected_pkts_cnt; i++) {\n \t\t\thdr = rte_pktmbuf_mtod(pkts[i], struct rte_ether_hdr *);\n-\t\t\tcnt[rte_is_same_ether_addr(&hdr->d_addr,\n+\t\t\tcnt[rte_is_same_ether_addr(&hdr->dst_addr,\n \t\t\t\t\t\t\t&bonded_mac)]++;\n \t\t}\n \n@@ -918,7 +918,7 @@ test_mode4_rx(void)\n \n \t\tfor (i = 0; i < expected_pkts_cnt; i++) {\n \t\t\thdr = rte_pktmbuf_mtod(pkts[i], struct rte_ether_hdr *);\n-\t\t\teq_cnt += rte_is_same_ether_addr(&hdr->d_addr,\n+\t\t\teq_cnt += rte_is_same_ether_addr(&hdr->dst_addr,\n \t\t\t\t\t\t\t&bonded_mac);\n \t\t}\n \n@@ -1163,11 +1163,12 @@ init_marker(struct rte_mbuf *pkt, struct slave_conf *slave)\n \n \t/* Copy multicast destination address */\n \trte_ether_addr_copy(&slow_protocol_mac_addr,\n-\t\t\t&marker_hdr->eth_hdr.d_addr);\n+\t\t\t&marker_hdr->eth_hdr.dst_addr);\n \n \t/* Init source address */\n-\trte_ether_addr_copy(&parnter_mac_default, &marker_hdr->eth_hdr.s_addr);\n-\tmarker_hdr->eth_hdr.s_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =\n+\trte_ether_addr_copy(&parnter_mac_default,\n+\t\t\t&marker_hdr->eth_hdr.src_addr);\n+\tmarker_hdr->eth_hdr.src_addr.addr_bytes[RTE_ETHER_ADDR_LEN - 1] =\n \t\tslave->port_id;\n \n \tmarker_hdr->eth_hdr.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_SLOW);\ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 6d48155b35..3ae713edae 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -172,9 +172,6 @@ Deprecation Notices\n   can still be used if users specify the devarg \"driver=i40evf\". I40evf will\n   be deleted in DPDK 21.11.\n \n-* net: ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure\n-  will be renamed in DPDK 21.11 to avoid conflict with Windows Sockets headers.\n-\n * net: The structure ``rte_ipv4_hdr`` will have two unions.\n   The first union is for existing ``version_ihl`` byte\n   and new bitfield for version and IHL.\ndiff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst\nindex 3eb30f855c..51e85a7279 100644\n--- a/doc/guides/rel_notes/release_20_11.rst\n+++ b/doc/guides/rel_notes/release_20_11.rst\n@@ -668,6 +668,9 @@ API Changes\n * cryptodev: Renamed ``min`` and ``max`` fields of ``rte_crypto_param_range``\n   structure to ``minimum`` and ``maximum``, respectively.\n \n+* net: Renamed ``s_addr`` and ``d_addr`` fields of ``rte_ether_hdr`` structure\n+  to ``src_addr`` and ``dst_addr``, respectively.\n+\n \n ABI Changes\n -----------\ndiff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c\nindex 623fa5e5ff..b5fafd32b0 100644\n--- a/drivers/net/avp/avp_ethdev.c\n+++ b/drivers/net/avp/avp_ethdev.c\n@@ -1205,17 +1205,17 @@ _avp_mac_filter(struct avp_dev *avp, struct rte_mbuf *m)\n {\n \tstruct rte_ether_hdr *eth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n-\tif (likely(_avp_cmp_ether_addr(&avp->ethaddr, &eth->d_addr) == 0)) {\n+\tif (likely(_avp_cmp_ether_addr(&avp->ethaddr, &eth->dst_addr) == 0)) {\n \t\t/* allow all packets destined to our address */\n \t\treturn 0;\n \t}\n \n-\tif (likely(rte_is_broadcast_ether_addr(&eth->d_addr))) {\n+\tif (likely(rte_is_broadcast_ether_addr(&eth->dst_addr))) {\n \t\t/* allow all broadcast packets */\n \t\treturn 0;\n \t}\n \n-\tif (likely(rte_is_multicast_ether_addr(&eth->d_addr))) {\n+\tif (likely(rte_is_multicast_ether_addr(&eth->dst_addr))) {\n \t\t/* allow all multicast packets */\n \t\treturn 0;\n \t}\ndiff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c\nindex 7ee805bd0d..2d0403e593 100644\n--- a/drivers/net/bnx2x/bnx2x.c\n+++ b/drivers/net/bnx2x/bnx2x.c\n@@ -2233,8 +2233,8 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, struct rte_mbuf *m0)\n \n \t\ttx_parse_bd =\n \t\t    &txq->tx_ring[TX_BD(bd_prod, txq)].parse_bd_e2;\n-\t\tif (rte_is_multicast_ether_addr(&eh->d_addr)) {\n-\t\t\tif (rte_is_broadcast_ether_addr(&eh->d_addr))\n+\t\tif (rte_is_multicast_ether_addr(&eh->dst_addr)) {\n+\t\t\tif (rte_is_broadcast_ether_addr(&eh->dst_addr))\n \t\t\t\tmac_type = BROADCAST_ADDRESS;\n \t\t\telse\n \t\t\t\tmac_type = MULTICAST_ADDRESS;\n@@ -2243,17 +2243,17 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, struct rte_mbuf *m0)\n \t\t    (mac_type << ETH_TX_PARSE_BD_E2_ETH_ADDR_TYPE_SHIFT);\n \n \t\trte_memcpy(&tx_parse_bd->data.mac_addr.dst_hi,\n-\t\t\t   &eh->d_addr.addr_bytes[0], 2);\n+\t\t\t   &eh->dst_addr.addr_bytes[0], 2);\n \t\trte_memcpy(&tx_parse_bd->data.mac_addr.dst_mid,\n-\t\t\t   &eh->d_addr.addr_bytes[2], 2);\n+\t\t\t   &eh->dst_addr.addr_bytes[2], 2);\n \t\trte_memcpy(&tx_parse_bd->data.mac_addr.dst_lo,\n-\t\t\t   &eh->d_addr.addr_bytes[4], 2);\n+\t\t\t   &eh->dst_addr.addr_bytes[4], 2);\n \t\trte_memcpy(&tx_parse_bd->data.mac_addr.src_hi,\n-\t\t\t   &eh->s_addr.addr_bytes[0], 2);\n+\t\t\t   &eh->src_addr.addr_bytes[0], 2);\n \t\trte_memcpy(&tx_parse_bd->data.mac_addr.src_mid,\n-\t\t\t   &eh->s_addr.addr_bytes[2], 2);\n+\t\t\t   &eh->src_addr.addr_bytes[2], 2);\n \t\trte_memcpy(&tx_parse_bd->data.mac_addr.src_lo,\n-\t\t\t   &eh->s_addr.addr_bytes[4], 2);\n+\t\t\t   &eh->src_addr.addr_bytes[4], 2);\n \n \t\ttx_parse_bd->data.mac_addr.dst_hi =\n \t\t    rte_cpu_to_be_16(tx_parse_bd->data.mac_addr.dst_hi);\ndiff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c\nindex 128754f459..ce911f0f90 100644\n--- a/drivers/net/bonding/rte_eth_bond_8023ad.c\n+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c\n@@ -587,8 +587,8 @@ tx_machine(struct bond_dev_private *internals, uint16_t slave_id)\n \thdr = rte_pktmbuf_mtod(lacp_pkt, struct lacpdu_header *);\n \n \t/* Source and destination MAC */\n-\trte_ether_addr_copy(&lacp_mac_addr, &hdr->eth_hdr.d_addr);\n-\trte_eth_macaddr_get(slave_id, &hdr->eth_hdr.s_addr);\n+\trte_ether_addr_copy(&lacp_mac_addr, &hdr->eth_hdr.dst_addr);\n+\trte_eth_macaddr_get(slave_id, &hdr->eth_hdr.src_addr);\n \thdr->eth_hdr.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_SLOW);\n \n \tlacpdu = &hdr->lacpdu;\n@@ -1346,7 +1346,7 @@ bond_mode_8023ad_handle_slow_pkt(struct bond_dev_private *internals,\n \t\t} while (unlikely(retval == 0));\n \n \t\tm_hdr->marker.tlv_type_marker = MARKER_TLV_TYPE_RESP;\n-\t\trte_eth_macaddr_get(slave_id, &m_hdr->eth_hdr.s_addr);\n+\t\trte_eth_macaddr_get(slave_id, &m_hdr->eth_hdr.src_addr);\n \n \t\tif (internals->mode4.dedicated_queues.enabled == 0) {\n \t\t\tif (rte_ring_enqueue(port->tx_ring, pkt) != 0) {\ndiff --git a/drivers/net/bonding/rte_eth_bond_alb.c b/drivers/net/bonding/rte_eth_bond_alb.c\nindex 1d36a4a4a2..86335a7971 100644\n--- a/drivers/net/bonding/rte_eth_bond_alb.c\n+++ b/drivers/net/bonding/rte_eth_bond_alb.c\n@@ -213,8 +213,8 @@ bond_mode_alb_arp_upd(struct client_data *client_info,\n \trte_spinlock_lock(&internals->mode6.lock);\n \teth_h = rte_pktmbuf_mtod(pkt, struct rte_ether_hdr *);\n \n-\trte_ether_addr_copy(&client_info->app_mac, &eth_h->s_addr);\n-\trte_ether_addr_copy(&client_info->cli_mac, &eth_h->d_addr);\n+\trte_ether_addr_copy(&client_info->app_mac, &eth_h->src_addr);\n+\trte_ether_addr_copy(&client_info->cli_mac, &eth_h->dst_addr);\n \tif (client_info->vlan_count > 0)\n \t\teth_h->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN);\n \telse\ndiff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c\nindex a6755661c4..b7f9cfcfa3 100644\n--- a/drivers/net/bonding/rte_eth_bond_pmd.c\n+++ b/drivers/net/bonding/rte_eth_bond_pmd.c\n@@ -342,11 +342,11 @@ rx_burst_8023ad(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts,\n \t\t\t\t\t\t bufs[j])) ||\n \t\t\t\t!collecting ||\n \t\t\t\t(!promisc &&\n-\t\t\t\t ((rte_is_unicast_ether_addr(&hdr->d_addr) &&\n+\t\t\t\t ((rte_is_unicast_ether_addr(&hdr->dst_addr) &&\n \t\t\t\t   !rte_is_same_ether_addr(bond_mac,\n-\t\t\t\t\t\t       &hdr->d_addr)) ||\n+\t\t\t\t\t\t       &hdr->dst_addr)) ||\n \t\t\t\t  (!allmulti &&\n-\t\t\t\t   rte_is_multicast_ether_addr(&hdr->d_addr)))))) {\n+\t\t\t\t   rte_is_multicast_ether_addr(&hdr->dst_addr)))))) {\n \n \t\t\t\tif (hdr->ether_type == ether_type_slow_be) {\n \t\t\t\t\tbond_mode_8023ad_handle_slow_pkt(\n@@ -477,9 +477,9 @@ update_client_stats(uint32_t addr, uint16_t port, uint32_t *TXorRXindicator)\n \t\t\"DstMAC:%02X:%02X:%02X:%02X:%02X:%02X DstIP:%s %s %d\\n\", \\\n \t\tinfo,\t\t\t\t\t\t\t\\\n \t\tport,\t\t\t\t\t\t\t\\\n-\t\teth_h->s_addr.addr_bytes[0], eth_h->s_addr.addr_bytes[1], \\\n-\t\teth_h->s_addr.addr_bytes[2], eth_h->s_addr.addr_bytes[3], \\\n-\t\teth_h->s_addr.addr_bytes[4], eth_h->s_addr.addr_bytes[5], \\\n+\t\teth_h->src_addr.addr_bytes[0], eth_h->src_addr.addr_bytes[1], \\\n+\t\teth_h->src_addr.addr_bytes[2], eth_h->src_addr.addr_bytes[3], \\\n+\t\teth_h->src_addr.addr_bytes[4], eth_h->src_addr.addr_bytes[5], \\\n \t\tsrc_ip,\t\t\t\t\t\t\t\\\n \t\teth_h->d_addr.addr_bytes[0], eth_h->d_addr.addr_bytes[1], \\\n \t\teth_h->d_addr.addr_bytes[2], eth_h->d_addr.addr_bytes[3], \\\n@@ -647,9 +647,9 @@ static inline uint16_t\n ether_hash(struct rte_ether_hdr *eth_hdr)\n {\n \tunaligned_uint16_t *word_src_addr =\n-\t\t(unaligned_uint16_t *)eth_hdr->s_addr.addr_bytes;\n+\t\t(unaligned_uint16_t *)eth_hdr->src_addr.addr_bytes;\n \tunaligned_uint16_t *word_dst_addr =\n-\t\t(unaligned_uint16_t *)eth_hdr->d_addr.addr_bytes;\n+\t\t(unaligned_uint16_t *)eth_hdr->dst_addr.addr_bytes;\n \n \treturn (word_src_addr[0] ^ word_dst_addr[0]) ^\n \t\t\t(word_src_addr[1] ^ word_dst_addr[1]) ^\n@@ -946,10 +946,10 @@ bond_ethdev_tx_burst_tlb(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \n \t\t\tether_hdr = rte_pktmbuf_mtod(bufs[j],\n \t\t\t\t\t\tstruct rte_ether_hdr *);\n-\t\t\tif (rte_is_same_ether_addr(&ether_hdr->s_addr,\n+\t\t\tif (rte_is_same_ether_addr(&ether_hdr->src_addr,\n \t\t\t\t\t\t\t&primary_slave_addr))\n \t\t\t\trte_ether_addr_copy(&active_slave_addr,\n-\t\t\t\t\t\t&ether_hdr->s_addr);\n+\t\t\t\t\t\t&ether_hdr->src_addr);\n #if defined(RTE_LIBRTE_BOND_DEBUG_ALB) || defined(RTE_LIBRTE_BOND_DEBUG_ALB_L1)\n \t\t\t\t\tmode6_debug(\"TX IPv4:\", ether_hdr, slaves[i], &burstnumberTX);\n #endif\n@@ -1021,7 +1021,7 @@ bond_ethdev_tx_burst_alb(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)\n \t\t\tslave_idx = bond_mode_alb_arp_xmit(eth_h, offset, internals);\n \n \t\t\t/* Change src mac in eth header */\n-\t\t\trte_eth_macaddr_get(slave_idx, &eth_h->s_addr);\n+\t\t\trte_eth_macaddr_get(slave_idx, &eth_h->src_addr);\n \n \t\t\t/* Add packet to slave tx buffer */\n \t\t\tslave_bufs[slave_idx][slave_bufs_pkts[slave_idx]] = bufs[i];\ndiff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c\nindex cdfdc904a6..33147169ba 100644\n--- a/drivers/net/enic/enic_flow.c\n+++ b/drivers/net/enic/enic_flow.c\n@@ -656,14 +656,14 @@ enic_copy_item_eth_v2(struct copy_item_args *arg)\n \tif (!mask)\n \t\tmask = &rte_flow_item_eth_mask;\n \n-\tmemcpy(enic_spec.d_addr.addr_bytes, spec->dst.addr_bytes,\n+\tmemcpy(enic_spec.dst_addr.addr_bytes, spec->dst.addr_bytes,\n \t       RTE_ETHER_ADDR_LEN);\n-\tmemcpy(enic_spec.s_addr.addr_bytes, spec->src.addr_bytes,\n+\tmemcpy(enic_spec.src_addr.addr_bytes, spec->src.addr_bytes,\n \t       RTE_ETHER_ADDR_LEN);\n \n-\tmemcpy(enic_mask.d_addr.addr_bytes, mask->dst.addr_bytes,\n+\tmemcpy(enic_mask.dst_addr.addr_bytes, mask->dst.addr_bytes,\n \t       RTE_ETHER_ADDR_LEN);\n-\tmemcpy(enic_mask.s_addr.addr_bytes, mask->src.addr_bytes,\n+\tmemcpy(enic_mask.src_addr.addr_bytes, mask->src.addr_bytes,\n \t       RTE_ETHER_ADDR_LEN);\n \tenic_spec.ether_type = spec->type;\n \tenic_mask.ether_type = mask->type;\ndiff --git a/drivers/net/mlx5/mlx5_txpp.c b/drivers/net/mlx5/mlx5_txpp.c\nindex 4f6da9f2d1..2be7e71f89 100644\n--- a/drivers/net/mlx5/mlx5_txpp.c\n+++ b/drivers/net/mlx5/mlx5_txpp.c\n@@ -333,8 +333,8 @@ mlx5_txpp_fill_wqe_clock_queue(struct mlx5_dev_ctx_shared *sh)\n \t\t/* Build test packet L2 header (Ethernet). */\n \t\tdst = (uint8_t *)&es->inline_data;\n \t\teth_hdr = (struct rte_ether_hdr *)dst;\n-\t\trte_eth_random_addr(&eth_hdr->d_addr.addr_bytes[0]);\n-\t\trte_eth_random_addr(&eth_hdr->s_addr.addr_bytes[0]);\n+\t\trte_eth_random_addr(&eth_hdr->dst_addr.addr_bytes[0]);\n+\t\trte_eth_random_addr(&eth_hdr->src_addr.addr_bytes[0]);\n \t\teth_hdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4);\n \t\t/* Build test packet L3 header (IP v4). */\n \t\tdst += sizeof(struct rte_ether_hdr);\ndiff --git a/examples/bond/main.c b/examples/bond/main.c\nindex f48400e211..c51892b6f0 100644\n--- a/examples/bond/main.c\n+++ b/examples/bond/main.c\n@@ -423,8 +423,8 @@ static int lcore_main(__rte_unused void *arg1)\n \t\t\t\t\tif (arp_hdr->arp_opcode == rte_cpu_to_be_16(RTE_ARP_OP_REQUEST)) {\n \t\t\t\t\t\tarp_hdr->arp_opcode = rte_cpu_to_be_16(RTE_ARP_OP_REPLY);\n \t\t\t\t\t\t/* Switch src and dst data and set bonding MAC */\n-\t\t\t\t\t\trte_ether_addr_copy(&eth_hdr->s_addr, &eth_hdr->d_addr);\n-\t\t\t\t\t\trte_ether_addr_copy(&bond_mac_addr, &eth_hdr->s_addr);\n+\t\t\t\t\t\trte_ether_addr_copy(&eth_hdr->src_addr, &eth_hdr->dst_addr);\n+\t\t\t\t\t\trte_ether_addr_copy(&bond_mac_addr, &eth_hdr->src_addr);\n \t\t\t\t\t\trte_ether_addr_copy(&arp_hdr->arp_data.arp_sha,\n \t\t\t\t\t\t\t\t&arp_hdr->arp_data.arp_tha);\n \t\t\t\t\t\tarp_hdr->arp_data.arp_tip = arp_hdr->arp_data.arp_sip;\n@@ -444,8 +444,10 @@ static int lcore_main(__rte_unused void *arg1)\n \t\t\t\t }\n \t\t\t\tipv4_hdr = (struct rte_ipv4_hdr *)((char *)(eth_hdr + 1) + offset);\n \t\t\t\tif (ipv4_hdr->dst_addr == bond_ip) {\n-\t\t\t\t\trte_ether_addr_copy(&eth_hdr->s_addr, &eth_hdr->d_addr);\n-\t\t\t\t\trte_ether_addr_copy(&bond_mac_addr, &eth_hdr->s_addr);\n+\t\t\t\t\trte_ether_addr_copy(&eth_hdr->src_addr,\n+\t\t\t\t\t\t\t&eth_hdr->dst_addr);\n+\t\t\t\t\trte_ether_addr_copy(&bond_mac_addr,\n+\t\t\t\t\t\t\t&eth_hdr->src_addr);\n \t\t\t\t\tipv4_hdr->dst_addr = ipv4_hdr->src_addr;\n \t\t\t\t\tipv4_hdr->src_addr = bond_ip;\n \t\t\t\t\trte_eth_tx_burst(BOND_PORT, 0, &pkts[i], 1);\n@@ -520,8 +522,8 @@ static void cmd_obj_send_parsed(void *parsed_result,\n \tcreated_pkt->pkt_len = pkt_size;\n \n \teth_hdr = rte_pktmbuf_mtod(created_pkt, struct rte_ether_hdr *);\n-\trte_ether_addr_copy(&bond_mac_addr, &eth_hdr->s_addr);\n-\tmemset(&eth_hdr->d_addr, 0xFF, RTE_ETHER_ADDR_LEN);\n+\trte_ether_addr_copy(&bond_mac_addr, &eth_hdr->src_addr);\n+\tmemset(&eth_hdr->dst_addr, 0xFF, RTE_ETHER_ADDR_LEN);\n \teth_hdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_ARP);\n \n \tarp_hdr = (struct rte_arp_hdr *)(\ndiff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c\nindex 21ed85c7d6..1bc675962b 100644\n--- a/examples/ethtool/ethtool-app/main.c\n+++ b/examples/ethtool/ethtool-app/main.c\n@@ -172,8 +172,8 @@ static void process_frame(struct app_port *ptr_port,\n \tstruct rte_ether_hdr *ptr_mac_hdr;\n \n \tptr_mac_hdr = rte_pktmbuf_mtod(ptr_frame, struct rte_ether_hdr *);\n-\trte_ether_addr_copy(&ptr_mac_hdr->s_addr, &ptr_mac_hdr->d_addr);\n-\trte_ether_addr_copy(&ptr_port->mac_addr, &ptr_mac_hdr->s_addr);\n+\trte_ether_addr_copy(&ptr_mac_hdr->src_addr, &ptr_mac_hdr->dst_addr);\n+\trte_ether_addr_copy(&ptr_port->mac_addr, &ptr_mac_hdr->src_addr);\n }\n \n static int worker_main(__rte_unused void *ptr_data)\ndiff --git a/examples/eventdev_pipeline/pipeline_common.h b/examples/eventdev_pipeline/pipeline_common.h\nindex 6a4287602e..b12eb281e1 100644\n--- a/examples/eventdev_pipeline/pipeline_common.h\n+++ b/examples/eventdev_pipeline/pipeline_common.h\n@@ -104,8 +104,8 @@ exchange_mac(struct rte_mbuf *m)\n \n \t/* change mac addresses on packet (to use mbuf data) */\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n-\trte_ether_addr_copy(&eth->d_addr, &addr);\n-\trte_ether_addr_copy(&addr, &eth->d_addr);\n+\trte_ether_addr_copy(&eth->dst_addr, &addr);\n+\trte_ether_addr_copy(&addr, &eth->dst_addr);\n }\n \n static __rte_always_inline void\ndiff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c\nindex 29fb4b3d55..dd8a33d036 100644\n--- a/examples/flow_filtering/main.c\n+++ b/examples/flow_filtering/main.c\n@@ -75,9 +75,9 @@ main_loop(void)\n \t\t\t\t\teth_hdr = rte_pktmbuf_mtod(m,\n \t\t\t\t\t\t\tstruct rte_ether_hdr *);\n \t\t\t\t\tprint_ether_addr(\"src=\",\n-\t\t\t\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t\t\t\t&eth_hdr->src_addr);\n \t\t\t\t\tprint_ether_addr(\" - dst=\",\n-\t\t\t\t\t\t\t&eth_hdr->d_addr);\n+\t\t\t\t\t\t\t&eth_hdr->dst_addr);\n \t\t\t\t\tprintf(\" - queue=0x%x\",\n \t\t\t\t\t\t\t(unsigned int)i);\n \t\t\t\t\tprintf(\"\\n\");\ndiff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c\nindex 0c413180f8..7824247d69 100644\n--- a/examples/ioat/ioatfwd.c\n+++ b/examples/ioat/ioatfwd.c\n@@ -322,11 +322,11 @@ update_mac_addrs(struct rte_mbuf *m, uint32_t dest_portid)\n \t/* 02:00:00:00:00:xx - overwriting 2 bytes of source address but\n \t * it's acceptable cause it gets overwritten by rte_ether_addr_copy\n \t */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dest_portid << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&ioat_ports_eth_addr[dest_portid], &eth->s_addr);\n+\trte_ether_addr_copy(&ioat_ports_eth_addr[dest_portid], &eth->src_addr);\n }\n \n /* Perform packet copy there is a user-defined function. 8< */\ndiff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c\nindex f245369720..a7f40970f2 100644\n--- a/examples/ip_fragmentation/main.c\n+++ b/examples/ip_fragmentation/main.c\n@@ -362,13 +362,13 @@ l3fwd_simple_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf,\n \t\tm->l2_len = sizeof(struct rte_ether_hdr);\n \n \t\t/* 02:00:00:00:00:xx */\n-\t\td_addr_bytes = &eth_hdr->d_addr.addr_bytes[0];\n+\t\td_addr_bytes = &eth_hdr->dst_addr.addr_bytes[0];\n \t\t*((uint64_t *)d_addr_bytes) = 0x000000000002 +\n \t\t\t((uint64_t)port_out << 40);\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[port_out],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \t\teth_hdr->ether_type = ether_type;\n \t}\n \ndiff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c\nindex 8645ac790b..d611c7d016 100644\n--- a/examples/ip_reassembly/main.c\n+++ b/examples/ip_reassembly/main.c\n@@ -413,11 +413,11 @@ reassemble(struct rte_mbuf *m, uint16_t portid, uint32_t queue,\n \t/* if packet wasn't IPv4 or IPv6, it's forwarded to the port it came from */\n \n \t/* 02:00:00:00:00:xx */\n-\td_addr_bytes = &eth_hdr->d_addr.addr_bytes[0];\n+\td_addr_bytes = &eth_hdr->dst_addr.addr_bytes[0];\n \t*((uint64_t *)d_addr_bytes) = 0x000000000002 + ((uint64_t)dst_port << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port], &eth_hdr->s_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port], &eth_hdr->src_addr);\n \n \tsend_single_packet(m, dst_port);\n }\ndiff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c\nindex f252d34985..61987c513e 100644\n--- a/examples/ipsec-secgw/ipsec-secgw.c\n+++ b/examples/ipsec-secgw/ipsec-secgw.c\n@@ -545,9 +545,9 @@ prepare_tx_pkt(struct rte_mbuf *pkt, uint16_t port,\n \t\tethhdr->ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV6);\n \t}\n \n-\tmemcpy(&ethhdr->s_addr, &ethaddr_tbl[port].src,\n+\tmemcpy(&ethhdr->src_addr, &ethaddr_tbl[port].src,\n \t\t\tsizeof(struct rte_ether_addr));\n-\tmemcpy(&ethhdr->d_addr, &ethaddr_tbl[port].dst,\n+\tmemcpy(&ethhdr->dst_addr, &ethaddr_tbl[port].dst,\n \t\t\tsizeof(struct rte_ether_addr));\n }\n \ndiff --git a/examples/ipsec-secgw/ipsec_worker.c b/examples/ipsec-secgw/ipsec_worker.c\nindex 647e22df59..996b0acd03 100644\n--- a/examples/ipsec-secgw/ipsec_worker.c\n+++ b/examples/ipsec-secgw/ipsec_worker.c\n@@ -44,8 +44,8 @@ update_mac_addrs(struct rte_mbuf *pkt, uint16_t portid)\n \tstruct rte_ether_hdr *ethhdr;\n \n \tethhdr = rte_pktmbuf_mtod(pkt, struct rte_ether_hdr *);\n-\tmemcpy(&ethhdr->s_addr, &ethaddr_tbl[portid].src, RTE_ETHER_ADDR_LEN);\n-\tmemcpy(&ethhdr->d_addr, &ethaddr_tbl[portid].dst, RTE_ETHER_ADDR_LEN);\n+\tmemcpy(&ethhdr->src_addr, &ethaddr_tbl[portid].src, RTE_ETHER_ADDR_LEN);\n+\tmemcpy(&ethhdr->dst_addr, &ethaddr_tbl[portid].dst, RTE_ETHER_ADDR_LEN);\n }\n \n static inline void\ndiff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c\nindex cc527d7f6b..d10de30ddb 100644\n--- a/examples/ipv4_multicast/main.c\n+++ b/examples/ipv4_multicast/main.c\n@@ -283,8 +283,8 @@ mcast_send_pkt(struct rte_mbuf *pkt, struct rte_ether_addr *dest_addr,\n \t\trte_pktmbuf_prepend(pkt, (uint16_t)sizeof(*ethdr));\n \tRTE_ASSERT(ethdr != NULL);\n \n-\trte_ether_addr_copy(dest_addr, &ethdr->d_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[port], &ethdr->s_addr);\n+\trte_ether_addr_copy(dest_addr, &ethdr->dst_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[port], &ethdr->src_addr);\n \tethdr->ether_type = rte_be_to_cpu_16(RTE_ETHER_TYPE_IPV4);\n \n \t/* Put new packet into the output queue */\ndiff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c\nindex b6bc371bd2..96636e84ce 100644\n--- a/examples/l2fwd-crypto/main.c\n+++ b/examples/l2fwd-crypto/main.c\n@@ -617,11 +617,11 @@ l2fwd_mac_updating(struct rte_mbuf *m, uint16_t dest_portid)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dest_portid << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dest_portid], &eth->s_addr);\n+\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dest_portid], &eth->src_addr);\n }\n \n static void\ndiff --git a/examples/l2fwd-event/l2fwd_common.h b/examples/l2fwd-event/l2fwd_common.h\nindex 939221d45a..cecbd9b70e 100644\n--- a/examples/l2fwd-event/l2fwd_common.h\n+++ b/examples/l2fwd-event/l2fwd_common.h\n@@ -92,11 +92,11 @@ l2fwd_mac_updating(struct rte_mbuf *m, uint32_t dest_port_id,\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dest_port_id << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(addr, &eth->s_addr);\n+\trte_ether_addr_copy(addr, &eth->src_addr);\n }\n \n static __rte_always_inline struct l2fwd_resources *\ndiff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c\nindex bbb4a27a6d..117e06d712 100644\n--- a/examples/l2fwd-jobstats/main.c\n+++ b/examples/l2fwd-jobstats/main.c\n@@ -351,11 +351,11 @@ l2fwd_simple_forward(struct rte_mbuf *m, unsigned portid)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dst_port << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dst_port], &eth->s_addr);\n+\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dst_port], &eth->src_addr);\n \n \tbuffer = tx_buffer[dst_port];\n \tsent = rte_eth_tx_buffer(dst_port, 0, buffer, m);\ndiff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c\nindex 4e1a17cfe4..efdfa4d89c 100644\n--- a/examples/l2fwd-keepalive/main.c\n+++ b/examples/l2fwd-keepalive/main.c\n@@ -177,11 +177,11 @@ l2fwd_simple_forward(struct rte_mbuf *m, unsigned portid)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dst_port << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dst_port], &eth->s_addr);\n+\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dst_port], &eth->src_addr);\n \n \tbuffer = tx_buffer[dst_port];\n \tsent = rte_eth_tx_buffer(dst_port, 0, buffer, m);\ndiff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c\nindex 911e40c66e..48c2a3da12 100644\n--- a/examples/l2fwd/main.c\n+++ b/examples/l2fwd/main.c\n@@ -170,11 +170,11 @@ l2fwd_mac_updating(struct rte_mbuf *m, unsigned dest_portid)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dest_portid << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dest_portid], &eth->s_addr);\n+\trte_ether_addr_copy(&l2fwd_ports_eth_addr[dest_portid], &eth->src_addr);\n }\n \n /* Simple forward. 8< */\ndiff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c\nindex a1f457b564..60545f3059 100644\n--- a/examples/l3fwd-acl/main.c\n+++ b/examples/l3fwd-acl/main.c\n@@ -1375,7 +1375,8 @@ send_single_packet(struct rte_mbuf *m, uint16_t port)\n \n \t/* update src and dst mac*/\n \teh = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n-\tmemcpy(eh, &port_l2hdr[port], sizeof(eh->d_addr) + sizeof(eh->s_addr));\n+\tmemcpy(eh, &port_l2hdr[port],\n+\t\t\tsizeof(eh->dst_addr) + sizeof(eh->src_addr));\n \n \tqconf = &lcore_conf[lcore_id];\n \trte_eth_tx_buffer(port, qconf->tx_queue_id[port],\n@@ -1743,8 +1744,9 @@ parse_eth_dest(const char *optarg)\n \t\treturn \"port value exceeds RTE_MAX_ETHPORTS(\"\n \t\t\tRTE_STR(RTE_MAX_ETHPORTS) \")\";\n \n-\tif (cmdline_parse_etheraddr(NULL, port_end, &port_l2hdr[portid].d_addr,\n-\t\t\tsizeof(port_l2hdr[portid].d_addr)) < 0)\n+\tif (cmdline_parse_etheraddr(NULL, port_end,\n+\t\t\t&port_l2hdr[portid].dst_addr,\n+\t\t\tsizeof(port_l2hdr[portid].dst_addr)) < 0)\n \t\treturn \"Invalid ethernet address\";\n \treturn NULL;\n }\n@@ -2002,8 +2004,9 @@ set_default_dest_mac(void)\n \tuint32_t i;\n \n \tfor (i = 0; i != RTE_DIM(port_l2hdr); i++) {\n-\t\tport_l2hdr[i].d_addr.addr_bytes[0] = RTE_ETHER_LOCAL_ADMIN_ADDR;\n-\t\tport_l2hdr[i].d_addr.addr_bytes[5] = i;\n+\t\tport_l2hdr[i].dst_addr.addr_bytes[0] =\n+\t\t\t\tRTE_ETHER_LOCAL_ADMIN_ADDR;\n+\t\tport_l2hdr[i].dst_addr.addr_bytes[5] = i;\n \t}\n }\n \n@@ -2109,14 +2112,14 @@ main(int argc, char **argv)\n \t\t\t\t\"rte_eth_dev_adjust_nb_rx_tx_desc: err=%d, port=%d\\n\",\n \t\t\t\tret, portid);\n \n-\t\tret = rte_eth_macaddr_get(portid, &port_l2hdr[portid].s_addr);\n+\t\tret = rte_eth_macaddr_get(portid, &port_l2hdr[portid].src_addr);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE,\n \t\t\t\t\"rte_eth_macaddr_get: err=%d, port=%d\\n\",\n \t\t\t\tret, portid);\n \n-\t\tprint_ethaddr(\"Dst MAC:\", &port_l2hdr[portid].d_addr);\n-\t\tprint_ethaddr(\", Src MAC:\", &port_l2hdr[portid].s_addr);\n+\t\tprint_ethaddr(\"Dst MAC:\", &port_l2hdr[portid].dst_addr);\n+\t\tprint_ethaddr(\", Src MAC:\", &port_l2hdr[portid].src_addr);\n \t\tprintf(\", \");\n \n \t\t/* init memory */\ndiff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex aa7b8db44a..90456f8f33 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -717,7 +717,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint16_t portid,\n \t\t\tdst_port = portid;\n \n \t\t/* 02:00:00:00:00:xx */\n-\t\td_addr_bytes = &eth_hdr->d_addr.addr_bytes[0];\n+\t\td_addr_bytes = &eth_hdr->dst_addr.addr_bytes[0];\n \t\t*((uint64_t *)d_addr_bytes) =\n \t\t\t0x000000000002 + ((uint64_t)dst_port << 40);\n \n@@ -729,7 +729,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint16_t portid,\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\tsend_single_packet(m, dst_port);\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n@@ -755,7 +755,7 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint16_t portid,\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\tsend_single_packet(m, dst_port);\n #else\ndiff --git a/examples/l3fwd/l3fwd_em.h b/examples/l3fwd/l3fwd_em.h\nindex b992a21da4..1eff591b48 100644\n--- a/examples/l3fwd/l3fwd_em.h\n+++ b/examples/l3fwd/l3fwd_em.h\n@@ -40,7 +40,7 @@ l3fwd_em_handle_ipv4(struct rte_mbuf *m, uint16_t portid,\n \n \t/* src addr */\n \trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t&eth_hdr->s_addr);\n+\t\t\t&eth_hdr->src_addr);\n \n \treturn dst_port;\n }\n@@ -68,7 +68,7 @@ l3fwd_em_handle_ipv6(struct rte_mbuf *m, uint16_t portid,\n \n \t/* src addr */\n \trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t&eth_hdr->s_addr);\n+\t\t\t&eth_hdr->src_addr);\n \n \treturn dst_port;\n }\ndiff --git a/examples/l3fwd/l3fwd_fib.c b/examples/l3fwd/l3fwd_fib.c\nindex f8d6a3ac39..c594877d96 100644\n--- a/examples/l3fwd/l3fwd_fib.c\n+++ b/examples/l3fwd/l3fwd_fib.c\n@@ -94,7 +94,7 @@ fib_send_single(int nb_tx, struct lcore_conf *qconf,\n \t\t\t\tstruct rte_ether_hdr *);\n \t\t*(uint64_t *)&eth_hdr->d_addr = dest_eth_addr[hops[j]];\n \t\trte_ether_addr_copy(&ports_eth_addr[hops[j]],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\t/* Send single packet. */\n \t\tsend_single_packet(qconf, pkts_burst[j], hops[j]);\ndiff --git a/examples/l3fwd/l3fwd_lpm.c b/examples/l3fwd/l3fwd_lpm.c\nindex 7200160164..227a6d7fa5 100644\n--- a/examples/l3fwd/l3fwd_lpm.c\n+++ b/examples/l3fwd/l3fwd_lpm.c\n@@ -260,7 +260,7 @@ lpm_process_event_pkt(const struct lcore_conf *lconf, struct rte_mbuf *mbuf)\n \n \t/* src addr */\n \trte_ether_addr_copy(&ports_eth_addr[mbuf->port],\n-\t\t\t&eth_hdr->s_addr);\n+\t\t\t&eth_hdr->src_addr);\n #endif\n \treturn mbuf->port;\n }\ndiff --git a/examples/l3fwd/l3fwd_lpm.h b/examples/l3fwd/l3fwd_lpm.h\nindex d730d72a20..dd2eae18b8 100644\n--- a/examples/l3fwd/l3fwd_lpm.h\n+++ b/examples/l3fwd/l3fwd_lpm.h\n@@ -44,7 +44,7 @@ l3fwd_lpm_simple_forward(struct rte_mbuf *m, uint16_t portid,\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\tsend_single_packet(qconf, m, dst_port);\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n@@ -66,7 +66,7 @@ l3fwd_lpm_simple_forward(struct rte_mbuf *m, uint16_t portid,\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\tsend_single_packet(qconf, m, dst_port);\n \t} else {\ndiff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c\nindex 7470aa539a..903bf8c8e8 100644\n--- a/examples/link_status_interrupt/main.c\n+++ b/examples/link_status_interrupt/main.c\n@@ -182,11 +182,11 @@ lsi_simple_forward(struct rte_mbuf *m, unsigned portid)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dst_port << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&lsi_ports_eth_addr[dst_port], &eth->s_addr);\n+\trte_ether_addr_copy(&lsi_ports_eth_addr[dst_port], &eth->src_addr);\n \n \tbuffer = tx_buffer[dst_port];\n \tsent = rte_eth_tx_buffer(dst_port, 0, buffer, m);\ndiff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c\nindex 2f593abf26..b3024a40e6 100644\n--- a/examples/performance-thread/l3fwd-thread/main.c\n+++ b/examples/performance-thread/l3fwd-thread/main.c\n@@ -1078,14 +1078,14 @@ simple_ipv4_fwd_8pkts(struct rte_mbuf *m[8], uint16_t portid)\n \t*(uint64_t *)&eth_hdr[7]->d_addr = dest_eth_addr[dst_port[7]];\n \n \t/* src addr */\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[0]], &eth_hdr[0]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[1]], &eth_hdr[1]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[2]], &eth_hdr[2]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[3]], &eth_hdr[3]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[4]], &eth_hdr[4]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[5]], &eth_hdr[5]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[6]], &eth_hdr[6]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[7]], &eth_hdr[7]->s_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[0]], &eth_hdr[0]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[1]], &eth_hdr[1]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[2]], &eth_hdr[2]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[3]], &eth_hdr[3]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[4]], &eth_hdr[4]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[5]], &eth_hdr[5]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[6]], &eth_hdr[6]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[7]], &eth_hdr[7]->src_addr);\n \n \tsend_single_packet(m[0], (uint8_t)dst_port[0]);\n \tsend_single_packet(m[1], (uint8_t)dst_port[1]);\n@@ -1213,14 +1213,14 @@ simple_ipv6_fwd_8pkts(struct rte_mbuf *m[8], uint16_t portid)\n \t*(uint64_t *)&eth_hdr[7]->d_addr = dest_eth_addr[dst_port[7]];\n \n \t/* src addr */\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[0]], &eth_hdr[0]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[1]], &eth_hdr[1]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[2]], &eth_hdr[2]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[3]], &eth_hdr[3]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[4]], &eth_hdr[4]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[5]], &eth_hdr[5]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[6]], &eth_hdr[6]->s_addr);\n-\trte_ether_addr_copy(&ports_eth_addr[dst_port[7]], &eth_hdr[7]->s_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[0]], &eth_hdr[0]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[1]], &eth_hdr[1]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[2]], &eth_hdr[2]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[3]], &eth_hdr[3]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[4]], &eth_hdr[4]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[5]], &eth_hdr[5]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[6]], &eth_hdr[6]->src_addr);\n+\trte_ether_addr_copy(&ports_eth_addr[dst_port[7]], &eth_hdr[7]->src_addr);\n \n \tsend_single_packet(m[0], dst_port[0]);\n \tsend_single_packet(m[1], dst_port[1]);\n@@ -1268,11 +1268,11 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint16_t portid)\n \t\t++(ipv4_hdr->hdr_checksum);\n #endif\n \t\t/* dst addr */\n-\t\t*(uint64_t *)&eth_hdr->d_addr = dest_eth_addr[dst_port];\n+\t\t*(uint64_t *)&eth_hdr->dst_addr = dest_eth_addr[dst_port];\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\tsend_single_packet(m, dst_port);\n \t} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {\n@@ -1290,11 +1290,11 @@ l3fwd_simple_forward(struct rte_mbuf *m, uint16_t portid)\n \t\t\tdst_port = portid;\n \n \t\t/* dst addr */\n-\t\t*(uint64_t *)&eth_hdr->d_addr = dest_eth_addr[dst_port];\n+\t\t*(uint64_t *)&eth_hdr->dst_addr = dest_eth_addr[dst_port];\n \n \t\t/* src addr */\n \t\trte_ether_addr_copy(&ports_eth_addr[dst_port],\n-\t\t\t\t&eth_hdr->s_addr);\n+\t\t\t\t&eth_hdr->src_addr);\n \n \t\tsend_single_packet(m, dst_port);\n \t} else\ndiff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c\nindex 4f32ade7fb..61e4ee0ea1 100644\n--- a/examples/ptpclient/ptpclient.c\n+++ b/examples/ptpclient/ptpclient.c\n@@ -426,10 +426,10 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)\n \t\tcreated_pkt->data_len = pkt_size;\n \t\tcreated_pkt->pkt_len = pkt_size;\n \t\teth_hdr = rte_pktmbuf_mtod(created_pkt, struct rte_ether_hdr *);\n-\t\trte_ether_addr_copy(&eth_addr, &eth_hdr->s_addr);\n+\t\trte_ether_addr_copy(&eth_addr, &eth_hdr->src_addr);\n \n \t\t/* Set multicast address 01-1B-19-00-00-00. */\n-\t\trte_ether_addr_copy(&eth_multicast, &eth_hdr->d_addr);\n+\t\trte_ether_addr_copy(&eth_multicast, &eth_hdr->dst_addr);\n \n \t\teth_hdr->ether_type = htons(PTP_PROTOCOL);\n \t\tptp_msg = (struct ptp_message *)\n@@ -449,14 +449,14 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)\n \t\tclient_clkid =\n \t\t\t&ptp_msg->delay_req.hdr.source_port_id.clock_id;\n \n-\t\tclient_clkid->id[0] = eth_hdr->s_addr.addr_bytes[0];\n-\t\tclient_clkid->id[1] = eth_hdr->s_addr.addr_bytes[1];\n-\t\tclient_clkid->id[2] = eth_hdr->s_addr.addr_bytes[2];\n+\t\tclient_clkid->id[0] = eth_hdr->src_addr.addr_bytes[0];\n+\t\tclient_clkid->id[1] = eth_hdr->src_addr.addr_bytes[1];\n+\t\tclient_clkid->id[2] = eth_hdr->src_addr.addr_bytes[2];\n \t\tclient_clkid->id[3] = 0xFF;\n \t\tclient_clkid->id[4] = 0xFE;\n-\t\tclient_clkid->id[5] = eth_hdr->s_addr.addr_bytes[3];\n-\t\tclient_clkid->id[6] = eth_hdr->s_addr.addr_bytes[4];\n-\t\tclient_clkid->id[7] = eth_hdr->s_addr.addr_bytes[5];\n+\t\tclient_clkid->id[5] = eth_hdr->src_addr.addr_bytes[3];\n+\t\tclient_clkid->id[6] = eth_hdr->src_addr.addr_bytes[4];\n+\t\tclient_clkid->id[7] = eth_hdr->src_addr.addr_bytes[5];\n \n \t\trte_memcpy(&ptp_data->client_clock_id,\n \t\t\t   client_clkid,\ndiff --git a/examples/vhost/main.c b/examples/vhost/main.c\nindex bc3d71c898..ba339076a5 100644\n--- a/examples/vhost/main.c\n+++ b/examples/vhost/main.c\n@@ -763,7 +763,7 @@ link_vmdq(struct vhost_dev *vdev, struct rte_mbuf *m)\n \t/* Learn MAC address of guest device from packet */\n \tpkt_hdr = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n-\tif (find_vhost_dev(&pkt_hdr->s_addr)) {\n+\tif (find_vhost_dev(&pkt_hdr->src_addr)) {\n \t\tRTE_LOG(ERR, VHOST_DATA,\n \t\t\t\"(%d) device is using a registered MAC!\\n\",\n \t\t\tvdev->vid);\n@@ -771,7 +771,7 @@ link_vmdq(struct vhost_dev *vdev, struct rte_mbuf *m)\n \t}\n \n \tfor (i = 0; i < RTE_ETHER_ADDR_LEN; i++)\n-\t\tvdev->mac_address.addr_bytes[i] = pkt_hdr->s_addr.addr_bytes[i];\n+\t\tvdev->mac_address.addr_bytes[i] = pkt_hdr->src_addr.addr_bytes[i];\n \n \t/* vlan_tag currently uses the device_id. */\n \tvdev->vlan_tag = vlan_tags[vdev->vid];\n@@ -960,7 +960,7 @@ virtio_tx_local(struct vhost_dev *vdev, struct rte_mbuf *m)\n \tuint16_t lcore_id = rte_lcore_id();\n \tpkt_hdr = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n-\tdst_vdev = find_vhost_dev(&pkt_hdr->d_addr);\n+\tdst_vdev = find_vhost_dev(&pkt_hdr->dst_addr);\n \tif (!dst_vdev)\n \t\treturn -1;\n \n@@ -1008,7 +1008,7 @@ find_local_dest(struct vhost_dev *vdev, struct rte_mbuf *m,\n \tstruct rte_ether_hdr *pkt_hdr =\n \t\trte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n-\tdst_vdev = find_vhost_dev(&pkt_hdr->d_addr);\n+\tdst_vdev = find_vhost_dev(&pkt_hdr->dst_addr);\n \tif (!dst_vdev)\n \t\treturn 0;\n \n@@ -1091,7 +1091,7 @@ virtio_tx_route(struct vhost_dev *vdev, struct rte_mbuf *m, uint16_t vlan_tag)\n \n \n \tnh = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n-\tif (unlikely(rte_is_broadcast_ether_addr(&nh->d_addr))) {\n+\tif (unlikely(rte_is_broadcast_ether_addr(&nh->dst_addr))) {\n \t\tstruct vhost_dev *vdev2;\n \n \t\tTAILQ_FOREACH(vdev2, &vhost_dev_list, global_vdev_entry) {\ndiff --git a/examples/vmdq/main.c b/examples/vmdq/main.c\nindex d3bc19f78e..cbf6883a01 100644\n--- a/examples/vmdq/main.c\n+++ b/examples/vmdq/main.c\n@@ -469,11 +469,11 @@ update_mac_address(struct rte_mbuf *m, unsigned dst_port)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dst_port << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&vmdq_ports_eth_addr[dst_port], &eth->s_addr);\n+\trte_ether_addr_copy(&vmdq_ports_eth_addr[dst_port], &eth->src_addr);\n }\n \n /* When we receive a HUP signal, print out our stats */\ndiff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c\nindex 685a03bdd1..6a444508df 100644\n--- a/examples/vmdq_dcb/main.c\n+++ b/examples/vmdq_dcb/main.c\n@@ -520,11 +520,11 @@ update_mac_address(struct rte_mbuf *m, unsigned dst_port)\n \teth = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);\n \n \t/* 02:00:00:00:00:xx */\n-\ttmp = &eth->d_addr.addr_bytes[0];\n+\ttmp = &eth->dst_addr.addr_bytes[0];\n \t*((uint64_t *)tmp) = 0x000000000002 + ((uint64_t)dst_port << 40);\n \n \t/* src addr */\n-\trte_ether_addr_copy(&vmdq_ports_eth_addr[dst_port], &eth->s_addr);\n+\trte_ether_addr_copy(&vmdq_ports_eth_addr[dst_port], &eth->src_addr);\n }\n \n /* When we receive a HUP signal, print out our stats */\ndiff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h\nindex 70f455d47d..3ce72ff198 100644\n--- a/lib/ethdev/rte_flow.h\n+++ b/lib/ethdev/rte_flow.h\n@@ -784,8 +784,8 @@ struct rte_flow_item_eth {\n /** Default mask for RTE_FLOW_ITEM_TYPE_ETH. */\n #ifndef __cplusplus\n static const struct rte_flow_item_eth rte_flow_item_eth_mask = {\n-\t.hdr.d_addr.addr_bytes = \"\\xff\\xff\\xff\\xff\\xff\\xff\",\n-\t.hdr.s_addr.addr_bytes = \"\\xff\\xff\\xff\\xff\\xff\\xff\",\n+\t.hdr.dst_addr.addr_bytes = \"\\xff\\xff\\xff\\xff\\xff\\xff\",\n+\t.hdr.src_addr.addr_bytes = \"\\xff\\xff\\xff\\xff\\xff\\xff\",\n \t.hdr.ether_type = RTE_BE16(0x0000),\n };\n #endif\ndiff --git a/lib/gro/gro_tcp4.c b/lib/gro/gro_tcp4.c\nindex feb5855144..aff22178e3 100644\n--- a/lib/gro/gro_tcp4.c\n+++ b/lib/gro/gro_tcp4.c\n@@ -243,8 +243,8 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,\n \tip_id = is_atomic ? 0 : rte_be_to_cpu_16(ipv4_hdr->packet_id);\n \tsent_seq = rte_be_to_cpu_32(tcp_hdr->sent_seq);\n \n-\trte_ether_addr_copy(&(eth_hdr->s_addr), &(key.eth_saddr));\n-\trte_ether_addr_copy(&(eth_hdr->d_addr), &(key.eth_daddr));\n+\trte_ether_addr_copy(&(eth_hdr->src_addr), &(key.eth_saddr));\n+\trte_ether_addr_copy(&(eth_hdr->dst_addr), &(key.eth_daddr));\n \tkey.ip_src_addr = ipv4_hdr->src_addr;\n \tkey.ip_dst_addr = ipv4_hdr->dst_addr;\n \tkey.src_port = tcp_hdr->src_port;\ndiff --git a/lib/gro/gro_udp4.c b/lib/gro/gro_udp4.c\nindex b8301296df..e78dda7874 100644\n--- a/lib/gro/gro_udp4.c\n+++ b/lib/gro/gro_udp4.c\n@@ -238,8 +238,8 @@ gro_udp4_reassemble(struct rte_mbuf *pkt,\n \tis_last_frag = ((frag_offset & RTE_IPV4_HDR_MF_FLAG) == 0) ? 1 : 0;\n \tfrag_offset = (uint16_t)(frag_offset & RTE_IPV4_HDR_OFFSET_MASK) << 3;\n \n-\trte_ether_addr_copy(&(eth_hdr->s_addr), &(key.eth_saddr));\n-\trte_ether_addr_copy(&(eth_hdr->d_addr), &(key.eth_daddr));\n+\trte_ether_addr_copy(&(eth_hdr->src_addr), &(key.eth_saddr));\n+\trte_ether_addr_copy(&(eth_hdr->dst_addr), &(key.eth_daddr));\n \tkey.ip_src_addr = ipv4_hdr->src_addr;\n \tkey.ip_dst_addr = ipv4_hdr->dst_addr;\n \tkey.ip_id = ip_id;\ndiff --git a/lib/gro/gro_vxlan_tcp4.c b/lib/gro/gro_vxlan_tcp4.c\nindex f3b6e603b9..2005899afe 100644\n--- a/lib/gro/gro_vxlan_tcp4.c\n+++ b/lib/gro/gro_vxlan_tcp4.c\n@@ -358,8 +358,8 @@ gro_vxlan_tcp4_reassemble(struct rte_mbuf *pkt,\n \n \tsent_seq = rte_be_to_cpu_32(tcp_hdr->sent_seq);\n \n-\trte_ether_addr_copy(&(eth_hdr->s_addr), &(key.inner_key.eth_saddr));\n-\trte_ether_addr_copy(&(eth_hdr->d_addr), &(key.inner_key.eth_daddr));\n+\trte_ether_addr_copy(&(eth_hdr->src_addr), &(key.inner_key.eth_saddr));\n+\trte_ether_addr_copy(&(eth_hdr->dst_addr), &(key.inner_key.eth_daddr));\n \tkey.inner_key.ip_src_addr = ipv4_hdr->src_addr;\n \tkey.inner_key.ip_dst_addr = ipv4_hdr->dst_addr;\n \tkey.inner_key.recv_ack = tcp_hdr->recv_ack;\n@@ -368,8 +368,8 @@ gro_vxlan_tcp4_reassemble(struct rte_mbuf *pkt,\n \n \tkey.vxlan_hdr.vx_flags = vxlan_hdr->vx_flags;\n \tkey.vxlan_hdr.vx_vni = vxlan_hdr->vx_vni;\n-\trte_ether_addr_copy(&(outer_eth_hdr->s_addr), &(key.outer_eth_saddr));\n-\trte_ether_addr_copy(&(outer_eth_hdr->d_addr), &(key.outer_eth_daddr));\n+\trte_ether_addr_copy(&(outer_eth_hdr->src_addr), &(key.outer_eth_saddr));\n+\trte_ether_addr_copy(&(outer_eth_hdr->dst_addr), &(key.outer_eth_daddr));\n \tkey.outer_ip_src_addr = outer_ipv4_hdr->src_addr;\n \tkey.outer_ip_dst_addr = outer_ipv4_hdr->dst_addr;\n \tkey.outer_src_port = udp_hdr->src_port;\ndiff --git a/lib/gro/gro_vxlan_udp4.c b/lib/gro/gro_vxlan_udp4.c\nindex 37476361d5..4767c910bb 100644\n--- a/lib/gro/gro_vxlan_udp4.c\n+++ b/lib/gro/gro_vxlan_udp4.c\n@@ -338,16 +338,16 @@ gro_vxlan_udp4_reassemble(struct rte_mbuf *pkt,\n \tis_last_frag = ((frag_offset & RTE_IPV4_HDR_MF_FLAG) == 0) ? 1 : 0;\n \tfrag_offset = (uint16_t)(frag_offset & RTE_IPV4_HDR_OFFSET_MASK) << 3;\n \n-\trte_ether_addr_copy(&(eth_hdr->s_addr), &(key.inner_key.eth_saddr));\n-\trte_ether_addr_copy(&(eth_hdr->d_addr), &(key.inner_key.eth_daddr));\n+\trte_ether_addr_copy(&(eth_hdr->src_addr), &(key.inner_key.eth_saddr));\n+\trte_ether_addr_copy(&(eth_hdr->dst_addr), &(key.inner_key.eth_daddr));\n \tkey.inner_key.ip_src_addr = ipv4_hdr->src_addr;\n \tkey.inner_key.ip_dst_addr = ipv4_hdr->dst_addr;\n \tkey.inner_key.ip_id = ip_id;\n \n \tkey.vxlan_hdr.vx_flags = vxlan_hdr->vx_flags;\n \tkey.vxlan_hdr.vx_vni = vxlan_hdr->vx_vni;\n-\trte_ether_addr_copy(&(outer_eth_hdr->s_addr), &(key.outer_eth_saddr));\n-\trte_ether_addr_copy(&(outer_eth_hdr->d_addr), &(key.outer_eth_daddr));\n+\trte_ether_addr_copy(&(outer_eth_hdr->src_addr), &(key.outer_eth_saddr));\n+\trte_ether_addr_copy(&(outer_eth_hdr->dst_addr), &(key.outer_eth_daddr));\n \tkey.outer_ip_src_addr = outer_ipv4_hdr->src_addr;\n \tkey.outer_ip_dst_addr = outer_ipv4_hdr->dst_addr;\n \t/* Note: It is unnecessary to save outer_src_port here because it can\ndiff --git a/lib/net/rte_arp.c b/lib/net/rte_arp.c\nindex 5c1e27b8c0..9f7eb6b375 100644\n--- a/lib/net/rte_arp.c\n+++ b/lib/net/rte_arp.c\n@@ -29,8 +29,8 @@ rte_net_make_rarp_packet(struct rte_mempool *mpool,\n \t}\n \n \t/* Ethernet header. */\n-\tmemset(eth_hdr->d_addr.addr_bytes, 0xff, RTE_ETHER_ADDR_LEN);\n-\trte_ether_addr_copy(mac, &eth_hdr->s_addr);\n+\tmemset(eth_hdr->dst_addr.addr_bytes, 0xff, RTE_ETHER_ADDR_LEN);\n+\trte_ether_addr_copy(mac, &eth_hdr->src_addr);\n \teth_hdr->ether_type = RTE_BE16(RTE_ETHER_TYPE_RARP);\n \n \t/* RARP header. */\ndiff --git a/lib/net/rte_ether.h b/lib/net/rte_ether.h\nindex 7ee5e9a292..ff9829a3a3 100644\n--- a/lib/net/rte_ether.h\n+++ b/lib/net/rte_ether.h\n@@ -253,34 +253,16 @@ __rte_experimental\n int\n rte_ether_unformat_addr(const char *str, struct rte_ether_addr *eth_addr);\n \n-/* Windows Sockets headers contain `#define s_addr S_un.S_addr`.\n- * Temporarily disable this macro to avoid conflict at definition.\n- * Place source MAC address in both `s_addr` and `S_un.S_addr` fields,\n- * so that access works either directly or through the macro.\n- */\n-#pragma push_macro(\"s_addr\")\n-#ifdef s_addr\n-#undef s_addr\n-#endif\n-\n /**\n  * Ethernet header: Contains the destination address, source address\n  * and frame type.\n  */\n struct rte_ether_hdr {\n-\tstruct rte_ether_addr d_addr; /**< Destination address. */\n-\tRTE_STD_C11\n-\tunion {\n-\t\tstruct rte_ether_addr s_addr; /**< Source address. */\n-\t\tstruct {\n-\t\t\tstruct rte_ether_addr S_addr;\n-\t\t} S_un; /**< Do not use directly; use s_addr instead.*/\n-\t};\n+\tstruct rte_ether_addr dst_addr; /**< Destination address. */\n+\tstruct rte_ether_addr src_addr; /**< Source address. */\n \trte_be16_t ether_type; /**< Frame type. */\n } __rte_aligned(2);\n \n-#pragma pop_macro(\"s_addr\")\n-\n /**\n  * Ethernet VLAN Header.\n  * Contains the 16-bit VLAN Tag Control Identifier and the Ethernet type\ndiff --git a/lib/pipeline/rte_table_action.c b/lib/pipeline/rte_table_action.c\nindex 98f3438774..8c010763c7 100644\n--- a/lib/pipeline/rte_table_action.c\n+++ b/lib/pipeline/rte_table_action.c\n@@ -615,8 +615,8 @@ encap_ether_apply(void *data,\n \t\tRTE_ETHER_TYPE_IPV6;\n \n \t/* Ethernet */\n-\trte_ether_addr_copy(&p->ether.ether.da, &d->ether.d_addr);\n-\trte_ether_addr_copy(&p->ether.ether.sa, &d->ether.s_addr);\n+\trte_ether_addr_copy(&p->ether.ether.da, &d->ether.dst_addr);\n+\trte_ether_addr_copy(&p->ether.ether.sa, &d->ether.src_addr);\n \td->ether.ether_type = rte_htons(ethertype);\n \n \treturn 0;\n@@ -633,8 +633,8 @@ encap_vlan_apply(void *data,\n \t\tRTE_ETHER_TYPE_IPV6;\n \n \t/* Ethernet */\n-\trte_ether_addr_copy(&p->vlan.ether.da, &d->ether.d_addr);\n-\trte_ether_addr_copy(&p->vlan.ether.sa, &d->ether.s_addr);\n+\trte_ether_addr_copy(&p->vlan.ether.da, &d->ether.dst_addr);\n+\trte_ether_addr_copy(&p->vlan.ether.sa, &d->ether.src_addr);\n \td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_VLAN);\n \n \t/* VLAN */\n@@ -657,8 +657,8 @@ encap_qinq_apply(void *data,\n \t\tRTE_ETHER_TYPE_IPV6;\n \n \t/* Ethernet */\n-\trte_ether_addr_copy(&p->qinq.ether.da, &d->ether.d_addr);\n-\trte_ether_addr_copy(&p->qinq.ether.sa, &d->ether.s_addr);\n+\trte_ether_addr_copy(&p->qinq.ether.da, &d->ether.dst_addr);\n+\trte_ether_addr_copy(&p->qinq.ether.sa, &d->ether.src_addr);\n \td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_QINQ);\n \n \t/* SVLAN */\n@@ -683,8 +683,8 @@ encap_qinq_pppoe_apply(void *data,\n \tstruct encap_qinq_pppoe_data *d = data;\n \n \t/* Ethernet */\n-\trte_ether_addr_copy(&p->qinq.ether.da, &d->ether.d_addr);\n-\trte_ether_addr_copy(&p->qinq.ether.sa, &d->ether.s_addr);\n+\trte_ether_addr_copy(&p->qinq.ether.da, &d->ether.dst_addr);\n+\trte_ether_addr_copy(&p->qinq.ether.sa, &d->ether.src_addr);\n \td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_VLAN);\n \n \t/* SVLAN */\n@@ -719,8 +719,8 @@ encap_mpls_apply(void *data,\n \tuint32_t i;\n \n \t/* Ethernet */\n-\trte_ether_addr_copy(&p->mpls.ether.da, &d->ether.d_addr);\n-\trte_ether_addr_copy(&p->mpls.ether.sa, &d->ether.s_addr);\n+\trte_ether_addr_copy(&p->mpls.ether.da, &d->ether.dst_addr);\n+\trte_ether_addr_copy(&p->mpls.ether.sa, &d->ether.src_addr);\n \td->ether.ether_type = rte_htons(ethertype);\n \n \t/* MPLS */\n@@ -746,8 +746,8 @@ encap_pppoe_apply(void *data,\n \tstruct encap_pppoe_data *d = data;\n \n \t/* Ethernet */\n-\trte_ether_addr_copy(&p->pppoe.ether.da, &d->ether.d_addr);\n-\trte_ether_addr_copy(&p->pppoe.ether.sa, &d->ether.s_addr);\n+\trte_ether_addr_copy(&p->pppoe.ether.da, &d->ether.dst_addr);\n+\trte_ether_addr_copy(&p->pppoe.ether.sa, &d->ether.src_addr);\n \td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_PPPOE_SESSION);\n \n \t/* PPPoE and PPP*/\n@@ -777,9 +777,9 @@ encap_vxlan_apply(void *data,\n \n \t\t\t/* Ethernet */\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.da,\n-\t\t\t\t\t&d->ether.d_addr);\n+\t\t\t\t\t&d->ether.dst_addr);\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.sa,\n-\t\t\t\t\t&d->ether.s_addr);\n+\t\t\t\t\t&d->ether.src_addr);\n \t\t\td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_VLAN);\n \n \t\t\t/* VLAN */\n@@ -818,9 +818,9 @@ encap_vxlan_apply(void *data,\n \n \t\t\t/* Ethernet */\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.da,\n-\t\t\t\t\t&d->ether.d_addr);\n+\t\t\t\t\t&d->ether.dst_addr);\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.sa,\n-\t\t\t\t\t&d->ether.s_addr);\n+\t\t\t\t\t&d->ether.src_addr);\n \t\t\td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_IPV4);\n \n \t\t\t/* IPv4*/\n@@ -855,9 +855,9 @@ encap_vxlan_apply(void *data,\n \n \t\t\t/* Ethernet */\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.da,\n-\t\t\t\t\t&d->ether.d_addr);\n+\t\t\t\t\t&d->ether.dst_addr);\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.sa,\n-\t\t\t\t\t&d->ether.s_addr);\n+\t\t\t\t\t&d->ether.src_addr);\n \t\t\td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_VLAN);\n \n \t\t\t/* VLAN */\n@@ -896,9 +896,9 @@ encap_vxlan_apply(void *data,\n \n \t\t\t/* Ethernet */\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.da,\n-\t\t\t\t\t&d->ether.d_addr);\n+\t\t\t\t\t&d->ether.dst_addr);\n \t\t\trte_ether_addr_copy(&p->vxlan.ether.sa,\n-\t\t\t\t\t&d->ether.s_addr);\n+\t\t\t\t\t&d->ether.src_addr);\n \t\t\td->ether.ether_type = rte_htons(RTE_ETHER_TYPE_IPV6);\n \n \t\t\t/* IPv6*/\n",
    "prefixes": [
        "5/5"
    ]
}