The target is to make testpmd flexible to generate all kinds of packet in just one line. Examples: # send UDP packet to port 0 queue 0 testpmd> scapy 0 Ether()/IP()/UDP()/"hello_world"
# send 4 L3 VXLAN packets with inner UDP dport 1-4 to port 1 queue 1-4, one packet per queue testpmd> scapy 1 Ether()/IP()/UDP()/VXLAN()/IPv6()/UDP(dport=(1,4))/"cool" # Random testpmd> scapy 2 Ether(src=RandMAC())/IP(dst=RandIP())/TCP(sport=RandShort(),dport=0x1234) This patch introduce scapy - a python tool to generate static packet templates. Txonly forwarding mode is modified to support template if available. Two new configuration: CONFIG_RTE_TEST_PMD_SCAPY=y CONFIG_RTE_PYTHON=python2.7 Scapy quick demo: http://www.secdev.org/projects/scapy/demo.html There are 2 other potential solution to support more fancy sending in the future: 1. Invoke scapy and expose mbuf hugepage pointers to python This should allow more flexible and dynamic processing 2. Scapy uses wrapped DPDK port as regular port Make scapy capable to send high speed streams. Xueming Li (2): app/testpmd: add packet template app/testpmd: add scapy command as pkt template app/test-pmd/Makefile | 5 +++ app/test-pmd/cmdline.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++- app/test-pmd/testpmd.c | 3 ++ app/test-pmd/testpmd.h | 1 + app/test-pmd/txonly.c | 42 +++++++++++++-------- config/common_base | 2 + 6 files changed, 135 insertions(+), 17 deletions(-) -- 2.13.3