app/testpmd: convert to new Rx offloads API
Ethdev Rx offloads API has changed since: commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") Convert the application to use the new API. The is no functionality changes rather simple conversion of the flags. Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This commit is contained in:
parent
75c530c1bd
commit
0074d02fca
@ -1594,6 +1594,7 @@ cmd_config_max_pkt_len_parsed(void *parsed_result,
|
|||||||
__attribute__((unused)) void *data)
|
__attribute__((unused)) void *data)
|
||||||
{
|
{
|
||||||
struct cmd_config_max_pkt_len_result *res = parsed_result;
|
struct cmd_config_max_pkt_len_result *res = parsed_result;
|
||||||
|
uint64_t rx_offloads = rx_mode.offloads;
|
||||||
|
|
||||||
if (!all_ports_stopped()) {
|
if (!all_ports_stopped()) {
|
||||||
printf("Please stop all ports first\n");
|
printf("Please stop all ports first\n");
|
||||||
@ -1611,14 +1612,16 @@ cmd_config_max_pkt_len_parsed(void *parsed_result,
|
|||||||
|
|
||||||
rx_mode.max_rx_pkt_len = res->value;
|
rx_mode.max_rx_pkt_len = res->value;
|
||||||
if (res->value > ETHER_MAX_LEN)
|
if (res->value > ETHER_MAX_LEN)
|
||||||
rx_mode.jumbo_frame = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_JUMBO_FRAME;
|
||||||
else
|
else
|
||||||
rx_mode.jumbo_frame = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_JUMBO_FRAME;
|
||||||
} else {
|
} else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rx_mode.offloads = rx_offloads;
|
||||||
|
|
||||||
init_port_config();
|
init_port_config();
|
||||||
|
|
||||||
cmd_reconfig_device_queue(RTE_PORT_ALL, 1, 1);
|
cmd_reconfig_device_queue(RTE_PORT_ALL, 1, 1);
|
||||||
@ -1720,6 +1723,7 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result,
|
|||||||
__attribute__((unused)) void *data)
|
__attribute__((unused)) void *data)
|
||||||
{
|
{
|
||||||
struct cmd_config_rx_mode_flag *res = parsed_result;
|
struct cmd_config_rx_mode_flag *res = parsed_result;
|
||||||
|
uint64_t rx_offloads = rx_mode.offloads;
|
||||||
|
|
||||||
if (!all_ports_stopped()) {
|
if (!all_ports_stopped()) {
|
||||||
printf("Please stop all ports first\n");
|
printf("Please stop all ports first\n");
|
||||||
@ -1728,48 +1732,48 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result,
|
|||||||
|
|
||||||
if (!strcmp(res->name, "crc-strip")) {
|
if (!strcmp(res->name, "crc-strip")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on"))
|
||||||
rx_mode.hw_strip_crc = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_CRC_STRIP;
|
||||||
else if (!strcmp(res->value, "off"))
|
else if (!strcmp(res->value, "off"))
|
||||||
rx_mode.hw_strip_crc = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_CRC_STRIP;
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "scatter")) {
|
} else if (!strcmp(res->name, "scatter")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on")) {
|
||||||
rx_mode.enable_scatter = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_SCATTER;
|
||||||
else if (!strcmp(res->value, "off"))
|
} else if (!strcmp(res->value, "off")) {
|
||||||
rx_mode.enable_scatter = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_SCATTER;
|
||||||
else {
|
} else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "rx-cksum")) {
|
} else if (!strcmp(res->name, "rx-cksum")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on"))
|
||||||
rx_mode.hw_ip_checksum = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_CHECKSUM;
|
||||||
else if (!strcmp(res->value, "off"))
|
else if (!strcmp(res->value, "off"))
|
||||||
rx_mode.hw_ip_checksum = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_CHECKSUM;
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "rx-timestamp")) {
|
} else if (!strcmp(res->name, "rx-timestamp")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on"))
|
||||||
rx_mode.hw_timestamp = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_TIMESTAMP;
|
||||||
else if (!strcmp(res->value, "off"))
|
else if (!strcmp(res->value, "off"))
|
||||||
rx_mode.hw_timestamp = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_TIMESTAMP;
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "hw-vlan")) {
|
} else if (!strcmp(res->name, "hw-vlan")) {
|
||||||
if (!strcmp(res->value, "on")) {
|
if (!strcmp(res->value, "on")) {
|
||||||
rx_mode.hw_vlan_filter = 1;
|
rx_offloads |= (DEV_RX_OFFLOAD_VLAN_FILTER |
|
||||||
rx_mode.hw_vlan_strip = 1;
|
DEV_RX_OFFLOAD_VLAN_STRIP);
|
||||||
}
|
}
|
||||||
else if (!strcmp(res->value, "off")) {
|
else if (!strcmp(res->value, "off")) {
|
||||||
rx_mode.hw_vlan_filter = 0;
|
rx_offloads &= ~(DEV_RX_OFFLOAD_VLAN_FILTER |
|
||||||
rx_mode.hw_vlan_strip = 0;
|
DEV_RX_OFFLOAD_VLAN_STRIP);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
@ -1777,27 +1781,27 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result,
|
|||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "hw-vlan-filter")) {
|
} else if (!strcmp(res->name, "hw-vlan-filter")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on"))
|
||||||
rx_mode.hw_vlan_filter = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_VLAN_FILTER;
|
||||||
else if (!strcmp(res->value, "off"))
|
else if (!strcmp(res->value, "off"))
|
||||||
rx_mode.hw_vlan_filter = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_FILTER;
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "hw-vlan-strip")) {
|
} else if (!strcmp(res->name, "hw-vlan-strip")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on"))
|
||||||
rx_mode.hw_vlan_strip = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_VLAN_STRIP;
|
||||||
else if (!strcmp(res->value, "off"))
|
else if (!strcmp(res->value, "off"))
|
||||||
rx_mode.hw_vlan_strip = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_STRIP;
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!strcmp(res->name, "hw-vlan-extend")) {
|
} else if (!strcmp(res->name, "hw-vlan-extend")) {
|
||||||
if (!strcmp(res->value, "on"))
|
if (!strcmp(res->value, "on"))
|
||||||
rx_mode.hw_vlan_extend = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_VLAN_EXTEND;
|
||||||
else if (!strcmp(res->value, "off"))
|
else if (!strcmp(res->value, "off"))
|
||||||
rx_mode.hw_vlan_extend = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_EXTEND;
|
||||||
else {
|
else {
|
||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
@ -1815,6 +1819,7 @@ cmd_config_rx_mode_flag_parsed(void *parsed_result,
|
|||||||
printf("Unknown parameter\n");
|
printf("Unknown parameter\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
rx_mode.offloads = rx_offloads;
|
||||||
|
|
||||||
init_port_config();
|
init_port_config();
|
||||||
|
|
||||||
|
@ -551,14 +551,12 @@ port_infos_display(portid_t port_id)
|
|||||||
void
|
void
|
||||||
port_offload_cap_display(portid_t port_id)
|
port_offload_cap_display(portid_t port_id)
|
||||||
{
|
{
|
||||||
struct rte_eth_dev *dev;
|
|
||||||
struct rte_eth_dev_info dev_info;
|
struct rte_eth_dev_info dev_info;
|
||||||
static const char *info_border = "************";
|
static const char *info_border = "************";
|
||||||
|
|
||||||
if (port_id_is_invalid(port_id, ENABLED_WARN))
|
if (port_id_is_invalid(port_id, ENABLED_WARN))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dev = &rte_eth_devices[port_id];
|
|
||||||
rte_eth_dev_info_get(port_id, &dev_info);
|
rte_eth_dev_info_get(port_id, &dev_info);
|
||||||
|
|
||||||
printf("\n%s Port %d supported offload features: %s\n",
|
printf("\n%s Port %d supported offload features: %s\n",
|
||||||
@ -566,7 +564,8 @@ port_offload_cap_display(portid_t port_id)
|
|||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_VLAN_STRIP) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_VLAN_STRIP) {
|
||||||
printf("VLAN stripped: ");
|
printf("VLAN stripped: ");
|
||||||
if (dev->data->dev_conf.rxmode.hw_vlan_strip)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_VLAN_STRIP)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
@ -574,7 +573,8 @@ port_offload_cap_display(portid_t port_id)
|
|||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_QINQ_STRIP) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_QINQ_STRIP) {
|
||||||
printf("Double VLANs stripped: ");
|
printf("Double VLANs stripped: ");
|
||||||
if (dev->data->dev_conf.rxmode.hw_vlan_extend)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_VLAN_EXTEND)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
@ -582,7 +582,8 @@ port_offload_cap_display(portid_t port_id)
|
|||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_IPV4_CKSUM) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_IPV4_CKSUM) {
|
||||||
printf("RX IPv4 checksum: ");
|
printf("RX IPv4 checksum: ");
|
||||||
if (dev->data->dev_conf.rxmode.hw_ip_checksum)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_IPV4_CKSUM)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
@ -590,7 +591,8 @@ port_offload_cap_display(portid_t port_id)
|
|||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_UDP_CKSUM) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_UDP_CKSUM) {
|
||||||
printf("RX UDP checksum: ");
|
printf("RX UDP checksum: ");
|
||||||
if (dev->data->dev_conf.rxmode.hw_ip_checksum)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_UDP_CKSUM)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
@ -598,18 +600,26 @@ port_offload_cap_display(portid_t port_id)
|
|||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM) {
|
||||||
printf("RX TCP checksum: ");
|
printf("RX TCP checksum: ");
|
||||||
if (dev->data->dev_conf.rxmode.hw_ip_checksum)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_TCP_CKSUM)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM)
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM) {
|
||||||
printf("RX Outer IPv4 checksum: on");
|
printf("RX Outer IPv4 checksum: ");
|
||||||
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM)
|
||||||
|
printf("on\n");
|
||||||
|
else
|
||||||
|
printf("off\n");
|
||||||
|
}
|
||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_LRO) {
|
||||||
printf("Large receive offload: ");
|
printf("Large receive offload: ");
|
||||||
if (dev->data->dev_conf.rxmode.enable_lro)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_TCP_LRO)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
@ -626,7 +636,8 @@ port_offload_cap_display(portid_t port_id)
|
|||||||
|
|
||||||
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TIMESTAMP) {
|
if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TIMESTAMP) {
|
||||||
printf("HW timestamp: ");
|
printf("HW timestamp: ");
|
||||||
if (dev->data->dev_conf.rxmode.hw_timestamp)
|
if (ports[port_id].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_TIMESTAMP)
|
||||||
printf("on\n");
|
printf("on\n");
|
||||||
else
|
else
|
||||||
printf("off\n");
|
printf("off\n");
|
||||||
@ -1686,7 +1697,8 @@ rxtx_config_display(void)
|
|||||||
|
|
||||||
printf(" port %d:\n", (unsigned int)pid);
|
printf(" port %d:\n", (unsigned int)pid);
|
||||||
printf(" CRC stripping %s\n",
|
printf(" CRC stripping %s\n",
|
||||||
ports[pid].dev_conf.rxmode.hw_strip_crc ?
|
(ports[pid].dev_conf.rxmode.offloads &
|
||||||
|
DEV_RX_OFFLOAD_CRC_STRIP) ?
|
||||||
"enabled" : "disabled");
|
"enabled" : "disabled");
|
||||||
printf(" RX queues=%d - RX desc=%d - RX free threshold=%d\n",
|
printf(" RX queues=%d - RX desc=%d - RX free threshold=%d\n",
|
||||||
nb_rxq, nb_rxd, rx_conf->rx_free_thresh);
|
nb_rxq, nb_rxd, rx_conf->rx_free_thresh);
|
||||||
|
@ -537,6 +537,8 @@ launch_args_parse(int argc, char** argv)
|
|||||||
char **argvopt;
|
char **argvopt;
|
||||||
int opt_idx;
|
int opt_idx;
|
||||||
enum { TX, RX };
|
enum { TX, RX };
|
||||||
|
/* Default Rx offloads for all ports. */
|
||||||
|
uint64_t rx_offloads = rx_mode.offloads;
|
||||||
|
|
||||||
static struct option lgopts[] = {
|
static struct option lgopts[] = {
|
||||||
{ "help", 0, 0, 0 },
|
{ "help", 0, 0, 0 },
|
||||||
@ -775,7 +777,8 @@ launch_args_parse(int argc, char** argv)
|
|||||||
if (n >= ETHER_MIN_LEN) {
|
if (n >= ETHER_MIN_LEN) {
|
||||||
rx_mode.max_rx_pkt_len = (uint32_t) n;
|
rx_mode.max_rx_pkt_len = (uint32_t) n;
|
||||||
if (n > ETHER_MAX_LEN)
|
if (n > ETHER_MAX_LEN)
|
||||||
rx_mode.jumbo_frame = 1;
|
rx_offloads |=
|
||||||
|
DEV_RX_OFFLOAD_JUMBO_FRAME;
|
||||||
} else
|
} else
|
||||||
rte_exit(EXIT_FAILURE,
|
rte_exit(EXIT_FAILURE,
|
||||||
"Invalid max-pkt-len=%d - should be > %d\n",
|
"Invalid max-pkt-len=%d - should be > %d\n",
|
||||||
@ -868,34 +871,30 @@ launch_args_parse(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!strcmp(lgopts[opt_idx].name, "disable-crc-strip"))
|
if (!strcmp(lgopts[opt_idx].name, "disable-crc-strip"))
|
||||||
rx_mode.hw_strip_crc = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_CRC_STRIP;
|
||||||
if (!strcmp(lgopts[opt_idx].name, "enable-lro"))
|
if (!strcmp(lgopts[opt_idx].name, "enable-lro"))
|
||||||
rx_mode.enable_lro = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_TCP_LRO;
|
||||||
if (!strcmp(lgopts[opt_idx].name, "enable-scatter"))
|
if (!strcmp(lgopts[opt_idx].name, "enable-scatter"))
|
||||||
rx_mode.enable_scatter = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_SCATTER;
|
||||||
if (!strcmp(lgopts[opt_idx].name, "enable-rx-cksum"))
|
if (!strcmp(lgopts[opt_idx].name, "enable-rx-cksum"))
|
||||||
rx_mode.hw_ip_checksum = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_CHECKSUM;
|
||||||
if (!strcmp(lgopts[opt_idx].name,
|
if (!strcmp(lgopts[opt_idx].name,
|
||||||
"enable-rx-timestamp"))
|
"enable-rx-timestamp"))
|
||||||
rx_mode.hw_timestamp = 1;
|
rx_offloads |= DEV_RX_OFFLOAD_TIMESTAMP;
|
||||||
|
if (!strcmp(lgopts[opt_idx].name, "disable-hw-vlan"))
|
||||||
if (!strcmp(lgopts[opt_idx].name, "disable-hw-vlan")) {
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN;
|
||||||
rx_mode.hw_vlan_filter = 0;
|
|
||||||
rx_mode.hw_vlan_strip = 0;
|
|
||||||
rx_mode.hw_vlan_extend = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!strcmp(lgopts[opt_idx].name,
|
if (!strcmp(lgopts[opt_idx].name,
|
||||||
"disable-hw-vlan-filter"))
|
"disable-hw-vlan-filter"))
|
||||||
rx_mode.hw_vlan_filter = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_FILTER;
|
||||||
|
|
||||||
if (!strcmp(lgopts[opt_idx].name,
|
if (!strcmp(lgopts[opt_idx].name,
|
||||||
"disable-hw-vlan-strip"))
|
"disable-hw-vlan-strip"))
|
||||||
rx_mode.hw_vlan_strip = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_STRIP;
|
||||||
|
|
||||||
if (!strcmp(lgopts[opt_idx].name,
|
if (!strcmp(lgopts[opt_idx].name,
|
||||||
"disable-hw-vlan-extend"))
|
"disable-hw-vlan-extend"))
|
||||||
rx_mode.hw_vlan_extend = 0;
|
rx_offloads &= ~DEV_RX_OFFLOAD_VLAN_EXTEND;
|
||||||
|
|
||||||
if (!strcmp(lgopts[opt_idx].name, "enable-drop-en"))
|
if (!strcmp(lgopts[opt_idx].name, "enable-drop-en"))
|
||||||
rx_drop_en = 1;
|
rx_drop_en = 1;
|
||||||
@ -1111,4 +1110,7 @@ launch_args_parse(int argc, char** argv)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set offload configuration from command line parameters. */
|
||||||
|
rx_mode.offloads = rx_offloads;
|
||||||
}
|
}
|
||||||
|
@ -310,15 +310,10 @@ lcoreid_t latencystats_lcore_id = -1;
|
|||||||
*/
|
*/
|
||||||
struct rte_eth_rxmode rx_mode = {
|
struct rte_eth_rxmode rx_mode = {
|
||||||
.max_rx_pkt_len = ETHER_MAX_LEN, /**< Default maximum frame length. */
|
.max_rx_pkt_len = ETHER_MAX_LEN, /**< Default maximum frame length. */
|
||||||
.split_hdr_size = 0,
|
.offloads = (DEV_RX_OFFLOAD_VLAN_FILTER |
|
||||||
.header_split = 0, /**< Header Split disabled. */
|
DEV_RX_OFFLOAD_VLAN_STRIP |
|
||||||
.hw_ip_checksum = 0, /**< IP checksum offload disabled. */
|
DEV_RX_OFFLOAD_CRC_STRIP),
|
||||||
.hw_vlan_filter = 1, /**< VLAN filtering enabled. */
|
.ignore_offload_bitfield = 1,
|
||||||
.hw_vlan_strip = 1, /**< VLAN strip enabled. */
|
|
||||||
.hw_vlan_extend = 0, /**< Extended VLAN disabled. */
|
|
||||||
.jumbo_frame = 0, /**< Jumbo Frame Support disabled. */
|
|
||||||
.hw_strip_crc = 1, /**< CRC stripping by hardware enabled. */
|
|
||||||
.hw_timestamp = 0, /**< HW timestamp enabled. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct rte_fdir_conf fdir_conf = {
|
struct rte_fdir_conf fdir_conf = {
|
||||||
@ -1493,6 +1488,8 @@ start_port(portid_t pid)
|
|||||||
port->need_reconfig_queues = 1;
|
port->need_reconfig_queues = 1;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
/* Apply Rx offloads configuration */
|
||||||
|
port->rx_conf.offloads = port->dev_conf.rxmode.offloads;
|
||||||
/* setup rx queues */
|
/* setup rx queues */
|
||||||
for (qi = 0; qi < nb_rxq; qi++) {
|
for (qi = 0; qi < nb_rxq; qi++) {
|
||||||
if ((numa_support) &&
|
if ((numa_support) &&
|
||||||
@ -2224,7 +2221,7 @@ init_port_dcb_config(portid_t pid,
|
|||||||
retval = get_eth_dcb_conf(&port_conf, dcb_mode, num_tcs, pfc_en);
|
retval = get_eth_dcb_conf(&port_conf, dcb_mode, num_tcs, pfc_en);
|
||||||
if (retval < 0)
|
if (retval < 0)
|
||||||
return retval;
|
return retval;
|
||||||
port_conf.rxmode.hw_vlan_filter = 1;
|
port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_VLAN_FILTER;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Write the configuration into the device.
|
* Write the configuration into the device.
|
||||||
@ -2273,7 +2270,7 @@ init_port_dcb_config(portid_t pid,
|
|||||||
|
|
||||||
rxtx_port_config(rte_port);
|
rxtx_port_config(rte_port);
|
||||||
/* VLAN filter */
|
/* VLAN filter */
|
||||||
rte_port->dev_conf.rxmode.hw_vlan_filter = 1;
|
rte_port->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_VLAN_FILTER;
|
||||||
for (i = 0; i < RTE_DIM(vlan_tags); i++)
|
for (i = 0; i < RTE_DIM(vlan_tags); i++)
|
||||||
rx_vft_set(pid, vlan_tags[i], 1);
|
rx_vft_set(pid, vlan_tags[i], 1);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user