[dpdk-dev] [PATCH v1 0/6] Address various issues with exported headers

Adrien Mazarguil adrien.mazarguil at 6wind.com
Thu Dec 21 13:59:52 CET 2017


Exported header files are installed system-wide and must be as clean and
self-sufficient as possible. In particular they must not conflict with other
system headers and cannot assume specific command-line options will be
provided to the compiler by users, unless their absence is detected and
triggers appropriate #error messages.

This series addresses the following issues:

- The lack of rte_config.h inclusion in most of them.
- The inability to combine rte_ether.h with system's net/ethernet.h,
  preventing applications from using the ether_ntoa() family of functions.
- A couple of GNUisms (e.g. named variadic arguments in macro definitions).

Adrien Mazarguil (6):
  devtools: update check-includes exceptions
  net/i40e: fix issue in exported header
  flow_classify: fix issue in exported header
  member: fix issue in exported header
  fix missing includes in exported headers
  net: fix rte_ether conflicts with libc

 devtools/check-includes.sh                      |  1 +
 drivers/net/avp/rte_avp_common.h                |  1 +
 drivers/net/i40e/base/i40e_osdep.h              |  1 +
 drivers/net/i40e/rte_pmd_i40e.h                 |  2 +-
 drivers/net/ixgbe/base/ixgbe_osdep.h            |  1 +
 drivers/net/qede/base/bcm_osal.h                |  1 -
 lib/librte_cmdline/cmdline_cirbuf.h             |  2 ++
 lib/librte_cryptodev/rte_cryptodev.h            |  1 +
 lib/librte_cryptodev/rte_cryptodev_pmd.h        |  1 +
 .../common/include/arch/x86/rte_atomic.h        |  1 +
 .../common/include/arch/x86/rte_byteorder.h     |  1 +
 .../common/include/arch/x86/rte_cycles.h        |  1 +
 .../common/include/arch/x86/rte_memcpy.h        |  1 +
 .../common/include/arch/x86/rte_vect.h          |  1 +
 .../common/include/generic/rte_byteorder.h      |  1 +
 lib/librte_eal/common/include/rte_bitmap.h      |  1 +
 lib/librte_eal/common/include/rte_common.h      |  2 ++
 lib/librte_eal/common/include/rte_dev.h         |  1 +
 lib/librte_eal/common/include/rte_eal.h         |  1 +
 .../common/include/rte_eal_memconfig.h          |  1 +
 lib/librte_eal/common/include/rte_keepalive.h   |  1 +
 lib/librte_eal/common/include/rte_lcore.h       |  1 +
 lib/librte_eal/common/include/rte_log.h         |  1 +
 lib/librte_eal/common/include/rte_memory.h      |  1 +
 lib/librte_eal/common/include/rte_service.h     |  1 +
 .../eal/include/exec-env/rte_kni_common.h       |  1 +
 lib/librte_ether/rte_ethdev.h                   |  1 +
 lib/librte_ether/rte_ethdev_pci.h               |  1 +
 lib/librte_ether/rte_ethdev_vdev.h              |  1 +
 lib/librte_eventdev/rte_eventdev.h              |  1 +
 lib/librte_eventdev/rte_eventdev_pmd.h          |  1 +
 lib/librte_eventdev/rte_eventdev_pmd_pci.h      |  1 +
 lib/librte_eventdev/rte_eventdev_pmd_vdev.h     |  1 +
 lib/librte_flow_classify/rte_flow_classify.h    | 10 +++++--
 lib/librte_hash/rte_fbk_hash.h                  |  1 +
 lib/librte_hash/rte_hash_crc.h                  |  1 +
 lib/librte_hash/rte_jhash.h                     |  1 +
 lib/librte_hash/rte_thash.h                     |  1 +
 lib/librte_ip_frag/rte_ip_frag.h                |  1 +
 lib/librte_lpm/rte_lpm.h                        |  1 +
 lib/librte_mbuf/rte_mbuf.h                      |  1 +
 lib/librte_member/rte_member.h                  | 12 ++++++--
 lib/librte_mempool/rte_mempool.h                |  1 +
 lib/librte_net/rte_ether.h                      | 30 +++++++++++++-------
 lib/librte_ring/rte_ring.h                      |  1 +
 lib/librte_table/rte_lru.h                      |  1 +
 lib/librte_table/rte_lru_x86.h                  |  2 ++
 lib/librte_timer/rte_timer.h                    |  1 +
 48 files changed, 83 insertions(+), 18 deletions(-)

-- 
2.11.0


More information about the dev mailing list