is there a verion match required? which version of DPDK is used?
I use DPDK v22.07, and current master version of dpdk-rs. I compiled this repo as the guide. but there is some errors about constant and structure member, which seems changed between DPDK versions. So, there question is: is there a verion match required? which version of DPDK is used?
Thanks.
Part of the cargo build output as following:
error[E0425]: cannot find value rte_eth_rx_mq_mode_ETH_MQ_RX_RSS in this scope
--> src/bin/init.rs:81:32
|
81 | port_conf.rxmode.mq_mode = rte_eth_rx_mq_mode_ETH_MQ_RX_RSS;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: rte_eth_rx_mq_mode_RTE_ETH_MQ_RX_RSS
|
::: /home/can/workspace/dpdk-rs/target/debug/build/dpdk-rs-b510e6cbc4fa5b0a/out/bindings.rs:11075:1
|
11075 | pub const rte_eth_rx_mq_mode_RTE_ETH_MQ_RX_RSS: rte_eth_rx_mq_mode = 1;
| ----------------------------------------------------------------------- similarly named constant rte_eth_rx_mq_mode_RTE_ETH_MQ_RX_RSS defined here
error[E0425]: cannot find value ETH_RSS_IP in this scope
--> src/bin/init.rs:82:45
|
82 | port_conf.rx_adv_conf.rss_conf.rss_hf = ETH_RSS_IP as u64 | dev_info.flow_type_rss_offloads;
| ^^^^^^^^^^ not found in this scope
error[E0425]: cannot find value rte_eth_tx_mq_mode_ETH_MQ_TX_NONE in this scope
--> src/bin/init.rs:83:32
|
83 | port_conf.txmode.mq_mode = rte_eth_tx_mq_mode_ETH_MQ_TX_NONE;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: rte_eth_tx_mq_mode_RTE_ETH_MQ_TX_NONE
|
::: /home/can/workspace/dpdk-rs/target/debug/build/dpdk-rs-b510e6cbc4fa5b0a/out/bindings.rs:11083:1
|
11083 | pub const rte_eth_tx_mq_mode_RTE_ETH_MQ_TX_NONE: rte_eth_tx_mq_mode = 0;
| ------------------------------------------------------------------------ similarly named constant rte_eth_tx_mq_mode_RTE_ETH_MQ_TX_NONE defined here
error[E0425]: cannot find value ETH_LINK_UP in this scope
--> src/bin/init.rs:129:45
|
129 | if link.link_status() as u32 == ETH_LINK_UP {
| ^^^^^^^^^^^ not found in this scope
error[E0425]: cannot find value ETH_LINK_FULL_DUPLEX in this scope
--> src/bin/init.rs:130:62
|
130 | let duplex = if link.link_duplex() as u32 == ETH_LINK_FULL_DUPLEX {
| ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: RTE_ETH_LINK_FULL_DUPLEX
|
::: /home/can/workspace/dpdk-rs/target/debug/build/dpdk-rs-b510e6cbc4fa5b0a/out/bindings.rs:1105:1
|
1105 | pub const RTE_ETH_LINK_FULL_DUPLEX: u32 = 1;
| -------------------------------------------- similarly named constant RTE_ETH_LINK_FULL_DUPLEX defined here
error[E0609]: no field max_rx_pkt_len on type rte_eth_rxmode
--> src/bin/init.rs:80:22
|
80 | port_conf.rxmode.max_rx_pkt_len = RTE_ETHER_MAX_LEN;
| ^^^^^^^^^^^^^^ unknown field
|
= note: available fields are: mq_mode, mtu, max_lro_pkt_size, split_hdr_size, offloads ... and 2 others