Modified the nDPI example to support l3fwd with DPDK.

export RTE_SDK=$(dpdk dir)
export RTE_TARGET=x86_64-native-linuxapp-gcc
export nDPI_src=(nDPI dir)

make
sudo ./build/nDPIexe -c 0xf -n4 -- -L -p 0x3 --config="(0,0,0),(1,0,1)" --parse-ptype --eth-dest=0,68:b5:99:b6:d3:5d --eth-dest=1,b4:96:91:65:62:ab -- n4
  • -c 0xf -n4 -- -L -p 0x3 --config="(0,0,0),(1,0,1)" --parse-ptype --eth-dest=0,68:b5:99:b6:d3:5d --eth-dest=1,b4:96:91:65:62:ab for DPDK
    • bind port_0 with lcore_0 and port_1 with lcore_1
    • Set destination MAC addr for each port.
  • -n4 for nDPI (used 4 thread)
  • No support ARP cache in this project. Set static ARP manually.
  • Forwarding packets by longest prefix IP which is usually uesd by router. And almost all modified codes are in l3fwd_lpm.c, didn't change any of l3fwd_em.c.