aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/devices/dpdk/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'vnet/vnet/devices/dpdk/init.c')
-rw-r--r--vnet/vnet/devices/dpdk/init.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/vnet/vnet/devices/dpdk/init.c b/vnet/vnet/devices/dpdk/init.c
index b91fe3c1..28a661f5 100644
--- a/vnet/vnet/devices/dpdk/init.c
+++ b/vnet/vnet/devices/dpdk/init.c
@@ -1008,6 +1008,12 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input)
no_huge = 1;
}
+ else if (unformat (input, "enable-tcp-udp-checksum"))
+ {
+ dm->buffer_flags_template &=
+ ~(IP_BUFFER_L4_CHECKSUM_CORRECT | IP_BUFFER_L4_CHECKSUM_COMPUTED);
+ }
+
else if (unformat (input, "decimal-interface-names"))
dm->interface_name_format_decimal = 1;
@@ -1767,6 +1773,12 @@ _(rte_nicvf_pmd_init)
dm->vhost_coalesce_frames = 32;
dm->vhost_coalesce_time = 1e-3;
+ /* Default vlib_buffer_t flags, DISABLES tcp/udp checksumming... */
+ dm->buffer_flags_template =
+ (VLIB_BUFFER_TOTAL_LENGTH_VALID
+ | IP_BUFFER_L4_CHECKSUM_COMPUTED
+ | IP_BUFFER_L4_CHECKSUM_CORRECT);
+
/* init CLI */
if ((error = vlib_call_init_function (vm, dpdk_cli_init)))
return error;