From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [RFC 00/14] prefix network structures Date: Wed, 24 Oct 2018 11:38:12 -0700 Message-ID: <20181024113812.3318eb54@xeon-e3> References: <20181024081833.21432-1-olivier.matz@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org To: Olivier Matz Return-path: Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by dpdk.org (Postfix) with ESMTP id 89BE04F91 for ; Wed, 24 Oct 2018 20:38:26 +0200 (CEST) Received: by mail-pf1-f193.google.com with SMTP id r64-v6so2838950pfb.13 for ; Wed, 24 Oct 2018 11:38:26 -0700 (PDT) In-Reply-To: <20181024081833.21432-1-olivier.matz@6wind.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, 24 Oct 2018 10:18:19 +0200 Olivier Matz wrote: > This RFC targets 19.02. > > The rte_net headers conflict with the libc headers, because > some definitions are duplicated, sometimes with few differences. > This was discussed in [1], and more recently at the techboard. > > Before sending the deprecation notice (target for this is 18.11), > here is a draft that can be discussed. > > This RFC adds the rte_ (or RTE_) prefix to all structures, functions > and defines in rte_net library. This is a big changeset, that will > break the API of many functions, but not the ABI. > > One question I'm asking is how can we manage the transition. > Initially, I hoped it was possible to have a compat layer during > one release (supporting both prefixed and unprefixed names), but > now that the patch is done, it seems the impact is too big, and > impacts too many libraries. > > Few examples: > - rte_eth_macaddr_get/add/remove() use a (struct rte_ether_addr *) > - many rte_flow structures use the rte_ prefixed net structures > - the mac field of virtio_net structure is rte_ether_addr > - the first arg of rte_thash_load_v6_addrs is (struct rte_ipv6_hdr *) > ... > > Therefore, it is clear that doing this would break the compilation > of many external applications. > > Another drawback we need to take in account: it will make the > backport of patches more difficult, although this is something > that could be tempered by a script. > > While it is obviously better to have a good namespace convention, > we need to identify the issues we have today before deciding it's > worth doing the change. > > Comments? > > > Things that are missing in RFC: > - test with FreeBSD > - manually fix some indentation issues > > > Olivier Matz (14): > net: add rte prefix to arp structures > net: add rte prefix to arp defines > net: add rte prefix to ether structures > net: add rte prefix to ether functions > net: add rte prefix to ether defines > net: add rte prefix to esp structure > net: add rte prefix to gre structure > net: add rte prefix to icmp structure > net: add rte prefix to icmp defines > net: add rte prefix to ip structure > net: add rte prefix to ip defines > net: add rte prefix to sctp structure > net: add rte prefix to tcp structure > net: add rte prefix to udp structure > > app/pdump/main.c | 2 +- > app/test-eventdev/test_perf_common.c | 2 +- > app/test-eventdev/test_pipeline_common.c | 2 +- > app/test-pmd/cmdline.c | 66 ++--- > app/test-pmd/cmdline_flow.c | 10 +- > app/test-pmd/config.c | 34 +-- > app/test-pmd/csumonly.c | 156 +++++----- > app/test-pmd/flowgen.c | 30 +- > app/test-pmd/icmpecho.c | 120 ++++---- > app/test-pmd/ieee1588fwd.c | 18 +- > app/test-pmd/macfwd.c | 12 +- > app/test-pmd/macswap.c | 16 +- > app/test-pmd/parameters.c | 6 +- > app/test-pmd/testpmd.c | 22 +- > app/test-pmd/testpmd.h | 18 +- > app/test-pmd/txonly.c | 36 +-- > app/test-pmd/util.c | 34 +-- > doc/guides/prog_guide/bbdev.rst | 6 +- > .../prog_guide/packet_classif_access_ctrl.rst | 18 +- > doc/guides/prog_guide/rte_flow.rst | 4 +- > doc/guides/sample_app_ug/flow_classify.rst | 28 +- > doc/guides/sample_app_ug/flow_filtering.rst | 6 +- > doc/guides/sample_app_ug/ip_frag.rst | 16 +- > doc/guides/sample_app_ug/ip_reassembly.rst | 16 +- > doc/guides/sample_app_ug/ipv4_multicast.rst | 16 +- > doc/guides/sample_app_ug/l2_forward_job_stats.rst | 6 +- > .../sample_app_ug/l2_forward_real_virtual.rst | 6 +- > doc/guides/sample_app_ug/l3_forward.rst | 12 +- > doc/guides/sample_app_ug/link_status_intr.rst | 6 +- > doc/guides/sample_app_ug/ptpclient.rst | 6 +- > doc/guides/sample_app_ug/rxtx_callbacks.rst | 2 +- > doc/guides/sample_app_ug/server_node_efd.rst | 12 +- > doc/guides/sample_app_ug/skeleton.rst | 4 +- > doc/guides/sample_app_ug/vmdq_dcb_forwarding.rst | 4 +- > drivers/bus/dpaa/base/fman/fman.c | 2 +- > drivers/bus/dpaa/base/fman/fman_hw.c | 2 +- > drivers/bus/dpaa/include/fman.h | 2 +- > drivers/bus/dpaa/include/netcfg.h | 4 +- > drivers/net/af_packet/rte_eth_af_packet.c | 2 +- > drivers/net/ark/ark_ethdev.c | 16 +- > drivers/net/ark/ark_ext.h | 4 +- > drivers/net/ark/ark_global.h | 4 +- > drivers/net/atlantic/atl_ethdev.c | 20 +- > drivers/net/atlantic/hw_atl/hw_atl_utils.c | 8 +- > drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c | 4 +- > drivers/net/avf/avf.h | 4 +- > drivers/net/avf/avf_ethdev.c | 50 ++-- > drivers/net/avf/avf_rxtx.c | 14 +- > drivers/net/avf/avf_vchnl.c | 8 +- > drivers/net/avf/base/avf_adminq_cmd.h | 4 +- > drivers/net/avf/base/avf_common.c | 12 +- > drivers/net/avf/base/avf_prototype.h | 4 +- > drivers/net/avp/avp_ethdev.c | 20 +- > drivers/net/avp/rte_avp_common.h | 2 +- > drivers/net/axgbe/axgbe_dev.c | 4 +- > drivers/net/axgbe/axgbe_ethdev.c | 10 +- > drivers/net/axgbe/axgbe_ethdev.h | 4 +- > drivers/net/axgbe/axgbe_rxtx.c | 2 +- > drivers/net/bnx2x/bnx2x.c | 16 +- > drivers/net/bnx2x/bnx2x_ethdev.c | 4 +- > drivers/net/bnx2x/bnx2x_ethdev.h | 2 +- > drivers/net/bnx2x/bnx2x_vfpf.c | 8 +- > drivers/net/bnx2x/bnx2x_vfpf.h | 2 +- > drivers/net/bnx2x/ecore_sp.h | 2 +- > drivers/net/bnxt/bnxt.h | 4 +- > drivers/net/bnxt/bnxt_ethdev.c | 70 ++--- > drivers/net/bnxt/bnxt_filter.c | 4 +- > drivers/net/bnxt/bnxt_filter.h | 8 +- > drivers/net/bnxt/bnxt_flow.c | 26 +- > drivers/net/bnxt/bnxt_hwrm.c | 40 +-- > drivers/net/bnxt/bnxt_hwrm.h | 2 +- > drivers/net/bnxt/bnxt_ring.c | 8 +- > drivers/net/bnxt/bnxt_rxq.c | 2 +- > drivers/net/bnxt/bnxt_rxr.c | 2 +- > drivers/net/bnxt/bnxt_vnic.c | 2 +- > drivers/net/bnxt/rte_pmd_bnxt.c | 14 +- > drivers/net/bnxt/rte_pmd_bnxt.h | 4 +- > drivers/net/bonding/rte_eth_bond.h | 2 +- > drivers/net/bonding/rte_eth_bond_8023ad.c | 26 +- > drivers/net/bonding/rte_eth_bond_8023ad.h | 10 +- > drivers/net/bonding/rte_eth_bond_alb.c | 78 ++--- > drivers/net/bonding/rte_eth_bond_alb.h | 10 +- > drivers/net/bonding/rte_eth_bond_api.c | 2 +- > drivers/net/bonding/rte_eth_bond_args.c | 2 +- > drivers/net/bonding/rte_eth_bond_pmd.c | 194 ++++++------- > drivers/net/bonding/rte_eth_bond_private.h | 6 +- > drivers/net/cxgbe/base/adapter.h | 6 +- > drivers/net/cxgbe/base/t4_hw.c | 8 +- > drivers/net/cxgbe/cxgbe.h | 4 +- > drivers/net/cxgbe/cxgbe_ethdev.c | 14 +- > drivers/net/cxgbe/cxgbe_filter.h | 2 +- > drivers/net/cxgbe/cxgbe_flow.c | 10 +- > drivers/net/cxgbe/cxgbe_main.c | 4 +- > drivers/net/cxgbe/cxgbe_pfvf.h | 2 +- > drivers/net/cxgbe/cxgbevf_main.c | 2 +- > drivers/net/cxgbe/l2t.c | 8 +- > drivers/net/cxgbe/l2t.h | 2 +- > drivers/net/cxgbe/mps_tcam.c | 14 +- > drivers/net/cxgbe/mps_tcam.h | 4 +- > drivers/net/cxgbe/sge.c | 8 +- > drivers/net/dpaa/dpaa_ethdev.c | 20 +- > drivers/net/dpaa/dpaa_rxtx.c | 22 +- > drivers/net/dpaa2/dpaa2_ethdev.c | 36 +-- > drivers/net/e1000/e1000_ethdev.h | 2 +- > drivers/net/e1000/em_ethdev.c | 34 +-- > drivers/net/e1000/em_rxtx.c | 22 +- > drivers/net/e1000/igb_ethdev.c | 70 ++--- > drivers/net/e1000/igb_flow.c | 12 +- > drivers/net/e1000/igb_pf.c | 16 +- > drivers/net/e1000/igb_rxtx.c | 18 +- > drivers/net/ena/ena_ethdev.c | 16 +- > drivers/net/ena/ena_ethdev.h | 2 +- > drivers/net/enetc/base/enetc_hw.h | 4 +- > drivers/net/enetc/enetc_ethdev.c | 6 +- > drivers/net/enic/enic.h | 2 +- > drivers/net/enic/enic_clsf.c | 40 +-- > drivers/net/enic/enic_ethdev.c | 4 +- > drivers/net/enic/enic_flow.c | 100 +++---- > drivers/net/enic/enic_main.c | 2 +- > drivers/net/enic/enic_res.c | 4 +- > drivers/net/failsafe/failsafe.c | 6 +- > drivers/net/failsafe/failsafe_args.c | 4 +- > drivers/net/failsafe/failsafe_ether.c | 6 +- > drivers/net/failsafe/failsafe_ops.c | 6 +- > drivers/net/failsafe/failsafe_private.h | 4 +- > drivers/net/fm10k/fm10k.h | 2 +- > drivers/net/fm10k/fm10k_ethdev.c | 18 +- > drivers/net/i40e/base/i40e_adminq_cmd.h | 4 +- > drivers/net/i40e/base/i40e_common.c | 12 +- > drivers/net/i40e/base/i40e_prototype.h | 4 +- > drivers/net/i40e/i40e_ethdev.c | 134 ++++----- > drivers/net/i40e/i40e_ethdev.h | 22 +- > drivers/net/i40e/i40e_ethdev_vf.c | 60 ++-- > drivers/net/i40e/i40e_fdir.c | 126 ++++---- > drivers/net/i40e/i40e_flow.c | 58 ++-- > drivers/net/i40e/i40e_pf.c | 18 +- > drivers/net/i40e/i40e_rxtx.c | 28 +- > drivers/net/i40e/i40e_vf_representor.c | 2 +- > drivers/net/i40e/rte_pmd_i40e.c | 30 +- > drivers/net/i40e/rte_pmd_i40e.h | 8 +- > drivers/net/ixgbe/ixgbe_ethdev.c | 94 +++--- > drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- > drivers/net/ixgbe/ixgbe_flow.c | 22 +- > drivers/net/ixgbe/ixgbe_pf.c | 14 +- > drivers/net/ixgbe/ixgbe_rxtx.c | 14 +- > drivers/net/ixgbe/ixgbe_vf_representor.c | 4 +- > drivers/net/ixgbe/rte_pmd_ixgbe.c | 10 +- > drivers/net/ixgbe/rte_pmd_ixgbe.h | 2 +- > drivers/net/kni/rte_eth_kni.c | 4 +- > drivers/net/liquidio/lio_ethdev.c | 22 +- > drivers/net/mlx4/mlx4.c | 4 +- > drivers/net/mlx4/mlx4.h | 8 +- > drivers/net/mlx4/mlx4_ethdev.c | 8 +- > drivers/net/mlx4/mlx4_flow.c | 14 +- > drivers/net/mlx4/mlx4_rxtx.c | 2 +- > drivers/net/mlx5/mlx5.c | 4 +- > drivers/net/mlx5/mlx5.h | 14 +- > drivers/net/mlx5/mlx5_flow.c | 22 +- > drivers/net/mlx5/mlx5_flow_tcf.c | 40 +-- > drivers/net/mlx5/mlx5_flow_verbs.c | 26 +- > drivers/net/mlx5/mlx5_mac.c | 18 +- > drivers/net/mlx5/mlx5_nl.c | 28 +- > drivers/net/mlx5/mlx5_rxtx.c | 6 +- > drivers/net/mlx5/mlx5_rxtx.h | 2 +- > drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 8 +- > drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 10 +- > drivers/net/mlx5/mlx5_trigger.c | 6 +- > drivers/net/mvneta/mvneta_ethdev.c | 22 +- > drivers/net/mvneta/mvneta_ethdev.h | 2 +- > drivers/net/mvpp2/mrvl_ethdev.c | 22 +- > drivers/net/mvpp2/mrvl_ethdev.h | 2 +- > drivers/net/mvpp2/mrvl_flow.c | 4 +- > drivers/net/netvsc/hn_ethdev.c | 4 +- > drivers/net/netvsc/hn_nvs.c | 2 +- > drivers/net/netvsc/hn_rndis.c | 2 +- > drivers/net/netvsc/hn_rxtx.c | 12 +- > drivers/net/netvsc/hn_var.h | 4 +- > drivers/net/netvsc/hn_vf.c | 12 +- > drivers/net/nfp/nfp_net.c | 20 +- > drivers/net/nfp/nfp_net_pmd.h | 2 +- > drivers/net/null/rte_eth_null.c | 6 +- > drivers/net/octeontx/octeontx_ethdev.c | 8 +- > drivers/net/octeontx/octeontx_ethdev.h | 2 +- > drivers/net/pcap/rte_eth_pcap.c | 22 +- > drivers/net/qede/base/bcm_osal.h | 2 +- > drivers/net/qede/base/ecore_dev.c | 4 +- > drivers/net/qede/qede_ethdev.c | 58 ++-- > drivers/net/qede/qede_ethdev.h | 6 +- > drivers/net/qede/qede_filter.c | 66 ++--- > drivers/net/qede/qede_if.h | 4 +- > drivers/net/qede/qede_main.c | 6 +- > drivers/net/qede/qede_rxtx.c | 32 +- > drivers/net/qede/qede_rxtx.h | 2 +- > drivers/net/ring/rte_eth_ring.c | 4 +- > drivers/net/sfc/sfc.h | 2 +- > drivers/net/sfc/sfc_ef10_tx.c | 8 +- > drivers/net/sfc/sfc_ethdev.c | 20 +- > drivers/net/sfc/sfc_flow.c | 12 +- > drivers/net/sfc/sfc_port.c | 8 +- > drivers/net/sfc/sfc_tso.c | 8 +- > drivers/net/softnic/parser.c | 18 +- > drivers/net/softnic/parser.h | 2 +- > drivers/net/softnic/rte_eth_softnic.c | 2 +- > drivers/net/softnic/rte_eth_softnic_pipeline.c | 40 +-- > drivers/net/szedata2/rte_eth_szedata2.c | 8 +- > drivers/net/tap/rte_eth_tap.c | 58 ++-- > drivers/net/tap/rte_eth_tap.h | 2 +- > drivers/net/tap/tap_bpf_program.c | 14 +- > drivers/net/tap/tap_flow.c | 12 +- > drivers/net/thunderx/base/nicvf_mbox.c | 4 +- > drivers/net/thunderx/base/nicvf_plat.h | 2 +- > drivers/net/thunderx/nicvf_ethdev.c | 18 +- > drivers/net/thunderx/nicvf_struct.h | 2 +- > drivers/net/vdev_netvsc/vdev_netvsc.c | 16 +- > drivers/net/vhost/rte_eth_vhost.c | 12 +- > drivers/net/virtio/virtio_ethdev.c | 70 ++--- > drivers/net/virtio/virtio_pci.h | 4 +- > drivers/net/virtio/virtio_rxtx.c | 28 +- > drivers/net/virtio/virtio_user/vhost_kernel_tap.c | 2 +- > drivers/net/virtio/virtio_user/virtio_user_dev.c | 6 +- > drivers/net/virtio/virtio_user/virtio_user_dev.h | 2 +- > drivers/net/virtio/virtio_user_ethdev.c | 8 +- > drivers/net/virtio/virtqueue.h | 2 +- > drivers/net/vmxnet3/vmxnet3_ethdev.c | 12 +- > drivers/net/vmxnet3/vmxnet3_ethdev.h | 2 +- > drivers/net/vmxnet3/vmxnet3_rxtx.c | 44 +-- > examples/bbdev_app/main.c | 40 +-- > examples/bond/main.c | 78 ++--- > examples/distributor/main.c | 4 +- > examples/ethtool/ethtool-app/ethapp.c | 8 +- > examples/ethtool/ethtool-app/main.c | 10 +- > examples/ethtool/lib/rte_ethtool.c | 8 +- > examples/ethtool/lib/rte_ethtool.h | 6 +- > examples/eventdev_pipeline/main.c | 4 +- > examples/eventdev_pipeline/pipeline_common.h | 10 +- > examples/flow_classify/flow_classify.c | 30 +- > examples/flow_filtering/main.c | 10 +- > examples/ip_fragmentation/main.c | 62 ++-- > examples/ip_pipeline/cli.c | 2 +- > examples/ip_pipeline/kni.c | 2 +- > examples/ip_pipeline/parser.c | 18 +- > examples/ip_pipeline/parser.h | 2 +- > examples/ip_pipeline/pipeline.c | 40 +-- > examples/ip_reassembly/main.c | 50 ++-- > examples/ipsec-secgw/esp.c | 42 +-- > examples/ipsec-secgw/ipsec-secgw.c | 38 +-- > examples/ipsec-secgw/sa.c | 6 +- > examples/ipv4_multicast/main.c | 58 ++-- > examples/kni/main.c | 14 +- > examples/l2fwd-cat/l2fwd-cat.c | 4 +- > examples/l2fwd-crypto/main.c | 26 +- > examples/l2fwd-jobstats/main.c | 8 +- > examples/l2fwd-keepalive/main.c | 8 +- > examples/l2fwd/main.c | 8 +- > examples/l3fwd-acl/main.c | 102 +++---- > examples/l3fwd-power/main.c | 100 +++---- > examples/l3fwd-vf/main.c | 68 ++--- > examples/l3fwd/l3fwd.h | 8 +- > examples/l3fwd/l3fwd_altivec.h | 14 +- > examples/l3fwd/l3fwd_common.h | 4 +- > examples/l3fwd/l3fwd_em.c | 44 +-- > examples/l3fwd/l3fwd_em.h | 20 +- > examples/l3fwd/l3fwd_em_hlm.h | 16 +- > examples/l3fwd/l3fwd_em_hlm_neon.h | 16 +- > examples/l3fwd/l3fwd_em_hlm_sse.h | 16 +- > examples/l3fwd/l3fwd_em_sequential.h | 16 +- > examples/l3fwd/l3fwd_lpm.c | 50 ++-- > examples/l3fwd/l3fwd_lpm.h | 20 +- > examples/l3fwd/l3fwd_lpm_altivec.h | 20 +- > examples/l3fwd/l3fwd_lpm_neon.h | 30 +- > examples/l3fwd/l3fwd_lpm_sse.h | 20 +- > examples/l3fwd/l3fwd_neon.h | 14 +- > examples/l3fwd/l3fwd_sse.h | 14 +- > examples/l3fwd/main.c | 20 +- > examples/link_status_interrupt/main.c | 8 +- > examples/load_balancer/runtime.c | 6 +- > .../client_server_mp/mp_server/main.c | 2 +- > examples/packet_ordering/main.c | 2 +- > examples/performance-thread/l3fwd-thread/main.c | 322 ++++++++++----------- > examples/ptpclient/ptpclient.c | 32 +- > examples/qos_meter/main.c | 4 +- > examples/qos_sched/init.c | 2 +- > examples/quota_watermark/qw/main.c | 8 +- > examples/rxtx_callbacks/main.c | 4 +- > examples/server_node_efd/node/node.c | 6 +- > examples/server_node_efd/server/main.c | 8 +- > examples/skeleton/basicfwd.c | 4 +- > examples/tep_termination/main.c | 2 +- > examples/tep_termination/main.h | 2 +- > examples/tep_termination/vxlan.c | 108 +++---- > examples/tep_termination/vxlan.h | 8 +- > examples/tep_termination/vxlan_setup.c | 30 +- > examples/tep_termination/vxlan_setup.h | 2 +- > examples/vhost/main.c | 40 +-- > examples/vhost/main.h | 2 +- > examples/vm_power_manager/channel_monitor.c | 2 +- > .../guest_cli/vm_power_cli_guest.c | 2 +- > examples/vm_power_manager/main.c | 6 +- > examples/vmdq/main.c | 12 +- > examples/vmdq_dcb/main.c | 12 +- > lib/librte_cmdline/cmdline_parse_etheraddr.c | 33 +-- > lib/librte_ethdev/rte_eth_ctrl.h | 12 +- > lib/librte_ethdev/rte_ethdev.c | 56 ++-- > lib/librte_ethdev/rte_ethdev.h | 12 +- > lib/librte_ethdev/rte_ethdev_core.h | 12 +- > lib/librte_ethdev/rte_flow.h | 32 +- > lib/librte_eventdev/rte_event_eth_rx_adapter.c | 32 +- > lib/librte_gro/gro_tcp4.c | 26 +- > lib/librte_gro/gro_tcp4.h | 20 +- > lib/librte_gro/gro_vxlan_tcp4.c | 64 ++-- > lib/librte_gro/gro_vxlan_tcp4.h | 6 +- > lib/librte_gso/gso_common.h | 16 +- > lib/librte_gso/gso_tcp4.c | 12 +- > lib/librte_gso/gso_tunnel_tcp4.c | 14 +- > lib/librte_gso/gso_udp4.c | 8 +- > lib/librte_gso/rte_gso.h | 8 +- > lib/librte_hash/rte_thash.h | 2 +- > lib/librte_ip_frag/rte_ip_frag.h | 12 +- > lib/librte_ip_frag/rte_ipv4_fragmentation.c | 42 +-- > lib/librte_ip_frag/rte_ipv4_reassembly.c | 14 +- > lib/librte_ip_frag/rte_ipv6_fragmentation.c | 26 +- > lib/librte_ip_frag/rte_ipv6_reassembly.c | 6 +- > lib/librte_kni/rte_kni.c | 4 +- > lib/librte_kni/rte_kni.h | 2 +- > lib/librte_net/rte_arp.c | 32 +- > lib/librte_net/rte_arp.h | 36 +-- > lib/librte_net/rte_esp.h | 2 +- > lib/librte_net/rte_ether.h | 178 ++++++------ > lib/librte_net/rte_gre.h | 2 +- > lib/librte_net/rte_icmp.h | 6 +- > lib/librte_net/rte_ip.h | 70 ++--- > lib/librte_net/rte_net.c | 90 +++--- > lib/librte_net/rte_net.h | 22 +- > lib/librte_net/rte_sctp.h | 2 +- > lib/librte_net/rte_tcp.h | 2 +- > lib/librte_net/rte_udp.h | 2 +- > lib/librte_pipeline/rte_table_action.c | 210 +++++++------- > lib/librte_pipeline/rte_table_action.h | 4 +- > lib/librte_port/rte_port_ras.c | 8 +- > lib/librte_port/rte_port_source_sink.c | 6 +- > lib/librte_vhost/vhost.h | 2 +- > lib/librte_vhost/virtio_net.c | 42 +-- > test/test-acl/main.c | 2 +- > test/test-pipeline/pipeline_acl.c | 16 +- > test/test-pipeline/pipeline_hash.c | 12 +- > test/test/packet_burst_generator.c | 126 ++++---- > test/test/packet_burst_generator.h | 26 +- > test/test/test_acl.c | 8 +- > test/test/test_acl.h | 122 ++++---- > test/test/test_cmdline_etheraddr.c | 16 +- > test/test/test_efd.c | 20 +- > test/test/test_event_eth_rx_adapter.c | 2 +- > test/test/test_event_eth_tx_adapter.c | 2 +- > test/test/test_flow_classify.c | 68 ++--- > test/test/test_hash.c | 20 +- > test/test/test_link_bonding.c | 284 +++++++++--------- > test/test/test_link_bonding_mode4.c | 116 ++++---- > test/test/test_link_bonding_rssconf.c | 6 +- > test/test/test_lpm.c | 76 ++--- > test/test/test_lpm_perf.c | 10 +- > test/test/test_member.c | 20 +- > test/test/test_pmd_perf.c | 20 +- > test/test/test_sched.c | 20 +- > test/test/test_table_acl.c | 8 +- > test/test/test_thash.c | 12 +- > test/test/virtual_pmd.c | 6 +- > test/test/virtual_pmd.h | 2 +- > 367 files changed, 3906 insertions(+), 3913 deletions(-) > Since BSD structures are available on Linux and BSD why is DPDK reinventing? There is no value in doing that.