summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/prox_port_cfg.c
diff options
context:
space:
mode:
authorXavier Simonart <xavier.simonart@intel.com>2019-10-13 00:18:14 +0200
committerXavier Simonart <xavier.simonart@intel.com>2019-10-13 00:18:14 +0200
commitecc8a753c956909445b75448fb33e86bab764101 (patch)
tree3cddcc57c2e9c309c8a495885bae35ee900ebb62 /VNFs/DPPD-PROX/prox_port_cfg.c
parentb9af66b18bf298f292c62339b0ca41595a3e6b56 (diff)
Disable TX checksum offload in some virtio cases
Some OVS versions reports that they support UDP offload and no IPv4 offload, but fails when UDP offload is enabled. Hence, now, when virtio reports that it supports UDP checksum and no IPV4 checksum offload, we disable UDP checksum offload. Change-Id: I4f22f6be4d97b0aedf267ebeaa498c0dacef3317 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/prox_port_cfg.c')
-rw-r--r--VNFs/DPPD-PROX/prox_port_cfg.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/VNFs/DPPD-PROX/prox_port_cfg.c b/VNFs/DPPD-PROX/prox_port_cfg.c
index a0530c4f..a28e4540 100644
--- a/VNFs/DPPD-PROX/prox_port_cfg.c
+++ b/VNFs/DPPD-PROX/prox_port_cfg.c
@@ -276,6 +276,13 @@ void init_rte_dev(int use_dummy_devices)
plog_info("\t\tDisabling UDP cksum on vmxnet3\n");
port_cfg->disabled_tx_offload |= DEV_TX_OFFLOAD_UDP_CKSUM;
}
+ // Some OVS versions reports that they support UDP offload and no IPv4 offload, but fails when UDP offload is enabled
+ if ((!strcmp(port_cfg->short_name, "virtio")) &&
+ ((port_cfg->dev_info.tx_offload_capa & DEV_TX_OFFLOAD_IPV4_CKSUM) == 0) &&
+ (port_cfg->dev_info.tx_offload_capa & DEV_TX_OFFLOAD_UDP_CKSUM)) {
+ plog_info("\t\tDisabling UDP cksum on virtio\n");
+ port_cfg->disabled_tx_offload |= DEV_TX_OFFLOAD_UDP_CKSUM;
+ }
}
}