63. External Mempool Handler Tests¶
External Mempool Handler feature is an extension to the mempool API that allows users to add and use an alternative mempool handler, which allows external memory subsystems such as external hardware memory management systems and software based memory allocators to be used with DPDK.
63.1. Test Case 1: Multiple producers and multiple consumers¶
Default mempool handler operations RTE_MBUF_DEFAULT_MEMPOOL_OPS is “ring_mp_mc”:
Launch test app with mempool operation "ring_mp_mc": parameter: --mbuf-pool-ops-name ring_mp_mc
Start test app and verify mempool autotest passed:
./<build_target>/app/test/dpdk-test -n 4 -c f --mbuf-pool-ops-name ring_mp_mc RTE>> mempool_autotest
Start testpmd with two ports and start forwarding:
./<build_target>/app/dpdk-testpmd -c 0x6 -n 4 -- -i --portmask=0x3 testpmd> set fwd mac testpmd> start
Send hundreds of packets from tester ports
verify forwarded packets sequence and integrity
63.2. Test Case 2: Single producer and Single consumer¶
Launch test app with mempool operation “ring_sp_sc”:
parameter: --mbuf-pool-ops-name ring_sp_sc
Start test app and verify mempool autotest passed:
./<build_target>/app/test/dpdk-test -n 4 -c f --mbuf-pool-ops-name ring_sp_sc RTE>> mempool_autotest
Start testpmd with two ports and start forwarding:
./<build_target>/app/dpdk-testpmd -c 0x6 -n 4 -- -i --portmask=0x3 testpmd> set fwd mac testpmd> start
Send hundreds of packets from tester ports
verify forwarded packets sequence and integrity
63.3. Test Case 3: Single producer and Multiple consumers¶
Launch test app with mempool operation “ring_sp_mc”:
parameter: --mbuf-pool-ops-name ring_sp_mc
Start test app and verify mempool autotest passed:
./<build_target>/app/test/dpdk-test -n 4 -c f --mbuf-pool-ops-name ring_sp_mc RTE>> mempool_autotest
Start testpmd with two ports and start forwarding:
./<build_target>/app/dpdk-testpmd -c 0x6 -n 4 -- -i --portmask=0x3 testpmd> set fwd mac testpmd> start
Send hundreds of packets from tester ports
verify forwarded packets sequence and integrity
63.4. Test Case 4: Multiple producers and single consumer¶
Launch test app with mempool operation “ring_mp_sc”:
parameter: --mbuf-pool-ops-name ring_mp_sc
Start test app and verify mempool autotest passed:
./<build_target>/app/test/dpdk-test -n 4 -c f --mbuf-pool-ops-name ring_mp_sc RTE>> mempool_autotest
Start testpmd with two ports and start forwarding:
./<build_target>/app/dpdk-testpmd -c 0x6 -n 4 -- -i --portmask=0x3 testpmd> set fwd mac testpmd> start
Send hundreds of packets from tester ports
verify forwarded packets sequence and integrity
63.5. Test Case 4: Stack mempool handler¶
Launch test app with mempool operation “stack”:
parameter: --mbuf-pool-ops-name stack
Start test app and verify mempool autotest passed:
./<build_target>/app/test/dpdk-test -n 4 -c f --mbuf-pool-ops-name stack RTE>> mempool_autotest
Start testpmd with two ports and start forwarding:
./<build_target>/app/dpdk-testpmd -c 0x6 -n 4 -- -i --portmask=0x3 testpmd> set fwd mac testpmd> start
Send hundreds of packets from tester ports
verify forwarded packets sequence and integrity