Project

General

Profile

Actions

Bug #8980

closed

Disabling hardware checksums does not disable IPv6 transmit checksum

Added by Jim Pingle over 5 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Category:
Interfaces
Target version:
Start date:
09/30/2018
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
2.4.4
Affected Architecture:
All

Description

system_advanced_network.php, checking "Disable hardware checksum offload" disables most checksum options but not TXCSUM_IPV6 (txcsum6, IPv6 transmit checksum)

Option unchecked:

igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=6400bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>

Option checked:

igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=4400b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,TXCSUM_IPV6>

Actions #1

Updated by Henry P over 5 years ago

-- drive by coder --

What it looks like is that in pfSense.c (FreeBSD-Ports) the IFCAP_RXCSUM_IPV6 & IFCAP_TXCSUM_IPV6 are only present for the caps key and not the encaps key.
See: https://github.com/pfsense/FreeBSD-ports/blob/devel/devel/php-pfSense-module/files/pfSense.c#L2896

This means it can never reach isset($options['encaps']['txcsum6']) in pfsense-utils.php
See https://github.com/pfsense/pfsense/blob/master/src/etc/inc/pfsense-utils.inc#L549

Actions #2

Updated by Anonymous over 5 years ago

  • Target version changed from 2.4.4-GS to 2.4.4-p1
Actions #3

Updated by Anonymous over 5 years ago

  • Assignee set to Renato Botelho
Actions #4

Updated by Renato Botelho over 5 years ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 100

Fixed in php-pfSense-module 0.65

Actions #5

Updated by Danilo Zrenjanin over 5 years ago

  • Status changed from Feedback to Resolved

Disabling hardware checksums did not disable IPv6 transmit checksum on 2.4.4-RELEASE.

After upgrading to:

2.4.5-DEVELOPMENT (amd64)
built on Wed Nov 14 23:01:04 EST 2018
FreeBSD 11.2-RELEASE-p4

IPv6 transmit checksum has been disabled:

igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=400b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO>
        ether 00:90:0b:7a:86:1b
        hwaddr 00:90:0b:7a:86:1b
        inet6 fe80::290:bff:fe7a:861b%igb0 prefixlen 64 scopeid 0x1 
        inet 172.21.10.105 netmask 0xffffff00 broadcast 172.21.10.255 
        nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active

I did the testing on SG-5100 appliance.

Actions

Also available in: Atom PDF