编译时报错:
== app
CC cli-functions.o
In file included from /home/Pktgen-DPDK/pktgen-dpdk/app/pktgen.h:83:0,
from /home/Pktgen-DPDK/pktgen-dpdk/app/cli-functions.c:30:
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h: In function ‘rte_get_rx_capa_list’:
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:386:4: error: ‘DEV_RX_OFFLOAD_SCTP_CKSUM’ undeclared (first use in this function)
{ DEV_RX_OFFLOAD_SCTP_CKSUM, _(SCTP_CKSUM) },
^
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:386:4: note: each undeclared identifier is reported only once for each function it appears in
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:387:4: error: ‘DEV_RX_OFFLOAD_OUTER_UDP_CKSUM’ undeclared (first use in this function)
{ DEV_RX_OFFLOAD_OUTER_UDP_CKSUM, _(OUTER_UDP_CKSUM) }
^
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h: In function ‘rte_get_tx_capa_list’:
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:440:4: error: ‘DEV_TX_OFFLOAD_OUTER_UDP_CKSUM’ undeclared (first use in this function)
{ DEV_TX_OFFLOAD_OUTER_UDP_CKSUM, _(OUTER_UDP_CKSUM) },
^
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:440:2: warning: initialization makes integer from pointer without a cast [enabled by default]
{ DEV_TX_OFFLOAD_OUTER_UDP_CKSUM, _(OUTER_UDP_CKSUM) },
^
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:440:2: warning: (near initialization for ‘tx_flags[20].flag’) [enabled by default]
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:441:4: error: ‘DEV_TX_OFFLOAD_MATCH_METADATA’ undeclared (first use in this function)
{ DEV_TX_OFFLOAD_MATCH_METADATA, _(MATCH_METADATA) },
^
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:441:2: warning: initialization makes integer from pointer without a cast [enabled by default]
{ DEV_TX_OFFLOAD_MATCH_METADATA, _(MATCH_METADATA) },
^
/home/Pktgen-DPDK/pktgen-dpdk/app/pktgen-port-cfg.h:441:2: warning: (near initialization for ‘tx_flags[21].flag’) [enabled by default]
make[2]: * [cli-functions.o] Error 1
make[1]: * [all] Error 2
make: * [app] Error 2
不知道是为啥出了此问题,求大神讲解
DPDK稳定版本例如17.11缺少很多API函数,pktgen碰巧要求使用DPDK最高版本18.xx以及19.xx中的少量高级功能,包括DEV_xxx_OFFLOAD_xxx选项。Intel家的DPDK如果版本过低或过高,都无法编译第三方提供的Pktgen源代码。
DPDK补丁-2018年9月13日添加了下列新功能
官网可查询到的代码提交记录:
代码