numam-dpdk/lib
Stephen Hemminger c3a90c381d mbuf: add a copy routine
This is a commonly used operation that surprisingly the
DPDK has not supported. The new rte_pktmbuf_copy does a
deep copy of packet. This is a complete copy including
meta-data.

It handles the case where the source mbuf comes from a pool
with larger data area than the destination pool. The routine
also has options for skipping data, or truncating at a fixed
length.

This patch also introduces internal inline to copy the
metadata fields of mbuf.

Add a test for this new function, based of the clone tests.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2019-10-16 12:43:53 +02:00
..
librte_acl remove useless include of EAL memory config header 2019-10-09 10:22:24 +02:00
librte_bbdev bbdev: extend API for 5G FEC 2019-07-05 15:28:14 +02:00
librte_bitratestats bitrate: fix unchecked return value 2019-04-23 00:19:06 +02:00
librte_bpf bpf: hide internal program argument type 2019-10-12 14:27:19 +02:00
librte_cfgfile cfgfile: use calloc 2019-07-19 00:48:43 +02:00
librte_cmdline cmdline: use new ethernet address parser 2019-07-08 21:26:52 +02:00
librte_compressdev compressdev: clarify destination buffer size 2019-07-29 10:18:24 +02:00
librte_cryptodev cryptodev: fix initialization on multi-process 2019-10-09 11:50:12 +02:00
librte_distributor distributor: fix livelock on flush 2019-07-29 23:23:37 +02:00
librte_eal kni: support allmulticast mode set 2019-10-15 21:16:32 +02:00
librte_efd eal: hide shared memory config 2019-07-06 10:32:34 +02:00
librte_ethdev ethdev: add symmetric Toeplitz hash 2019-10-07 15:00:58 +02:00
librte_eventdev eventdev: fix error sign 2019-07-07 13:23:57 +02:00
librte_flow_classify flow_classify: fix out-of-bounds access 2019-07-10 23:41:25 +02:00
librte_gro net: move TCP flags from ethdev header 2019-07-03 12:57:30 +02:00
librte_gso net: add rte prefix to UDP structure 2019-05-24 13:34:46 +02:00
librte_hash hash: replace license text with SPDX tag 2019-07-29 13:31:45 +02:00
librte_ip_frag ip_frag: remove remaining IP checkum offload flag 2019-07-16 13:23:04 +02:00
librte_ipsec net: add missing rte prefix for ESP tail 2019-10-08 12:14:31 +02:00
librte_jobstats replace snprintf with strlcpy 2019-04-04 22:46:05 +02:00
librte_kni kni: support allmulticast mode set 2019-10-15 21:16:32 +02:00
librte_kvargs remove experimental tags from all symbol definitions 2019-06-29 19:04:43 +02:00
librte_latencystats latency: check status of getting ethdev info 2019-10-07 14:45:35 +02:00
librte_lpm replace license text with SPDX tag on PPC files 2019-08-05 17:17:09 +02:00
librte_mbuf mbuf: add a copy routine 2019-10-16 12:43:53 +02:00
librte_member eal: hide shared memory config 2019-07-06 10:32:34 +02:00
librte_mempool mempool: clarify default populate function 2019-10-16 10:41:21 +02:00
librte_meter enforce experimental tag at beginning of declarations 2019-06-29 19:04:48 +02:00
librte_metrics metrics: add function to deinitialise library 2019-07-16 12:45:30 +02:00
librte_net net: add missing rte prefix for ESP tail 2019-10-08 12:14:31 +02:00
librte_pci pci: fix parsing of address without function number 2018-11-13 17:59:42 +01:00
librte_pdump pdump: check status of getting ethdev info 2019-10-07 14:45:35 +02:00
librte_pipeline examples/ip_pipeline: add config flexibility to TM 2019-07-22 15:42:59 +02:00
librte_port net: add rte prefix to IP defines 2019-05-24 13:34:46 +02:00
librte_power lib: add reasons for components being disabled 2019-07-02 23:21:05 +02:00
librte_rawdev rawdev: allow devices to skip extra memory allocation 2019-07-04 09:33:59 +02:00
librte_rcu remove useless include of EAL memory config header 2019-10-09 10:22:24 +02:00
librte_reorder eal: hide shared memory config 2019-07-06 10:32:34 +02:00
librte_ring ring: add reset function for flushing 2019-07-17 19:51:56 +02:00
librte_sched sched: remove redundant macros 2019-07-22 15:44:16 +02:00
librte_security security: add HFN override option in PDCP 2019-10-09 11:50:12 +02:00
librte_stack eal: add API to lock/unlock tailq list 2019-07-05 22:13:23 +02:00
librte_table table: fix crash in LPM IPv6 2019-07-04 23:44:58 +02:00
librte_telemetry telemetry: fix build with gcc 9 2019-07-04 18:48:04 +02:00
librte_timer timer: fix null access if not initialized 2019-07-18 23:14:53 +02:00
librte_vhost vhost: fix vring memory partially mapped 2019-10-07 15:00:57 +02:00
Makefile cfgfile: use log for error messages 2019-07-19 00:47:50 +02:00
meson.build cmdline: use new ethernet address parser 2019-07-08 21:26:52 +02:00