dpdk-rs icon indicating copy to clipboard operation
dpdk-rs copied to clipboard

is there a verion match required? which version of DPDK is used?

Open ican2002 opened this issue 3 years ago • 0 comments

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

ican2002 avatar Nov 17 '22 11:11 ican2002