DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	Bruce Richardson <bruce.richardson@intel.com>
Subject: [dpdk-dev] [PATCH v2 2/7] ether: do not mark ethernet address and header as packed
Date: Thu, 16 May 2019 11:04:22 -0700	[thread overview]
Message-ID: <20190516180427.17270-3-stephen@networkplumber.org> (raw)
In-Reply-To: <20190516180427.17270-1-stephen@networkplumber.org>

Since the Ethernet address and header are naturally aligned
correctly on all architectures, there is no need to mark them
as packed. This results in faster code, and also gets rid of
warnings with gcc-9 about getting address of packed structure.

Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_net/rte_ether.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index ac8897681aca..0954d183cca7 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -57,7 +57,7 @@ extern "C" {
 struct ether_addr {
 	/** Addr bytes in tx order */
 	uint8_t addr_bytes[ETHER_ADDR_LEN] __rte_aligned(2);
-} __attribute__((__packed__));
+};
 
 #define ETHER_LOCAL_ADMIN_ADDR 0x02 /**< Locally assigned Eth. address. */
 #define ETHER_GROUP_ADDR       0x01 /**< Multicast or broadcast Eth. address. */
@@ -273,7 +273,7 @@ struct ether_hdr {
 	struct ether_addr d_addr; /**< Destination address. */
 	struct ether_addr s_addr; /**< Source address. */
 	uint16_t ether_type;      /**< Frame type. */
-} __attribute__((__packed__));
+};
 
 /**
  * Ethernet VLAN Header.
@@ -283,7 +283,7 @@ struct ether_hdr {
 struct vlan_hdr {
 	uint16_t vlan_tci; /**< Priority (3) + CFI (1) + Identifier Code (12) */
 	uint16_t eth_proto;/**< Ethernet type of encapsulated frame. */
-} __attribute__((__packed__));
+};
 
 /**
  * VXLAN protocol header.
@@ -293,7 +293,7 @@ struct vlan_hdr {
 struct vxlan_hdr {
 	uint32_t vx_flags; /**< flag (8) + Reserved (24). */
 	uint32_t vx_vni;   /**< VNI (24) + Reserved (8). */
-} __attribute__((__packed__));
+};
 
 /* Ethernet frame types */
 #define ETHER_TYPE_IPv4 0x0800 /**< IPv4 Protocol. */
@@ -325,7 +325,7 @@ struct vxlan_gpe_hdr {
 	uint8_t reserved[2]; /**< Reserved (16). */
 	uint8_t proto;       /**< next-protocol (8). */
 	uint32_t vx_vni;     /**< VNI (24) + Reserved (8). */
-} __attribute__((__packed__));
+};
 
 /* VXLAN-GPE next protocol types */
 #define VXLAN_GPE_TYPE_IPV4 1 /**< IPv4 Protocol. */
