From a801eb11bd1c47e95a4318f413cc291f512d4b7e Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Sat, 22 Oct 2016 15:18:23 +0200 Subject: [PATCH] interface offloading, add txcsum6, trxcsum6 for https://github.com/opnsense/core/issues/1227 --- src/etc/inc/interfaces.lib.inc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/etc/inc/interfaces.lib.inc b/src/etc/inc/interfaces.lib.inc index 52845be32..0913836bd 100644 --- a/src/etc/inc/interfaces.lib.inc +++ b/src/etc/inc/interfaces.lib.inc @@ -245,6 +245,7 @@ function configure_interface_hardware($ifs) if (!stristr($ifs, "_vlan") && is_array($intf_details)) { // get current settings $csum_set = in_array('rxcsum', $intf_details['options']) || in_array('txcsum', $intf_details['options']); + $csumv6_set = in_array('rxcsum6', $intf_details['options']) || in_array('txcsum6', $intf_details['options']); $tso_set = in_array('tso4', $intf_details['options']) || in_array('tso6', $intf_details['options']); $lro_set = in_array('lro', $intf_details['options']); @@ -254,6 +255,12 @@ function configure_interface_hardware($ifs) } elseif (!isset($config['system']['disablechecksumoffloading']) && !$csum_set) { legacy_interface_flags($ifs, 'txcsum rxcsum', false); } + if (isset($config['system']['disablechecksumoffloading']) && $csumv6_set) { + legacy_interface_flags($ifs, '-txcsum6 -rxcsum6', false); + } elseif (!isset($config['system']['disablechecksumoffloading']) && !$csumv6_set) { + legacy_interface_flags($ifs, 'txcsum6 rxcsum6', false); + } + // TCP segmentation offloading if (isset($config['system']['disablesegmentationoffloading']) && $tso_set) { legacy_interface_flags($ifs, '-tso', false);