CONFIG_RTE_MBUF_SCATTER_GATHER was renamed into CONFIG_RTE_MBUF_REFCNT
by commit
62814bc2e923 and removed by commit
4769bc5a27cc.
Some traces remain because of delayed patches.
It can also be removed from doxygen config.
It is now poisoned in rte_mbuf.h to warn any misuse.
Fixes:
d0dff9ba445e ("doc: sample application user guide")
Fixes:
fc1f2750a3ec ("doc: programmers guide")
Fixes:
4769bc5a27cc ("mbuf: remove build option to disable refcnt")
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
FILE_PATTERNS = rte_*.h \
cmdline.h
PREDEFINED = __DOXYGEN__ \
- __attribute__(x)= \
- RTE_MBUF_REFCNT
+ __attribute__(x)=
OPTIMIZE_OUTPUT_FOR_C = YES
ENABLE_PREPROCESSING = YES
./x86_64-native-linuxapp-gcc/app/testpmd -c 300 -n 4 -- -i --burst=32 --rxfreet=32 --mbcache=250 --txpt=32 --rxht=8 --rxwt=0 --txfreet=32 --txrst=32 --txqflags=0xf01 --disable-hw-vlan
-If scatter gather lists are not required, set CONFIG_RTE_MBUF_SCATTER_GATHER=n for better throughput.
-
l3fwd
^^^^^
The caller has an ability to explicitly specify which mempools should be used to allocate 'direct' and 'indirect' mbufs from.
-Note that configuration macro RTE_MBUF_SCATTER_GATHER has to be enabled to make fragmentation library build and work correctly.
For more information about direct and indirect mbufs, refer to the *DPDK Programmers guide 7.7 Direct and Indirect Buffers.*
Packet reassembly
#. Build the application:
- .. code-block:: console
-
- make
-
- .. note::
-
- Note For zero copy, need firstly disable CONFIG_RTE_MBUF_SCATTER_GATHER,
- CONFIG_RTE_LIBRTE_IP_FRAG and CONFIG_RTE_LIBRTE_DISTRIBUTOR
- in the config file and then re-configure and compile the core lib, and then build the application:
-
- .. code-block:: console
-
- vi ${RTE_SDK}/config/common_linuxapp
-
- change it as follows:
-
- ::
-
- CONFIG_RTE_MBUF_SCATTER_GATHER=n
- CONFIG_RTE_LIBRTE_IP_FRAG=n
- CONFIG_RTE_LIBRTE_DISTRIBUTOR=n
-
.. code-block:: console
cd ${RTE_SDK}
struct ether_hdr *oh, *nh;
struct vlan_hdr *vh;
-#ifdef RTE_MBUF_REFCNT
/* Can't insert header if mbuf is shared */
if (rte_mbuf_refcnt_read(*m) > 1) {
struct rte_mbuf *copy;
rte_pktmbuf_free(*m);
*m = copy;
}
-#endif
+
oh = rte_pktmbuf_mtod(*m, struct ether_hdr *);
nh = (struct ether_hdr *)
rte_pktmbuf_prepend(*m, sizeof(struct vlan_hdr));
extern "C" {
#endif
-/* deprecated feature, renamed in RTE_MBUF_REFCNT */
+/* deprecated options */
#pragma GCC poison RTE_MBUF_SCATTER_GATHER
+#pragma GCC poison RTE_MBUF_REFCNT
/*
* Packet Offload Features Flags. It also carry packet type information.