[dpdk-dev] Aligning net/ethernet.h and rte_ether.h

Stephen Hemminger stephen at networkplumber.org
Wed Dec 2 20:45:58 CET 2015


The two header files net/ethenet.h and rte_ether.h are source
incompatiable right now. They both define a bunch of constants
and struct ether_addr; the effective values are the same but
the structure element name is different.

/usr/include/net/ether.h
/* This is a name for the 48 bit ethernet address available on many
   systems.  */
struct ether_addr
{
  u_int8_t ether_addr_octet[ETH_ALEN];
} __attribute__ ((__packed__));

lib/librte_ether/rte_ether.h
struct ether_addr {
	uint8_t addr_bytes[ETHER_ADDR_LEN]; /**< Address bytes in transmission order */
} __attribute__((__packed__));


I would like to just have rte_ether.h include netinet/ether.h
to get rid of the useless duplication, and fix all the code in DPDK.
But this will break out-of-tree source compatibility so best to
wait for DPDK 2.3. Is there a good place to put this in 2.2 release notes?


More information about the dev mailing list