diff options
-rw-r--r-- | VNFs/DPPD-PROX/main.c | 8 | ||||
-rw-r--r-- | VNFs/DPPD-PROX/prox_port_cfg.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/VNFs/DPPD-PROX/main.c b/VNFs/DPPD-PROX/main.c index 931b30c5..59a169d8 100644 --- a/VNFs/DPPD-PROX/main.c +++ b/VNFs/DPPD-PROX/main.c @@ -249,7 +249,7 @@ static void configure_if_tx_queues(struct task_args *targ, uint8_t socket) } /* Set the ETH_TXQ_FLAGS_NOREFCOUNT flag if none of the tasks up to the task transmitting to the port - does not use refcnt. */ + use refcnt. */ if (!chain_flag_state(targ, TASK_FEATURE_TXQ_FLAGS_REFCOUNT, 1)) { prox_port_cfg[if_port].tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOREFCOUNT; plog_info("\t\tEnabling No refcnt on port %d\n", if_port); @@ -262,7 +262,7 @@ static void configure_if_tx_queues(struct task_args *targ, uint8_t socket) chain has NOOFFLOADS set all the way until the first task that receives from a port, it will be disabled for the destination port. */ - if (chain_flag_state(targ, TASK_FEATURE_TXQ_FLAGS_NOOFFLOADS, 1)) { + if (!chain_flag_state(targ, TASK_FEATURE_TXQ_FLAGS_NOOFFLOADS, 0)) { prox_port_cfg[if_port].tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOOFFLOADS; plog_info("\t\tDisabling TX offloads on port %d\n", if_port); } else { @@ -271,8 +271,8 @@ static void configure_if_tx_queues(struct task_args *targ, uint8_t socket) /* By default NOMULTSEGS is disabled, as drivers/NIC might split packets on RX It should only be enabled when we know for sure that the RX does not split packets. - Set the ETH_TXQ_FLAGS_NOMULTSEGS flag if none of the tasks up to the task - transmitting to the port does not use multsegs. */ + Set the ETH_TXQ_FLAGS_NOMULTSEGS flag if all of the tasks up to the task + transmitting to the port use no_multsegs. */ if (!chain_flag_state(targ, TASK_FEATURE_TXQ_FLAGS_NOMULTSEGS, 0)) { prox_port_cfg[if_port].tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOMULTSEGS; plog_info("\t\tEnabling No MultiSegs on port %d\n", if_port); diff --git a/VNFs/DPPD-PROX/prox_port_cfg.c b/VNFs/DPPD-PROX/prox_port_cfg.c index c00948ad..269b1c63 100644 --- a/VNFs/DPPD-PROX/prox_port_cfg.c +++ b/VNFs/DPPD-PROX/prox_port_cfg.c @@ -372,14 +372,14 @@ static void init_port(struct prox_port_cfg *port_cfg) PROX_PANIC(ret < 0, "\t\t\trte_eth_rx_queue_setup() failed on port %u: error %s (%d)\n", port_id, strerror(-ret), ret); } - if (!strcmp(port_cfg->short_name, "virtio")) { + if (port_cfg->capabilities.tx_offload_cksum == 0) { port_cfg->tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOOFFLOADS; - plog_info("\t\tDisabling TX offloads (virtio does not support TX offloads)\n"); + plog_info("\t\tDisabling TX offloads as pmd reports that it does not support them)\n"); } if (!strcmp(port_cfg->short_name, "vmxnet3")) { - port_cfg->tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOOFFLOADS | ETH_TXQ_FLAGS_NOMULTSEGS; - plog_info("\t\tDisabling TX offloads and multsegs on port %d as vmxnet3 does not support them\n", port_id); + port_cfg->tx_conf.txq_flags |= ETH_TXQ_FLAGS_NOMULTSEGS; + plog_info("\t\tDisabling multsegs on port %d as vmxnet3 does not support them\n", port_id); } /* initialize one TX queue per logical core on each port */ for (uint16_t queue_id = 0; queue_id < port_cfg->n_txq; ++queue_id) { |