ethdev: convert remaining apps to new offload API
Some test applications and examples were not converted to the new offload API introduced in 17.11. For reference, see "Hardware Offload" in doc/guides/prog_guide/poll_mode_drv.rst Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
3a3ec09c69
commit
c6698a3e8f
@ -680,13 +680,7 @@ perf_ethdev_setup(struct evt_test *test, struct evt_options *opt)
|
||||
.mq_mode = ETH_MQ_RX_RSS,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0,
|
||||
.hw_ip_checksum = 0,
|
||||
.hw_vlan_filter = 0,
|
||||
.hw_vlan_strip = 0,
|
||||
.hw_vlan_extend = 0,
|
||||
.jumbo_frame = 0,
|
||||
.hw_strip_crc = 1,
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.rx_adv_conf = {
|
||||
.rss_conf = {
|
||||
|
@ -218,25 +218,6 @@ The rte_eth_dev_configure() function is used to configure the number of queues f
|
||||
"err=%d, port=%u\n",
|
||||
ret, portid);
|
||||
|
||||
The global configuration is stored in a static structure:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
static const struct rte_eth_conf port_conf = {
|
||||
.rxmode = {
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload disabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc= 0, /**< CRC stripped by hardware */
|
||||
},
|
||||
|
||||
.txmode = {
|
||||
.mq_mode = ETH_DCB_NONE
|
||||
},
|
||||
};
|
||||
|
||||
RX Queue Initialization
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -245,25 +245,6 @@ The rte_eth_dev_configure() function is used to configure the number of queues f
|
||||
"err=%d, port=%u\n",
|
||||
ret, portid);
|
||||
|
||||
The global configuration is stored in a static structure:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
static const struct rte_eth_conf port_conf = {
|
||||
.rxmode = {
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload disabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc= 0, /**< CRC stripped by hardware */
|
||||
},
|
||||
|
||||
.txmode = {
|
||||
.mq_mode = ETH_DCB_NONE
|
||||
},
|
||||
};
|
||||
|
||||
.. _l2_fwd_app_rx_init:
|
||||
|
||||
RX Queue Initialization
|
||||
|
@ -137,10 +137,7 @@ The global configuration is stored in a static structure:
|
||||
static const struct rte_eth_conf port_conf = {
|
||||
.rxmode = {
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload disabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.hw_strip_crc= 0, /**< CRC stripped by hardware */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {},
|
||||
.intr_conf = {
|
||||
|
@ -102,10 +102,6 @@ a default structure is provided for VMDQ and DCB configuration to be filled in l
|
||||
.rxmode = {
|
||||
.mq_mode = ETH_MQ_RX_VMDQ_DCB,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload disabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_VMDQ_DCB,
|
||||
|
@ -64,11 +64,7 @@ static const struct rte_eth_conf port_conf = {
|
||||
.mq_mode = ETH_MQ_RX_NONE,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload disabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 0, /**< CRC stripped by hardware */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_NONE,
|
||||
|
@ -40,18 +40,9 @@ static struct rte_eth_conf port_conf_default = {
|
||||
.link_speeds = 0,
|
||||
.rxmode = {
|
||||
.mq_mode = ETH_MQ_RX_NONE,
|
||||
|
||||
.header_split = 0, /* Header split */
|
||||
.hw_ip_checksum = 0, /* IP checksum offload */
|
||||
.hw_vlan_filter = 0, /* VLAN filtering */
|
||||
.hw_vlan_strip = 0, /* VLAN strip */
|
||||
.hw_vlan_extend = 0, /* Extended VLAN */
|
||||
.jumbo_frame = 0, /* Jumbo frame support */
|
||||
.hw_strip_crc = 1, /* CRC strip by HW */
|
||||
.enable_scatter = 0, /* Scattered packets RX handler */
|
||||
|
||||
.max_rx_pkt_len = 9000, /* Jumbo frame max packet len */
|
||||
.split_hdr_size = 0, /* Header split buffer size */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.rx_adv_conf = {
|
||||
.rss_conf = {
|
||||
|
@ -70,11 +70,7 @@ struct app_params app = {
|
||||
static struct rte_eth_conf port_conf = {
|
||||
.rxmode = {
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /* Header Split disabled */
|
||||
.hw_ip_checksum = 1, /* IP checksum offload enabled */
|
||||
.hw_vlan_filter = 0, /* VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /* Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 1, /* CRC stripped by hardware */
|
||||
.offloads = DEV_RX_OFFLOAD_CHECKSUM | DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.rx_adv_conf = {
|
||||
.rss_conf = {
|
||||
|
@ -71,11 +71,7 @@ static const struct rte_eth_txconf tx_conf = {
|
||||
|
||||
static const struct rte_eth_conf port_conf = {
|
||||
.rxmode = {
|
||||
.header_split = 0,
|
||||
.hw_ip_checksum = 0,
|
||||
.hw_vlan_filter = 0,
|
||||
.jumbo_frame = 0,
|
||||
.hw_strip_crc = 1,
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_DCB_NONE,
|
||||
|
@ -43,9 +43,6 @@
|
||||
#define TX_HTHRESH 0
|
||||
#define TX_WTHRESH 0
|
||||
#define TX_RSBIT_THRESH 32
|
||||
#define TX_Q_FLAGS (ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOVLANOFFL |\
|
||||
ETH_TXQ_FLAGS_NOXSUMSCTP | ETH_TXQ_FLAGS_NOXSUMUDP | \
|
||||
ETH_TXQ_FLAGS_NOXSUMTCP)
|
||||
|
||||
#define MBUF_CACHE_SIZE (250)
|
||||
#define BURST_SIZE (32)
|
||||
@ -138,13 +135,9 @@ static uint16_t vlan_id = 0x100;
|
||||
static struct rte_eth_conf default_pmd_conf = {
|
||||
.rxmode = {
|
||||
.mq_mode = ETH_MQ_RX_NONE,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload enabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 1, /**< CRC stripped by hardware */
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_NONE,
|
||||
@ -170,8 +163,6 @@ static struct rte_eth_txconf tx_conf_default = {
|
||||
},
|
||||
.tx_free_thresh = TX_FREE_THRESH,
|
||||
.tx_rs_thresh = TX_RSBIT_THRESH,
|
||||
.txq_flags = TX_Q_FLAGS
|
||||
|
||||
};
|
||||
|
||||
static void free_virtualpmd_tx_queue(void);
|
||||
|
@ -110,11 +110,7 @@ static struct rte_eth_conf default_pmd_conf = {
|
||||
.mq_mode = ETH_MQ_RX_NONE,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload enabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 1, /**< CRC stripped by hardware */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_NONE,
|
||||
|
@ -83,11 +83,7 @@ static struct rte_eth_conf default_pmd_conf = {
|
||||
.mq_mode = ETH_MQ_RX_NONE,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload enabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 1, /**< CRC stripped by hardware */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_NONE,
|
||||
@ -100,11 +96,7 @@ static struct rte_eth_conf rss_pmd_conf = {
|
||||
.mq_mode = ETH_MQ_RX_RSS,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload enabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 1, /**< CRC stripped by hardware */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_NONE,
|
||||
|
@ -65,14 +65,7 @@ static struct rte_eth_conf port_conf = {
|
||||
.mq_mode = ETH_MQ_RX_NONE,
|
||||
.max_rx_pkt_len = ETHER_MAX_LEN,
|
||||
.split_hdr_size = 0,
|
||||
.header_split = 0, /**< Header Split disabled */
|
||||
.hw_ip_checksum = 0, /**< IP checksum offload enabled */
|
||||
.hw_vlan_filter = 0, /**< VLAN filtering disabled */
|
||||
.hw_vlan_strip = 0, /**< VLAN strip enabled. */
|
||||
.hw_vlan_extend = 0, /**< Extended VLAN disabled. */
|
||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled */
|
||||
.hw_strip_crc = 1, /**< CRC stripped by hardware */
|
||||
.enable_scatter = 0, /**< scatter rx disabled */
|
||||
.offloads = DEV_RX_OFFLOAD_CRC_STRIP,
|
||||
},
|
||||
.txmode = {
|
||||
.mq_mode = ETH_MQ_TX_NONE,
|
||||
@ -97,11 +90,6 @@ static struct rte_eth_txconf tx_conf = {
|
||||
},
|
||||
.tx_free_thresh = 32, /* Use PMD default values */
|
||||
.tx_rs_thresh = 32, /* Use PMD default values */
|
||||
.txq_flags = (ETH_TXQ_FLAGS_NOMULTSEGS |
|
||||
ETH_TXQ_FLAGS_NOVLANOFFL |
|
||||
ETH_TXQ_FLAGS_NOXSUMSCTP |
|
||||
ETH_TXQ_FLAGS_NOXSUMUDP |
|
||||
ETH_TXQ_FLAGS_NOXSUMTCP)
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -808,38 +796,29 @@ test_set_rxtx_conf(cmdline_fixed_string_t mode)
|
||||
|
||||
if (!strcmp(mode, "vector")) {
|
||||
/* vector rx, tx */
|
||||
tx_conf.txq_flags = 0xf01;
|
||||
tx_conf.tx_rs_thresh = 32;
|
||||
tx_conf.tx_free_thresh = 32;
|
||||
port_conf.rxmode.hw_ip_checksum = 0;
|
||||
port_conf.rxmode.enable_scatter = 0;
|
||||
return 0;
|
||||
} else if (!strcmp(mode, "scalar")) {
|
||||
/* bulk alloc rx, full-featured tx */
|
||||
tx_conf.txq_flags = 0;
|
||||
tx_conf.tx_rs_thresh = 32;
|
||||
tx_conf.tx_free_thresh = 32;
|
||||
port_conf.rxmode.hw_ip_checksum = 1;
|
||||
port_conf.rxmode.enable_scatter = 0;
|
||||
port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_CHECKSUM;
|
||||
return 0;
|
||||
} else if (!strcmp(mode, "hybrid")) {
|
||||
/* bulk alloc rx, vector tx
|
||||
* when vec macro not define,
|
||||
* using the same rx/tx as scalar
|
||||
*/
|
||||
tx_conf.txq_flags = 0xf01;
|
||||
tx_conf.tx_rs_thresh = 32;
|
||||
tx_conf.tx_free_thresh = 32;
|
||||
port_conf.rxmode.hw_ip_checksum = 1;
|
||||
port_conf.rxmode.enable_scatter = 0;
|
||||
port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_CHECKSUM;
|
||||
return 0;
|
||||
} else if (!strcmp(mode, "full")) {
|
||||
/* full feature rx,tx pair */
|
||||
tx_conf.txq_flags = 0x0; /* must condition */
|
||||
tx_conf.tx_rs_thresh = 32;
|
||||
tx_conf.tx_free_thresh = 32;
|
||||
port_conf.rxmode.hw_ip_checksum = 0;
|
||||
port_conf.rxmode.enable_scatter = 1; /* must condition */
|
||||
port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_SCATTER;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user