ansyun / dpdk-ans

ANS(Accelerated Network Stack) on DPDK, DPDK native TCP/IP stack.
https://ansyun.com
BSD 3-Clause "New" or "Revised" License
1.15k stars 322 forks source link

build error on ans-19.02 #113

Closed jihwanseo closed 4 years ago

jihwanseo commented 4 years ago

Hi.

I'm facing some build error on release 'ans-19.02' On the other hand, when i try to build it on master branch. it's working fine. Please tell me what to do. You can find the build error log in below. (ps. dpdk version is v18.11.1)

/home/dpdk-ans/ans> make CC ans_param.o CC ans_main.o /home/dpdk-ans/ans/ans_main.c:34:0: warning: "_GNU_SOURCE" redefined

define _GNU_SOURCE / See feature_test_macros(7) /

^

:0:0: note: this is the location of the previous definition /home/dpdk-ans/ans_main.c:161:3: error: unknown field ‘txq_flags’ specified in initializer .txq_flags = ~ETH_TXQ_FLAGS_NOXSUMS /*= (ETH_TXQ_FLAGS_NOMULTSEGS | ^ /home/dpdk-ans/ans_main.c:161:17: error: ‘ETH_TXQ_FLAGS_NOXSUMS’ undeclared here (not in a function) .txq_flags = ~ETH_TXQ_FLAGS_NOXSUMS /*= (ETH_TXQ_FLAGS_NOMULTSEGS | ^ /home/dpdk-ans/ans_main.c:176:5: error: unknown field ‘header_split’ specified in initializer .header_split = 0, /**< Header Split disabled */ ^ /home/dpdk-ans/ans_main.c:177:5: error: unknown field ‘hw_ip_checksum’ specified in initializer .hw_ip_checksum = 1, /**< IP/UDP/TCP checksum offload enable */ ^ /home/dpdk-ans/ans_main.c:177:23: warning: excess elements in struct initializer .hw_ip_checksum = 1, /**< IP/UDP/TCP checksum offload enable */ ^ /home/dpdk-ans/ans_main.c:178:5: error: unknown field ‘hw_vlan_filter’ specified in initializer .hw_vlan_filter = 0, /**< VLAN filtering disabled */ ^ /home/dpdk-ans/ans_main.c:178:23: warning: excess elements in struct initializer .hw_vlan_filter = 0, /**< VLAN filtering disabled */ ^ /home/dpdk-ans/ans_main.c:178:23: note: (near initialization for ‘ans_port_conf.rxmode’) /home/dpdk-ans/ans_main.c:179:5: error: unknown field ‘hw_vlan_strip’ specified in initializer .hw_vlan_strip = 1, /**< VLAN strip */ ^ /home/dpdk-ans/ans_main.c:179:22: warning: excess elements in struct initializer .hw_vlan_strip = 1, /**< VLAN strip */ ^ /home/dpdk-ans/ans_main.c:179:22: note: (near initialization for ‘ans_port_conf.rxmode’) /home/dpdk-ans/ans_main.c:180:5: error: unknown field ‘jumbo_frame’ specified in initializer .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ ^ /home/dpdk-ans/ans_main.c:180:23: warning: excess elements in struct initializer .jumbo_frame = 0, /**< Jumbo Frame Support disabled */ ^ /home/dpdk-ans/ans_main.c:180:23: note: (near initialization for ‘ans_port_conf.rxmode’) /home/dpdk-ans/ans_main.c:181:5: error: unknown field ‘hw_strip_crc’ specified in initializer .hw_strip_crc = 0, /**< CRC stripped by hardware */ ^ /home/dpdk-ans/ans_main.c:181:23: warning: excess elements in struct initializer .hw_strip_crc = 0, /**< CRC stripped by hardware */ ^ /home/dpdk-ans/ans_main.c:181:23: note: (near initialization for ‘ans_port_conf.rxmode’) /home/dpdk-ans/ans_main.c: In function ‘ans_init_ports’: /home/dpdk-ans/ans_main.c:524:37: error: ‘struct rte_eth_rxmode’ has no member named ‘jumbo_frame’ if (ans_port_conf.rxmode.jumbo_frame) ^ /home/dpdk-ans/ans_main.c:525:23: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’ txconf->txq_flags = 0; ^ /home/dpdk-ans/ans_main.c:528:77: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’ txconf->tx_thresh.hthresh, txconf->tx_thresh.wthresh, txconf->txq_flags); ^ /home/dpdk-ans/ans_main.c:533:19: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’ txconf->txq_flags = 0; /* enable NIC all TX offload, shall set it to 0 for some nic to enable hw offload */ ^ /home/dpdk-ans/ans_main.c:537:77: error: ‘struct rte_eth_txconf’ has no member named ‘txq_flags’ txconf->tx_thresh.hthresh, txconf->tx_thresh.wthresh, txconf->txq_flags); ^ /home/dpdk-ans/ans_main.c: In function ‘main’: /home/dpdk-ans/ans_main.c:1004:29: error: ‘struct rte_eth_rxmode’ has no member named ‘jumbo_frame’ ans_port_conf.rxmode.jumbo_frame = 1; ^ /home/dpdk-ans/ans_main.c:1022:5: warning: ‘rte_eth_dev_count’ is deprecated [-Wdeprecated-declarations] nb_ports = rte_eth_dev_count(); ^ In file included from /home/dpdk-ans/ans_main.c:69:0: /home/dpdk/x86_64-native-linuxapp-gcc/include/rte_ethdev.h:1474:10: note: declared here uint16_t rte_eth_dev_count(void); ^ /home/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'ans_main.o' failed make[1]: *** [ans_main.o] Error 1 /home/dpdk/mk/rte.extapp.mk:14: recipe for target 'all' failed make: *** [all] Error 2
jihwanseo commented 4 years ago

I found out the reason by myself. I should have used dpdk version 17.04. Thanks