aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/odp_packet_dpdk.c
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2023-02-17 16:38:32 +0200
committerMatias Elo <matias.elo@nokia.com>2023-03-02 17:12:58 +0200
commita36a9110e0baff023cd0590e029f08daf3194026 (patch)
tree3969f31755fe540d0373bf480e33b7d974b9f151 /platform/linux-dpdk/odp_packet_dpdk.c
parent4ae3d2ddee10a614a2b3b779bde11b0117a38f94 (diff)
linux-dpdk: pktio: handle dpdk namespace update
Add RTE_ETH prefix to all DPDK pktio macros and enums. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Diffstat (limited to 'platform/linux-dpdk/odp_packet_dpdk.c')
-rw-r--r--platform/linux-dpdk/odp_packet_dpdk.c115
1 files changed, 75 insertions, 40 deletions
diff --git a/platform/linux-dpdk/odp_packet_dpdk.c b/platform/linux-dpdk/odp_packet_dpdk.c
index 8aaa28648..6622f0161 100644
--- a/platform/linux-dpdk/odp_packet_dpdk.c
+++ b/platform/linux-dpdk/odp_packet_dpdk.c
@@ -1,5 +1,5 @@
/* Copyright (c) 2013-2018, Linaro Limited
- * Copyright (c) 2019-2022, Nokia
+ * Copyright (c) 2019-2023, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
@@ -64,6 +64,41 @@
#define RTE_MBUF_F_TX_IP_CKSUM PKT_TX_IP_CKSUM
#define RTE_MBUF_F_TX_UDP_CKSUM PKT_TX_UDP_CKSUM
#define RTE_MBUF_F_TX_TCP_CKSUM PKT_TX_TCP_CKSUM
+
+ #define RTE_ETH_RSS_IPV4 ETH_RSS_IPV4
+ #define RTE_ETH_RSS_FRAG_IPV4 ETH_RSS_FRAG_IPV4
+ #define RTE_ETH_RSS_NONFRAG_IPV4_TCP ETH_RSS_NONFRAG_IPV4_TCP
+ #define RTE_ETH_RSS_NONFRAG_IPV4_UDP ETH_RSS_NONFRAG_IPV4_UDP
+ #define RTE_ETH_RSS_NONFRAG_IPV4_OTHER ETH_RSS_NONFRAG_IPV4_OTHER
+
+ #define RTE_ETH_RSS_IPV6 ETH_RSS_IPV6
+ #define RTE_ETH_RSS_IPV6_EX ETH_RSS_IPV6_EX
+ #define RTE_ETH_RSS_IPV6_UDP_EX ETH_RSS_IPV6_UDP_EX
+ #define RTE_ETH_RSS_IPV6_TCP_EX ETH_RSS_IPV6_TCP_EX
+ #define RTE_ETH_RSS_FRAG_IPV6 ETH_RSS_FRAG_IPV6
+ #define RTE_ETH_RSS_NONFRAG_IPV6_TCP ETH_RSS_NONFRAG_IPV6_TCP
+ #define RTE_ETH_RSS_NONFRAG_IPV6_UDP ETH_RSS_NONFRAG_IPV6_UDP
+ #define RTE_ETH_RSS_NONFRAG_IPV6_OTHER ETH_RSS_NONFRAG_IPV6_OTHER
+
+ #define RTE_ETH_MQ_RX_RSS ETH_MQ_RX_RSS
+ #define RTE_ETH_MQ_TX_NONE ETH_MQ_TX_NONE
+
+ #define RTE_ETH_RX_OFFLOAD_IPV4_CKSUM DEV_RX_OFFLOAD_IPV4_CKSUM
+ #define RTE_ETH_RX_OFFLOAD_TCP_CKSUM DEV_RX_OFFLOAD_TCP_CKSUM
+ #define RTE_ETH_RX_OFFLOAD_UDP_CKSUM DEV_RX_OFFLOAD_UDP_CKSUM
+
+ #define RTE_ETH_TX_OFFLOAD_IPV4_CKSUM DEV_TX_OFFLOAD_IPV4_CKSUM
+ #define RTE_ETH_TX_OFFLOAD_SCTP_CKSUM DEV_TX_OFFLOAD_SCTP_CKSUM
+ #define RTE_ETH_TX_OFFLOAD_TCP_CKSUM DEV_TX_OFFLOAD_TCP_CKSUM
+ #define RTE_ETH_TX_OFFLOAD_UDP_CKSUM DEV_TX_OFFLOAD_UDP_CKSUM
+
+ #define RTE_ETH_FC_FULL RTE_FC_FULL
+ #define RTE_ETH_FC_RX_PAUSE RTE_FC_RX_PAUSE
+ #define RTE_ETH_FC_TX_PAUSE RTE_FC_TX_PAUSE
+ #define RTE_ETH_LINK_AUTONEG ETH_LINK_AUTONEG
+ #define RTE_ETH_LINK_FULL_DUPLEX ETH_LINK_FULL_DUPLEX
+ #define RTE_ETH_LINK_UP ETH_LINK_UP
+ #define RTE_ETH_SPEED_NUM_NONE ETH_SPEED_NUM_NONE
#endif
/* DPDK poll mode drivers requiring minimum RX burst size DPDK_MIN_RX_BURST */
@@ -220,22 +255,22 @@ static void hash_proto_to_rss_conf(struct rte_eth_rss_conf *rss_conf,
const odp_pktin_hash_proto_t *hash_proto)
{
if (hash_proto->proto.ipv4_udp)
- rss_conf->rss_hf |= ETH_RSS_NONFRAG_IPV4_UDP;
+ rss_conf->rss_hf |= RTE_ETH_RSS_NONFRAG_IPV4_UDP;
if (hash_proto->proto.ipv4_tcp)
- rss_conf->rss_hf |= ETH_RSS_NONFRAG_IPV4_TCP;
+ rss_conf->rss_hf |= RTE_ETH_RSS_NONFRAG_IPV4_TCP;
if (hash_proto->proto.ipv4)
- rss_conf->rss_hf |= ETH_RSS_IPV4 | ETH_RSS_FRAG_IPV4 |
- ETH_RSS_NONFRAG_IPV4_OTHER;
+ rss_conf->rss_hf |= RTE_ETH_RSS_IPV4 | RTE_ETH_RSS_FRAG_IPV4 |
+ RTE_ETH_RSS_NONFRAG_IPV4_OTHER;
if (hash_proto->proto.ipv6_udp)
- rss_conf->rss_hf |= ETH_RSS_NONFRAG_IPV6_UDP |
- ETH_RSS_IPV6_UDP_EX;
+ rss_conf->rss_hf |= RTE_ETH_RSS_NONFRAG_IPV6_UDP |
+ RTE_ETH_RSS_IPV6_UDP_EX;
if (hash_proto->proto.ipv6_tcp)
- rss_conf->rss_hf |= ETH_RSS_NONFRAG_IPV6_TCP |
- ETH_RSS_IPV6_TCP_EX;
+ rss_conf->rss_hf |= RTE_ETH_RSS_NONFRAG_IPV6_TCP |
+ RTE_ETH_RSS_IPV6_TCP_EX;
if (hash_proto->proto.ipv6)
- rss_conf->rss_hf |= ETH_RSS_IPV6 | ETH_RSS_FRAG_IPV6 |
- ETH_RSS_NONFRAG_IPV6_OTHER |
- ETH_RSS_IPV6_EX;
+ rss_conf->rss_hf |= RTE_ETH_RSS_IPV6 | RTE_ETH_RSS_FRAG_IPV6 |
+ RTE_ETH_RSS_NONFRAG_IPV6_OTHER |
+ RTE_ETH_RSS_IPV6_EX;
rss_conf->rss_key = NULL;
}
@@ -270,34 +305,34 @@ static int dpdk_setup_eth_dev(pktio_entry_t *pktio_entry)
memset(&eth_conf, 0, sizeof(eth_conf));
- eth_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
- eth_conf.txmode.mq_mode = ETH_MQ_TX_NONE;
+ eth_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_RSS;
+ eth_conf.txmode.mq_mode = RTE_ETH_MQ_TX_NONE;
eth_conf.rx_adv_conf.rss_conf = pkt_dpdk->rss_conf;
/* Setup RX checksum offloads */
if (pktio_entry->config.pktin.bit.ipv4_chksum)
- rx_offloads |= DEV_RX_OFFLOAD_IPV4_CKSUM;
+ rx_offloads |= RTE_ETH_RX_OFFLOAD_IPV4_CKSUM;
if (pktio_entry->config.pktin.bit.udp_chksum)
- rx_offloads |= DEV_RX_OFFLOAD_UDP_CKSUM;
+ rx_offloads |= RTE_ETH_RX_OFFLOAD_UDP_CKSUM;
if (pktio_entry->config.pktin.bit.tcp_chksum)
- rx_offloads |= DEV_RX_OFFLOAD_TCP_CKSUM;
+ rx_offloads |= RTE_ETH_RX_OFFLOAD_TCP_CKSUM;
eth_conf.rxmode.offloads = rx_offloads;
/* Setup TX checksum offloads */
if (pktio_entry->config.pktout.bit.ipv4_chksum_ena)
- tx_offloads |= DEV_TX_OFFLOAD_IPV4_CKSUM;
+ tx_offloads |= RTE_ETH_TX_OFFLOAD_IPV4_CKSUM;
if (pktio_entry->config.pktout.bit.udp_chksum_ena)
- tx_offloads |= DEV_TX_OFFLOAD_UDP_CKSUM;
+ tx_offloads |= RTE_ETH_TX_OFFLOAD_UDP_CKSUM;
if (pktio_entry->config.pktout.bit.tcp_chksum_ena)
- tx_offloads |= DEV_TX_OFFLOAD_TCP_CKSUM;
+ tx_offloads |= RTE_ETH_TX_OFFLOAD_TCP_CKSUM;
if (pktio_entry->config.pktout.bit.sctp_chksum_ena)
- tx_offloads |= DEV_TX_OFFLOAD_SCTP_CKSUM;
+ tx_offloads |= RTE_ETH_TX_OFFLOAD_SCTP_CKSUM;
eth_conf.txmode.offloads = tx_offloads;
@@ -360,32 +395,32 @@ static void prepare_rss_conf(pktio_entry_t *pktio_entry,
/* Print debug info about unsupported hash protocols */
if (p->hash_proto.proto.ipv4 &&
- ((rss_hf_capa & ETH_RSS_IPV4) == 0))
+ ((rss_hf_capa & RTE_ETH_RSS_IPV4) == 0))
_ODP_PRINT("DPDK: hash_proto.ipv4 not supported (rss_hf_capa 0x%" PRIx64 ")\n",
rss_hf_capa);
if (p->hash_proto.proto.ipv4_udp &&
- ((rss_hf_capa & ETH_RSS_NONFRAG_IPV4_UDP) == 0))
+ ((rss_hf_capa & RTE_ETH_RSS_NONFRAG_IPV4_UDP) == 0))
_ODP_PRINT("DPDK: hash_proto.ipv4_udp not supported (rss_hf_capa 0x%" PRIx64 ")\n",
rss_hf_capa);
if (p->hash_proto.proto.ipv4_tcp &&
- ((rss_hf_capa & ETH_RSS_NONFRAG_IPV4_TCP) == 0))
+ ((rss_hf_capa & RTE_ETH_RSS_NONFRAG_IPV4_TCP) == 0))
_ODP_PRINT("DPDK: hash_proto.ipv4_tcp not supported (rss_hf_capa 0x%" PRIx64 ")\n",
rss_hf_capa);
if (p->hash_proto.proto.ipv6 &&
- ((rss_hf_capa & ETH_RSS_IPV6) == 0))
+ ((rss_hf_capa & RTE_ETH_RSS_IPV6) == 0))
_ODP_PRINT("DPDK: hash_proto.ipv6 not supported (rss_hf_capa 0x%" PRIx64 ")\n",
rss_hf_capa);
if (p->hash_proto.proto.ipv6_udp &&
- ((rss_hf_capa & ETH_RSS_NONFRAG_IPV6_UDP) == 0))
+ ((rss_hf_capa & RTE_ETH_RSS_NONFRAG_IPV6_UDP) == 0))
_ODP_PRINT("DPDK: hash_proto.ipv6_udp not supported (rss_hf_capa 0x%" PRIx64 ")\n",
rss_hf_capa);
if (p->hash_proto.proto.ipv6_tcp &&
- ((rss_hf_capa & ETH_RSS_NONFRAG_IPV6_TCP) == 0))
+ ((rss_hf_capa & RTE_ETH_RSS_NONFRAG_IPV6_TCP) == 0))
_ODP_PRINT("DPDK: hash_proto.ipv6_tcp not supported (rss_hf_capa 0x%" PRIx64 ")\n",
rss_hf_capa);
@@ -598,26 +633,26 @@ static int dpdk_init_capability(pktio_entry_t *pktio_entry,
capa->config.pktin.bit.ts_ptp = 1;
capa->config.pktin.bit.ipv4_chksum = ptype_l3_ipv4 &&
- (dev_info->rx_offload_capa & DEV_RX_OFFLOAD_IPV4_CKSUM) ? 1 : 0;
+ (dev_info->rx_offload_capa & RTE_ETH_RX_OFFLOAD_IPV4_CKSUM) ? 1 : 0;
if (capa->config.pktin.bit.ipv4_chksum)
capa->config.pktin.bit.drop_ipv4_err = 1;
capa->config.pktin.bit.udp_chksum = ptype_l4_udp &&
- (dev_info->rx_offload_capa & DEV_RX_OFFLOAD_UDP_CKSUM) ? 1 : 0;
+ (dev_info->rx_offload_capa & RTE_ETH_RX_OFFLOAD_UDP_CKSUM) ? 1 : 0;
if (capa->config.pktin.bit.udp_chksum)
capa->config.pktin.bit.drop_udp_err = 1;
capa->config.pktin.bit.tcp_chksum = ptype_l4_tcp &&
- (dev_info->rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM) ? 1 : 0;
+ (dev_info->rx_offload_capa & RTE_ETH_RX_OFFLOAD_TCP_CKSUM) ? 1 : 0;
if (capa->config.pktin.bit.tcp_chksum)
capa->config.pktin.bit.drop_tcp_err = 1;
capa->config.pktout.bit.ipv4_chksum =
- (dev_info->tx_offload_capa & DEV_TX_OFFLOAD_IPV4_CKSUM) ? 1 : 0;
+ (dev_info->tx_offload_capa & RTE_ETH_TX_OFFLOAD_IPV4_CKSUM) ? 1 : 0;
capa->config.pktout.bit.udp_chksum =
- (dev_info->tx_offload_capa & DEV_TX_OFFLOAD_UDP_CKSUM) ? 1 : 0;
+ (dev_info->tx_offload_capa & RTE_ETH_TX_OFFLOAD_UDP_CKSUM) ? 1 : 0;
capa->config.pktout.bit.tcp_chksum =
- (dev_info->tx_offload_capa & DEV_TX_OFFLOAD_TCP_CKSUM) ? 1 : 0;
+ (dev_info->tx_offload_capa & RTE_ETH_TX_OFFLOAD_TCP_CKSUM) ? 1 : 0;
capa->config.pktout.bit.ipv4_chksum_ena =
capa->config.pktout.bit.ipv4_chksum;
@@ -1323,11 +1358,11 @@ static int dpdk_link_info(pktio_entry_t *pktio_entry, odp_pktio_link_info_t *inf
} else {
link_info.pause_rx = ODP_PKTIO_LINK_PAUSE_OFF;
link_info.pause_tx = ODP_PKTIO_LINK_PAUSE_OFF;
- if (fc_conf.mode == RTE_FC_RX_PAUSE) {
+ if (fc_conf.mode == RTE_ETH_FC_RX_PAUSE) {
link_info.pause_rx = ODP_PKTIO_LINK_PAUSE_ON;
- } else if (fc_conf.mode == RTE_FC_TX_PAUSE) {
+ } else if (fc_conf.mode == RTE_ETH_FC_TX_PAUSE) {
link_info.pause_tx = ODP_PKTIO_LINK_PAUSE_ON;
- } else if (fc_conf.mode == RTE_FC_FULL) {
+ } else if (fc_conf.mode == RTE_ETH_FC_FULL) {
link_info.pause_rx = ODP_PKTIO_LINK_PAUSE_ON;
link_info.pause_tx = ODP_PKTIO_LINK_PAUSE_ON;
}
@@ -1345,22 +1380,22 @@ static int dpdk_link_info(pktio_entry_t *pktio_entry, odp_pktio_link_info_t *inf
link_info.speed = ODP_PKTIO_LINK_SPEED_UNKNOWN;
link_info.status = ODP_PKTIO_LINK_STATUS_UNKNOWN;
} else {
- if (link.link_autoneg == ETH_LINK_AUTONEG)
+ if (link.link_autoneg == RTE_ETH_LINK_AUTONEG)
link_info.autoneg = ODP_PKTIO_LINK_AUTONEG_ON;
else
link_info.autoneg = ODP_PKTIO_LINK_AUTONEG_OFF;
- if (link.link_duplex == ETH_LINK_FULL_DUPLEX)
+ if (link.link_duplex == RTE_ETH_LINK_FULL_DUPLEX)
link_info.duplex = ODP_PKTIO_LINK_DUPLEX_FULL;
else
link_info.duplex = ODP_PKTIO_LINK_DUPLEX_HALF;
- if (link.link_speed == ETH_SPEED_NUM_NONE)
+ if (link.link_speed == RTE_ETH_SPEED_NUM_NONE)
link_info.speed = ODP_PKTIO_LINK_SPEED_UNKNOWN;
else
link_info.speed = link.link_speed;
- if (link.link_status == ETH_LINK_UP)
+ if (link.link_status == RTE_ETH_LINK_UP)
link_info.status = ODP_PKTIO_LINK_STATUS_UP;
else
link_info.status = ODP_PKTIO_LINK_STATUS_DOWN;