diff options
Diffstat (limited to 'src/plugins/dpdk/device')
-rw-r--r-- | src/plugins/dpdk/device/common.c | 64 | ||||
-rw-r--r-- | src/plugins/dpdk/device/device.c | 16 | ||||
-rw-r--r-- | src/plugins/dpdk/device/format.c | 11 | ||||
-rw-r--r-- | src/plugins/dpdk/device/init.c | 31 |
4 files changed, 62 insertions, 60 deletions
diff --git a/src/plugins/dpdk/device/common.c b/src/plugins/dpdk/device/common.c index 61ab7b4a5b2..f543723126f 100644 --- a/src/plugins/dpdk/device/common.c +++ b/src/plugins/dpdk/device/common.c @@ -35,13 +35,13 @@ static struct u64 offload; vnet_hw_if_caps_t caps; } tx_off_caps_map[] = { - { DEV_TX_OFFLOAD_IPV4_CKSUM, VNET_HW_IF_CAP_TX_IP4_CKSUM }, - { DEV_TX_OFFLOAD_TCP_CKSUM, VNET_HW_IF_CAP_TX_TCP_CKSUM }, - { DEV_TX_OFFLOAD_UDP_CKSUM, VNET_HW_IF_CAP_TX_UDP_CKSUM }, - { DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM, VNET_HW_IF_CAP_TX_IP4_OUTER_CKSUM }, - { DEV_TX_OFFLOAD_OUTER_UDP_CKSUM, VNET_HW_IF_CAP_TX_UDP_OUTER_CKSUM }, - { DEV_TX_OFFLOAD_TCP_TSO, VNET_HW_IF_CAP_TCP_GSO }, - { DEV_TX_OFFLOAD_VXLAN_TNL_TSO, VNET_HW_IF_CAP_VXLAN_TNL_GSO } + { RTE_ETH_TX_OFFLOAD_IPV4_CKSUM, VNET_HW_IF_CAP_TX_IP4_CKSUM }, + { RTE_ETH_TX_OFFLOAD_TCP_CKSUM, VNET_HW_IF_CAP_TX_TCP_CKSUM }, + { RTE_ETH_TX_OFFLOAD_UDP_CKSUM, VNET_HW_IF_CAP_TX_UDP_CKSUM }, + { RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM, VNET_HW_IF_CAP_TX_IP4_OUTER_CKSUM }, + { RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM, VNET_HW_IF_CAP_TX_UDP_OUTER_CKSUM }, + { RTE_ETH_TX_OFFLOAD_TCP_TSO, VNET_HW_IF_CAP_TCP_GSO }, + { RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO, VNET_HW_IF_CAP_VXLAN_TNL_GSO } }; void @@ -87,39 +87,40 @@ dpdk_device_setup (dpdk_device_t * xd) format_dpdk_rte_device, dev_info.device); /* create rx and tx offload wishlist */ - rxo = DEV_RX_OFFLOAD_IPV4_CKSUM; + rxo = RTE_ETH_RX_OFFLOAD_IPV4_CKSUM; txo = 0; if (xd->conf.enable_tcp_udp_checksum) - rxo |= DEV_RX_OFFLOAD_UDP_CKSUM | DEV_RX_OFFLOAD_TCP_CKSUM; + rxo |= RTE_ETH_RX_OFFLOAD_UDP_CKSUM | RTE_ETH_RX_OFFLOAD_TCP_CKSUM; if (xd->conf.disable_tx_checksum_offload == 0 && xd->conf.enable_outer_checksum_offload) - txo |= DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | DEV_TX_OFFLOAD_OUTER_UDP_CKSUM; + txo |= + RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM | RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM; if (xd->conf.disable_tx_checksum_offload == 0) - txo |= DEV_TX_OFFLOAD_IPV4_CKSUM | DEV_TX_OFFLOAD_TCP_CKSUM | - DEV_TX_OFFLOAD_UDP_CKSUM; + txo |= RTE_ETH_TX_OFFLOAD_IPV4_CKSUM | RTE_ETH_TX_OFFLOAD_TCP_CKSUM | + RTE_ETH_TX_OFFLOAD_UDP_CKSUM; if (xd->conf.disable_multi_seg == 0) { - txo |= DEV_TX_OFFLOAD_MULTI_SEGS; - rxo |= DEV_RX_OFFLOAD_SCATTER; + txo |= RTE_ETH_TX_OFFLOAD_MULTI_SEGS; + rxo |= RTE_ETH_RX_OFFLOAD_SCATTER; #if RTE_VERSION < RTE_VERSION_NUM(21, 11, 0, 0) rxo |= DEV_RX_OFFLOAD_JUMBO_FRAME; #endif } if (xd->conf.enable_lro) - rxo |= DEV_RX_OFFLOAD_TCP_LRO; + rxo |= RTE_ETH_RX_OFFLOAD_TCP_LRO; /* per-device offload config */ if (xd->conf.enable_tso) - txo |= DEV_TX_OFFLOAD_TCP_CKSUM | DEV_TX_OFFLOAD_TCP_TSO | - DEV_TX_OFFLOAD_VXLAN_TNL_TSO; + txo |= RTE_ETH_TX_OFFLOAD_TCP_CKSUM | RTE_ETH_TX_OFFLOAD_TCP_TSO | + RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO; if (xd->conf.disable_rx_scatter) - rxo &= ~DEV_RX_OFFLOAD_SCATTER; + rxo &= ~RTE_ETH_RX_OFFLOAD_SCATTER; /* mask unsupported offloads */ rxo &= dev_info.rx_offload_capa; @@ -142,7 +143,7 @@ dpdk_device_setup (dpdk_device_t * xd) /* finalize configuration */ conf.rxmode.offloads = rxo; conf.txmode.offloads = txo; - if (rxo & DEV_RX_OFFLOAD_TCP_LRO) + if (rxo & RTE_ETH_RX_OFFLOAD_TCP_LRO) conf.rxmode.max_lro_pkt_size = xd->conf.max_lro_pkt_size; if (xd->conf.enable_lsc_int) @@ -150,12 +151,12 @@ dpdk_device_setup (dpdk_device_t * xd) if (xd->conf.enable_rxq_int) conf.intr_conf.rxq = 1; - conf.rxmode.mq_mode = ETH_MQ_RX_NONE; + conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE; if (xd->conf.n_rx_queues > 1) { if (xd->conf.disable_rss == 0) { - conf.rxmode.mq_mode = ETH_MQ_RX_RSS; + conf.rxmode.mq_mode = RTE_ETH_MQ_RX_RSS; conf.rx_adv_conf.rss_conf.rss_hf = xd->conf.rss_hf; } } @@ -256,19 +257,19 @@ retry: xd->buffer_flags = (VLIB_BUFFER_TOTAL_LENGTH_VALID | VLIB_BUFFER_EXT_HDR_VALID); - if ((rxo & (DEV_RX_OFFLOAD_TCP_CKSUM | DEV_RX_OFFLOAD_UDP_CKSUM)) == - (DEV_RX_OFFLOAD_TCP_CKSUM | DEV_RX_OFFLOAD_UDP_CKSUM)) + if ((rxo & (RTE_ETH_RX_OFFLOAD_TCP_CKSUM | RTE_ETH_RX_OFFLOAD_UDP_CKSUM)) == + (RTE_ETH_RX_OFFLOAD_TCP_CKSUM | RTE_ETH_RX_OFFLOAD_UDP_CKSUM)) xd->buffer_flags |= (VNET_BUFFER_F_L4_CHECKSUM_COMPUTED | VNET_BUFFER_F_L4_CHECKSUM_CORRECT); dpdk_device_flag_set (xd, DPDK_DEVICE_FLAG_RX_IP4_CKSUM, - rxo & DEV_RX_OFFLOAD_IPV4_CKSUM); + rxo & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM); dpdk_device_flag_set (xd, DPDK_DEVICE_FLAG_MAYBE_MULTISEG, - rxo & DEV_RX_OFFLOAD_SCATTER); + rxo & RTE_ETH_RX_OFFLOAD_SCATTER); dpdk_device_flag_set ( xd, DPDK_DEVICE_FLAG_TX_OFFLOAD, - (txo & (DEV_TX_OFFLOAD_TCP_CKSUM | DEV_TX_OFFLOAD_UDP_CKSUM)) == - (DEV_TX_OFFLOAD_TCP_CKSUM | DEV_TX_OFFLOAD_UDP_CKSUM)); + (txo & (RTE_ETH_TX_OFFLOAD_TCP_CKSUM | RTE_ETH_TX_OFFLOAD_UDP_CKSUM)) == + (RTE_ETH_TX_OFFLOAD_TCP_CKSUM | RTE_ETH_TX_OFFLOAD_UDP_CKSUM)); /* unconditionally set mac filtering cap */ caps.val = caps.mask = VNET_HW_IF_CAP_MAC_FILTER; @@ -461,10 +462,11 @@ dpdk_port_state_callback_inline (dpdk_portid_t port_id, rte_eth_link_get_nowait (port_id, &link); u8 link_up = link.link_status; if (link_up) - dpdk_log_info ("Port %d Link Up - speed %u Mbps - %s", - port_id, (unsigned) link.link_speed, - (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? - "full-duplex" : "half-duplex"); + dpdk_log_info ("Port %d Link Up - speed %u Mbps - %s", port_id, + (unsigned) link.link_speed, + (link.link_duplex == RTE_ETH_LINK_FULL_DUPLEX) ? + "full-duplex" : + "half-duplex"); else dpdk_log_info ("Port %d Link Down\n\n", port_id); diff --git a/src/plugins/dpdk/device/device.c b/src/plugins/dpdk/device/device.c index fa19f5c8457..b6a048e8ab9 100644 --- a/src/plugins/dpdk/device/device.c +++ b/src/plugins/dpdk/device/device.c @@ -547,7 +547,7 @@ dpdk_subif_add_del_function (vnet_main_t * vnm, } vlan_offload = rte_eth_dev_get_vlan_offload (xd->port_id); - vlan_offload |= ETH_VLAN_FILTER_OFFLOAD; + vlan_offload |= RTE_ETH_VLAN_FILTER_OFFLOAD; if ((r = rte_eth_dev_set_vlan_offload (xd->port_id, vlan_offload))) { @@ -647,10 +647,8 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm, } /* update reta table */ - reta_conf = - (struct rte_eth_rss_reta_entry64 *) clib_mem_alloc (dev_info.reta_size / - RTE_RETA_GROUP_SIZE * - sizeof (*reta_conf)); + reta_conf = (struct rte_eth_rss_reta_entry64 *) clib_mem_alloc ( + dev_info.reta_size / RTE_ETH_RETA_GROUP_SIZE * sizeof (*reta_conf)); if (reta_conf == NULL) { err = clib_error_return (0, "clib_mem_alloc failed"); @@ -658,13 +656,13 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm, } clib_memset (reta_conf, 0, - dev_info.reta_size / RTE_RETA_GROUP_SIZE * - sizeof (*reta_conf)); + dev_info.reta_size / RTE_ETH_RETA_GROUP_SIZE * + sizeof (*reta_conf)); for (i = 0; i < dev_info.reta_size; i++) { - uint32_t reta_id = i / RTE_RETA_GROUP_SIZE; - uint32_t reta_pos = i % RTE_RETA_GROUP_SIZE; + uint32_t reta_id = i / RTE_ETH_RETA_GROUP_SIZE; + uint32_t reta_pos = i % RTE_ETH_RETA_GROUP_SIZE; reta_conf[reta_id].mask = UINT64_MAX; reta_conf[reta_id].reta[reta_pos] = reta[i]; diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c index b06c4cef344..ab14231d5f7 100644 --- a/src/plugins/dpdk/device/format.c +++ b/src/plugins/dpdk/device/format.c @@ -197,8 +197,9 @@ format_dpdk_link_status (u8 * s, va_list * args) { u32 promisc = rte_eth_promiscuous_get (xd->port_id); - s = format (s, "%s duplex ", (l->link_duplex == ETH_LINK_FULL_DUPLEX) ? - "full" : "half"); + s = format (s, "%s duplex ", + (l->link_duplex == RTE_ETH_LINK_FULL_DUPLEX) ? "full" : + "half"); s = format (s, "max-frame-size %d %s\n", hi->max_frame_size, promisc ? " promisc" : ""); } @@ -482,9 +483,9 @@ format_dpdk_device (u8 * s, va_list * args) vlan_off = rte_eth_dev_get_vlan_offload (xd->port_id); s = format (s, "%Uvlan offload: strip %s filter %s qinq %s\n", format_white_space, indent + 2, - vlan_off & ETH_VLAN_STRIP_OFFLOAD ? "on" : "off", - vlan_off & ETH_VLAN_FILTER_OFFLOAD ? "on" : "off", - vlan_off & ETH_VLAN_EXTEND_OFFLOAD ? "on" : "off"); + vlan_off & RTE_ETH_VLAN_STRIP_OFFLOAD ? "on" : "off", + vlan_off & RTE_ETH_VLAN_FILTER_OFFLOAD ? "on" : "off", + vlan_off & RTE_ETH_VLAN_EXTEND_OFFLOAD ? "on" : "off"); s = format (s, "%Urx offload avail: %U\n", format_white_space, indent + 2, format_dpdk_rx_offload_caps, di.rx_offload_capa); s = format (s, "%Urx offload active: %U\n", format_white_space, indent + 2, diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 3b5b90704df..13cecda9bf4 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -56,17 +56,17 @@ const struct const char *pfx; } if_name_prefixes[] = { /* sorted, higher speed first */ - { ETH_LINK_SPEED_200G, "TwoHundredGigabitEthernet" }, - { ETH_LINK_SPEED_100G, "HundredGigabitEthernet" }, - { ETH_LINK_SPEED_56G, "FiftySixGigabitEthernet" }, - { ETH_LINK_SPEED_50G, "FiftyGigabitEthernet" }, - { ETH_LINK_SPEED_40G, "FortyGigabitEthernet" }, - { ETH_LINK_SPEED_25G, "TwentyFiveGigabitEthernet" }, - { ETH_LINK_SPEED_20G, "TwentyGigabitEthernet" }, - { ETH_LINK_SPEED_10G, "TenGigabitEthernet" }, - { ETH_LINK_SPEED_5G, "FiveGigabitEthernet" }, - { ETH_LINK_SPEED_2_5G, "TwoDotFiveGigabitEthernet" }, - { ETH_LINK_SPEED_1G, "GigabitEthernet" }, + { RTE_ETH_LINK_SPEED_200G, "TwoHundredGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_100G, "HundredGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_56G, "FiftySixGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_50G, "FiftyGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_40G, "FortyGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_25G, "TwentyFiveGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_20G, "TwentyGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_10G, "TenGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_5G, "FiveGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_2_5G, "TwoDotFiveGigabitEthernet" }, + { RTE_ETH_LINK_SPEED_1G, "GigabitEthernet" }, }; static clib_error_t * @@ -247,7 +247,8 @@ dpdk_lib_init (dpdk_main_t * dm) dm->default_port_conf.n_tx_desc = DPDK_NB_TX_DESC_DEFAULT; dm->default_port_conf.n_rx_queues = 1; dm->default_port_conf.n_tx_queues = tm->n_vlib_mains; - dm->default_port_conf.rss_hf = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP; + dm->default_port_conf.rss_hf = + RTE_ETH_RSS_IP | RTE_ETH_RSS_UDP | RTE_ETH_RSS_TCP; dm->default_port_conf.max_lro_pkt_size = DPDK_MAX_LRO_SIZE_DEFAULT; if ((clib_mem_get_default_hugepage_size () == 2 << 20) && @@ -474,7 +475,7 @@ dpdk_lib_init (dpdk_main_t * dm) if (xd->conf.enable_tcp_udp_checksum == 0) dpdk_log_warn ("[%u] TCP/UDP checksum offload must be enabled", xd->port_id); - else if ((di.tx_offload_capa & DEV_TX_OFFLOAD_TCP_TSO) == 0) + else if ((di.tx_offload_capa & RTE_ETH_TX_OFFLOAD_TCP_TSO) == 0) dpdk_log_warn ("[%u] TSO not supported by device", xd->port_id); else xd->conf.enable_tso = 1; @@ -1361,10 +1362,10 @@ dpdk_update_link_state (dpdk_device_t * xd, f64 now) hw_flags_chg = 1; switch (xd->link.link_duplex) { - case ETH_LINK_HALF_DUPLEX: + case RTE_ETH_LINK_HALF_DUPLEX: hw_flags |= VNET_HW_INTERFACE_FLAG_HALF_DUPLEX; break; - case ETH_LINK_FULL_DUPLEX: + case RTE_ETH_LINK_FULL_DUPLEX: hw_flags |= VNET_HW_INTERFACE_FLAG_FULL_DUPLEX; break; default: |