[dpdk-dev] [PATCH 0/6] Mbuf structure Rework, part 1

Bruce Richardson bruce.richardson at intel.com
Wed Aug 27 17:50:22 CEST 2014


This patch set does some initial pre-work to prepare the mbuf data structure
(and ixgbe vector driver to a lesser extent) for more major changes which
will follow on in a subsequent patch set. [See previous RFC patch set for
more indications of the future coming changes].

The main changes here are the flattening out of the mbuf data structure, with
much of it based off work by Olivier. The ctrlmbuf and pktmbuf structures are
now gone, as is the vlan_macip structure. However, in this set, the concept
of having a separate ctrl mbuf type is kept around. The plan is in a later set
when we expand the flags field to 64-bits, we can use a single bit in the flags
to indicate a control packet. For now, though, the ctrlmbuf functions and macros
just are aliases for the pktmbuf equivalents as much as possible. 


Bruce Richardson (3):
  ixgbe: put only non-zero initializer in definition
  mbuf: rename in_port to just port
  mbuf: flatten struct vlan_macip into mbuf struct

Olivier Matz (3):
  mbuf: rename RTE_MBUF_SCATTER_GATHER into RTE_MBUF_REFCNT
  mbuf: remove rte_ctrlmbuf
  mbuf: remove the rte_pktmbuf structure

 app/test-pmd/cmdline.c                             |   2 -
 app/test-pmd/csumonly.c                            |   6 +-
 app/test-pmd/flowgen.c                             |  22 +-
 app/test-pmd/icmpecho.c                            |   4 +-
 app/test-pmd/ieee1588fwd.c                         |   6 +-
 app/test-pmd/macfwd-retry.c                        |   2 +-
 app/test-pmd/macfwd.c                              |   8 +-
 app/test-pmd/macswap.c                             |   8 +-
 app/test-pmd/rxonly.c                              |  13 +-
 app/test-pmd/testpmd.c                             |  12 +-
 app/test-pmd/testpmd.h                             |   2 +-
 app/test-pmd/txonly.c                              |  44 +--
 app/test/commands.c                                |   2 -
 app/test/packet_burst_generator.c                  |  46 +--
 app/test/test_distributor.c                        |  18 +-
 app/test/test_distributor_perf.c                   |   4 +-
 app/test/test_mbuf.c                               | 100 ++-----
 app/test/test_sched.c                              |   4 +-
 app/test/test_table_acl.c                          |   6 +-
 app/test/test_table_pipeline.c                     |   4 +-
 config/common_bsdapp                               |   2 +-
 config/common_linuxapp                             |   2 +-
 doc/doxy-api.conf                                  |   2 +-
 examples/Makefile                                  |   4 +-
 examples/dpdk_qat/crypto.c                         |  22 +-
 examples/dpdk_qat/main.c                           |   2 +-
 examples/exception_path/main.c                     |  10 +-
 examples/ip_fragmentation/Makefile                 |   4 +-
 examples/ip_fragmentation/main.c                   |   6 +-
 examples/ip_pipeline/Makefile                      |   2 +-
 examples/ip_pipeline/cmdline.c                     |  44 +--
 examples/ip_pipeline/init.c                        |   2 +-
 examples/ip_pipeline/main.c                        |   2 +-
 examples/ip_pipeline/pipeline_firewall.c           |   4 +-
 .../ip_pipeline/pipeline_flow_classification.c     |   4 +-
 examples/ip_pipeline/pipeline_routing.c            |   4 +-
 examples/ip_pipeline/pipeline_rx.c                 |   8 +-
 examples/ip_pipeline/pipeline_tx.c                 |   2 +-
 examples/ip_reassembly/main.c                      |   8 +-
 examples/ipv4_multicast/Makefile                   |   4 +-
 examples/ipv4_multicast/main.c                     |  18 +-
 examples/l3fwd-acl/main.c                          |   2 +-
 examples/l3fwd-power/main.c                        |   2 +-
 examples/l3fwd-vf/main.c                           |   2 +-
 examples/l3fwd/main.c                              |  10 +-
 examples/load_balancer/runtime.c                   |   2 +-
 .../client_server_mp/mp_client/client.c            |   2 +-
 examples/quota_watermark/qw/main.c                 |   4 +-
 examples/vhost/main.c                              |  74 ++---
 examples/vhost_xen/main.c                          |  22 +-
 lib/librte_distributor/rte_distributor.c           |   2 +-
 lib/librte_ip_frag/ip_frag_common.h                |  13 +-
 lib/librte_ip_frag/rte_ipv4_fragmentation.c        |  40 +--
 lib/librte_ip_frag/rte_ipv4_reassembly.c           |   6 +-
 lib/librte_ip_frag/rte_ipv6_fragmentation.c        |  38 +--
 lib/librte_ip_frag/rte_ipv6_reassembly.c           |   5 +-
 lib/librte_mbuf/rte_mbuf.c                         |  84 ++----
 lib/librte_mbuf/rte_mbuf.h                         | 311 +++++++++------------
 lib/librte_pmd_bond/rte_eth_bond_pmd.c             |   4 +-
 lib/librte_pmd_e1000/em_rxtx.c                     |  98 ++++---
 lib/librte_pmd_e1000/igb_rxtx.c                    | 103 ++++---
 lib/librte_pmd_i40e/i40e_rxtx.c                    | 104 ++++---
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c                  | 114 ++++----
 lib/librte_pmd_ixgbe/ixgbe_rxtx.h                  |  25 +-
 lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c              |  47 +---
 lib/librte_pmd_pcap/rte_eth_pcap.c                 |  14 +-
 lib/librte_pmd_virtio/virtio_rxtx.c                |  22 +-
 lib/librte_pmd_virtio/virtqueue.h                  |   2 +-
 lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c              |  30 +-
 lib/librte_pmd_xenvirt/rte_eth_xenvirt.c           |  14 +-
 lib/librte_pmd_xenvirt/virtqueue.h                 |   4 +-
 lib/librte_port/Makefile                           |   4 +-
 lib/librte_port/rte_port_frag.c                    |   2 +-
 lib/librte_sched/rte_sched.c                       |  14 +-
 lib/librte_sched/rte_sched.h                       |  10 +-
 75 files changed, 790 insertions(+), 909 deletions(-)

-- 
1.9.3



More information about the dev mailing list