抓包
dpdk驱动
nxp
export CROSS=aarch64-linux-gnu-
make config T=arm64-dpaa2-linuxapp-gcc
make -j8 T=arm64-dpaa-linuxapp-gcc CONFIG_RTE_LIBRTE_PMD_PCAP=y CONFIG_RTE_LIBRTE_PDUMP=y EXTRA_LDFLAGS="-L/opt/dys/install/lib" EXTRA_CFLAGS="-I/opt/dys/install/include" CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n install
编译完成后在arm64-dpaa-linuxapp-gcc目录下生成库和二进制。
x86
- l3fwd
使用l3fd来当primary进程,但是需要做些小修改,在rte_eal_init()后,初始化pdump框架,添加如下代码:
#ifdef RTE_LIBRTE_PDUMP
/* initialize packet capture framework */
rte_pdump_init(NULL);
#endif
./l3fwd -c 0x3 -n 4 -- -P -p 0x1 --config="(0,0,1)"
./dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=./rx.pcap'
非dpdk驱动
git clone https://github.com/the-tcpdump-group/tcpdump.git
git clone https://github.com/the-tcpdump-group/libpcap.git
- libpcap
export CC=aarch64-linux-gnu-gcc
mkdir build
cd build
../configure --prefix=/opt/dys/install --host=arm-linux-gnueabihf --with-pcap=linux
make -j8
- tcpdump
export CC=aarch64-linux-gnu-gcc
mkdir build
cd build
../configure --host=arm-linux-gnueabihf
make -j8