-- 
2.20.1


  parent reply	other threads:[~2019-05-16 18:04 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-16 18:04 [dpdk-dev] [PATCH v2 0/7] ether: improvements and optimizations Stephen Hemminger
2019-05-16 18:04 ` [dpdk-dev] [PATCH v2 1/7] ether: mark ethernet addresses as being 2-byte aligned Stephen Hemminger
2019-05-16 18:04 ` Stephen Hemminger [this message]
2019-05-16 20:40   ` [dpdk-dev] [PATCH v2 2/7] ether: do not mark ethernet address and header as packed Bruce Richardson
2019-05-16 23:17     ` Stephen Hemminger
2019-05-16 18:04 ` [dpdk-dev] [PATCH v2 3/7] ether: deinline non-critical functions Stephen Hemminger
2019-05-16 18:29   ` Rami Rosen
2019-05-17  7:08   ` David Marchand
2019-05-16 18:04 ` [dpdk-dev] [PATCH v2 4/7] ether: add eth_unformat_addr Stephen Hemminger
2019-05-17  7:08   ` David Marchand
2019-05-16 18:04 ` [dpdk-dev] [PATCH v2 5/7] ethdev: use eth_unformat_addr Stephen Hemminger
2019-05-16 18:04 ` [dpdk-dev] [PATCH v2 6/7] ether: use bitops to speedup comparison Stephen Hemminger
2019-05-16 18:04 ` [dpdk-dev] [PATCH v2 7/7] cmdline: use ether_unformat_addr Stephen Hemminger
2019-06-05  1:08 ` [dpdk-dev] [PATCH v3 0/6] net/ether: improvements and optimizations Stephen Hemminger
2019-06-05  1:08   ` [dpdk-dev] [PATCH v3 1/6] net/rte_ether: deinline non-critical functions Stephen Hemminger
2019-06-05  8:44     ` Andrew Rybchenko
2019-06-05 16:29       ` Stephen Hemminger
2019-06-05  1:08   ` [dpdk-dev] [PATCH v3 2/6] net/ether: add rte_eth_unformat_addr Stephen Hemminger
2019-06-05  8:55     ` Andrew Rybchenko
2019-06-05 16:31       ` Stephen Hemminger
2019-06-05  1:08   ` [dpdk-dev] [PATCH v3 3/6] ethdev: use rte_eth_unformat_addr Stephen Hemminger
2019-06-05  8:59     ` Andrew Rybchenko
2019-06-05 15:02       ` Stephen Hemminger
2019-06-05 16:33       ` Stephen Hemminger
2019-06-05  1:08   ` [dpdk-dev] [PATCH v3 4/6] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-06-05  9:02     ` Andrew Rybchenko
2019-06-05  1:08   ` [dpdk-dev] [PATCH v3 5/6] net/ether: mark ethernet addresses as being 2-byte aligned Stephen Hemminger
2019-06-05  9:04     ` Andrew Rybchenko
2019-06-05  1:08   ` [dpdk-dev] [PATCH v3 6/6] cmdline: use rte_ether_unformat_addr Stephen Hemminger
2019-06-05 18:09 ` [dpdk-dev] [PATCH v4 0/8] net/ether: enhancements and optimizations Stephen Hemminger
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 1/8] net/rte_ether: deinline non-critical functions Stephen Hemminger
2019-06-06  8:06     ` Maxime Coquelin
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 2/8] net/ether: add rte_eth_unformat_addr Stephen Hemminger
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 3/8] ethdev: use rte_eth_unformat_addr Stephen Hemminger
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 4/8] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 5/8] net/ether: mark ethernet addresses as being 2-byte aligned Stephen Hemminger
2019-06-07 16:59     ` Ananyev, Konstantin
2019-06-07 18:35       ` Stephen Hemminger
2019-06-07 20:40         ` Richardson, Bruce
2019-06-08 11:51         ` Ananyev, Konstantin
2019-06-07 20:39       ` Richardson, Bruce
2019-06-08 12:15         ` Ananyev, Konstantin
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 6/8] cmdline: use rte_ether_unformat_addr Stephen Hemminger
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 7/8] net/bonding: use rte_ether_unformat_addr rather than cmdline_parse Stephen Hemminger
2019-06-05 18:09   ` [dpdk-dev] [PATCH v4 8/8] app/testpmd: use rte_ether_unformat_addr Stephen Hemminger
2019-06-20 14:18     ` Iremonger, Bernard
2019-06-20 16:12       ` Stephen Hemminger
2019-06-24 20:44 ` [dpdk-dev] [PATCH v5 0/8] net/ether: enhancements and optimizations Stephen Hemminger
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 1/8] net/rte_ether: deinline non-critical functions Stephen Hemminger
2019-07-02  7:56     ` Olivier Matz
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 2/8] net/ether: add function to convert string to ethernet address Stephen Hemminger
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 3/8] ethdev: use new ethernet parsing function Stephen Hemminger
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 4/8] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-07-02  7:53     ` Olivier Matz
2019-07-02  9:26       ` Olivier Matz
2019-07-02 15:28         ` Stephen Hemminger
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 5/8] net/ether: mark ethernet addresses as being 2-byte aligned Stephen Hemminger
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 6/8] cmdline: use new ethernet address parser Stephen Hemminger
     [not found]     ` <8688172CD5C0B74590FAE19D9579F94B53742875@SHSMSX103.ccr.corp.intel.com>
2019-07-16 16:17       ` Stephen Hemminger
2019-07-17 14:04         ` Aaron Conole
2019-07-17 14:39           ` Olivier Matz
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 7/8] net/bonding: " Stephen Hemminger
2019-06-24 20:44   ` [dpdk-dev] [PATCH v5 8/8] app/testpmd: " Stephen Hemminger
2019-07-02 16:50 ` [dpdk-dev] [PATCH v6 0/8] net/ether: enhancements and optimizations Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 1/8] net/rte_ether: deinline non-critical functions Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 2/8] net/ether: add function to convert string to ethernet address Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 3/8] ethdev: use new ethernet parsing function Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 4/8] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 5/8] net/ether: mark ethernet addresses as being 2-byte aligned Stephen Hemminger
2019-07-02 21:46     ` Ananyev, Konstantin
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 6/8] cmdline: use new ethernet address parser Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 7/8] net/bonding: " Stephen Hemminger
2019-07-02 16:50   ` [dpdk-dev] [PATCH v6 8/8] app/testpmd: " Stephen Hemminger
2019-07-02 21:37   ` [dpdk-dev] [PATCH v6 0/8] net/ether: enhancements and optimizations Thomas Monjalon
2019-07-02 22:03     ` Stephen Hemminger
2019-07-02 22:12 ` [dpdk-dev] [PATCH v7 00/12] ether: improvements " Stephen Hemminger
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 01/12] net/rte_ether: deinline non-critical functions Stephen Hemminger
2019-07-05 14:25     ` Olivier Matz
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 02/12] net/ether: add function to convert string to ethernet address Stephen Hemminger
2019-07-05 14:25     ` Olivier Matz
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 03/12] ethdev: use new ethernet parsing function Stephen Hemminger
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 04/12] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-07-05 14:34     ` Olivier Matz
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 05/12] net/ether: mark ethernet addresses as being 2-byte aligned Stephen Hemminger
2019-07-05 14:34     ` Olivier Matz
2019-07-05 15:45       ` Richardson, Bruce
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 06/12] cmdline: use new ethernet address parser Stephen Hemminger
2019-07-05 14:46     ` Olivier Matz
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 07/12] net/bonding: " Stephen Hemminger
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 08/12] app/testpmd: " Stephen Hemminger
2019-07-03 13:30     ` Iremonger, Bernard
2019-07-05 17:12       ` Stephen Hemminger
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 09/12] net/virtio: use new ether addr parsing Stephen Hemminger
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 10/12] net/failsafe: use common ether address parsing routine Stephen Hemminger
2019-07-03  9:10     ` Gaëtan Rivet
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 11/12] net/vdev_netvsc: use common ethernet address parsing Stephen Hemminger
2019-07-03  8:12     ` Matan Azrad
2019-07-02 22:12   ` [dpdk-dev] [PATCH v7 12/12] net/memif: use common ethernet address parsing routine Stephen Hemminger
2019-07-05 17:16 ` [dpdk-dev] [PATCH v8 00/11] ether: improvements and optimizations Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 01/11] net/ether: deinline non-critical functions Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 02/11] net/ether: add function to convert string to ethernet address Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 03/11] ethdev: use new ethernet parsing function Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 04/11] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 05/11] cmdline: use new ethernet address parser Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 06/11] net/bonding: " Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 07/11] app/testpmd: " Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 08/11] net/virtio: use new ether addr parsing Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 09/11] net/failsafe: use common ether address parsing routine Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 10/11] net/vdev_netvsc: use common ethernet address parsing Stephen Hemminger
2019-07-05 17:16   ` [dpdk-dev] [PATCH v8 11/11] net/memif: use common ethernet address parsing routine Stephen Hemminger
2019-07-08 18:26 ` [dpdk-dev] [PATCH v9 00/11] ether: improvements and optimizations Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 01/11] net/ether: deinline non-critical functions Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 02/11] net/ether: add function to convert string to ethernet address Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 03/11] ethdev: use new ethernet parsing function Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 04/11] net/ether: use bitops to speedup comparison Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 05/11] cmdline: use new ethernet address parser Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 06/11] net/bonding: " Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 07/11] app/testpmd: " Stephen Hemminger
2019-07-21 13:42     ` Raslan Darawsheh
2019-07-22 12:09       ` Thomas Monjalon
2019-07-22 16:15       ` Ferruh Yigit
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 08/11] net/virtio: use new ether addr parsing Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 09/11] net/failsafe: use common ether address parsing routine Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 10/11] net/vdev_netvsc: use common ethernet address parsing Stephen Hemminger
2019-07-08 18:26   ` [dpdk-dev] [PATCH v9 11/11] net/memif: use common ethernet address parsing routine Stephen Hemminger
2019-07-08 19:13   ` [dpdk-dev] [PATCH v9 00/11] ether: improvements and optimizations Ferruh Yigit
2019-07-09 15:01     ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190516180427.17270-3-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).