Project

General

Profile

Actions

Bug #1047

closed

Disable TSO, hardware checksum don't work for unassigned but active interfaces

Added by Chris Buechler over 13 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Ermal Luçi
Category:
Interfaces
Target version:
Start date:
11/27/2010
Due date:
% Done:

100%

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

Description

Interfaces that are unassigned but active (ex: part of a lagg, possibly VLAN parent-only) don't have TSO, hardware checksum offloading, and possibly LRO disabled.


Files

config-FW3-20130714094321.xml (85.1 KB) config-FW3-20130714094321.xml configuration file Zeev Zalessky, 07/14/2013 02:18 PM
ifconfig.jpg (305 KB) ifconfig.jpg ifconfig output. Zeev Zalessky, 07/14/2013 02:18 PM
advanced_networking.jpg (189 KB) advanced_networking.jpg system->advanced->networking Zeev Zalessky, 08/11/2013 01:34 AM
config-pfsense.localdomain-20130811093828.xml (20 KB) config-pfsense.localdomain-20130811093828.xml configuration backup Zeev Zalessky, 08/11/2013 01:34 AM
Actions #1

Updated by Ermal Luçi over 13 years ago

  • Status changed from New to Feedback

Patch committed.

Actions #2

Updated by Chris Buechler over 12 years ago

  • Status changed from Feedback to Resolved
Actions #3

Updated by Zeev Zalessky over 10 years ago

the bug is not fixed. i have same problem with Intel X540-T2 and X520-DA cards. attached my configuration and output of ifconfig.
currently i use workaround using shellcmd package. i just run ifconfig ix(0-3) -lro using shellcmd, but i don't think that it is correct solution for production environment.

Actions #4

Updated by Zeev Zalessky over 10 years ago

i have the problem on pfsense 2.1 RC0 latest snapshot

Actions #5

Updated by Zeev Zalessky over 10 years ago

please reopen this bug

Actions #6

Updated by Renato Botelho over 10 years ago

  • Status changed from Resolved to New
  • Target version changed from 2.0 to 2.1
  • Affected Version changed from 2.0 to 2.1

It still have problems, I'm working on it.

Actions #7

Updated by Renato Botelho over 10 years ago

  • Status changed from New to Feedback
  • % Done changed from 0 to 100
Actions #9

Updated by Zeev Zalessky over 10 years ago

Hi, LRO is working TSO4,TSO6 not working on LAGG interfaces.

ifconfig output:
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
        ether 68:05:ca:0c:87:1e
        inet6 fe80::6a05:caff:fe0c:871e%ix0 prefixlen 64 scopeid 0x1
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect
        status: no carrier
ix1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
        ether 68:05:ca:0c:87:1e
        inet6 fe80::6a05:caff:fe0c:871f%ix1 prefixlen 64 scopeid 0x2
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect
        status: no carrier
bce0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c01bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether d8:d3:85:b9:f4:14
        media: Ethernet autoselect
bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c00bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE>
        ether d8:d3:85:b9:f4:16
        inet 192.168.100.1 netmask 0xffffff00 broadcast 192.168.100.255
        inet6 fe80::dad3:85ff:feb9:f416%bce1 prefixlen 64 scopeid 0x4
        nd6 options=1<PERFORMNUD>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
ix2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
        ether a0:36:9f:1d:d5:00
        inet6 fe80::a236:9fff:fe1d:d500%ix2 prefixlen 64 scopeid 0x5
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex>)
        status: active
ix3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
        ether a0:36:9f:1d:d5:00
        inet6 fe80::a236:9fff:fe1d:d502%ix3 prefixlen 64 scopeid 0x6
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex>)
        status: active
enc0: flags=0<> metric 0 mtu 1536
pflog0: flags=100<PROMISC> metric 0 mtu 33144
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x9
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128 syncok: 1
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
        ether 68:05:ca:0c:87:1e
        inet6 fe80::6a05:caff:fe0c:871e%lagg0 prefixlen 64 scopeid 0xb
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect
        status: no carrier
        laggproto lacp
        laggport: ix1 flags=0<>
        laggport: ix0 flags=0<>
lagg1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
        ether a0:36:9f:1d:d5:00
        inet6 fe80::a236:9fff:fe1d:d500%lagg1 prefixlen 64 scopeid 0xc
        inet 10.165.128.211 netmask 0xffffff00 broadcast 10.165.128.255
        nd6 options=1<PERFORMNUD>
        media: Ethernet autoselect
        status: active
        laggproto lacp
        laggport: ix3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
        laggport: ix2 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
Actions #10

Updated by Chris Buechler over 10 years ago

  • Target version changed from 2.1 to 2.2
  • Affected Version changed from 2.1 to All
Actions #11

Updated by Jim Thompson over 9 years ago

  • Assignee set to Chris Buechler
Actions #12

Updated by Chris Buechler over 9 years ago

  • Status changed from Feedback to New
  • Assignee deleted (Chris Buechler)

This is an issue on 2.2. Example at 172.27.32.125, see its igb1 where igb1_vlan10 is assigned but igb1 isn't.

Actions #13

Updated by Ermal Luçi over 9 years ago

VLANs are skipped by flags settings.
Normally a reboot should apply the right thing to the interfaces.
Reconfiguration is to be seen, in terms of applying these settings or we should force reboot when these are changed.

Actions #14

Updated by Chris Buechler over 9 years ago

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

In the circumstance described here, where the interface is in use but not directly assigned (so part of a LAGG, or a VLAN parent interface only), it's never applied to the affected interface. For instance, create lagg0 with em1 and em2 as members. em1 and em2 don't have TSO or hardware checksum set according to the system's config. Or create say em3_vlan10 and set the same there, then it's not applied to em3. Confirmed this again on latest snapshot.

Actions #15

Updated by Ermal Luçi over 9 years ago

  • Status changed from Confirmed to Feedback

Can you try with newer snapshots?

For lagg even here there should be a specific special case since it has to go through each member.
Though reboot handles lagg quite OK so i do not think at this stage is safe to change this.
Just put it on wiki that if you want changed flags on lagg need to reboot.

Actions #16

Updated by Ermal Luçi over 9 years ago

  • % Done changed from 0 to 100
Actions #17

Updated by Chris Buechler over 9 years ago

  • Status changed from Feedback to Confirmed
  • Assignee set to Ermal Luçi
  • % Done changed from 100 to 0

reboot doesn't handle it correctly either. There is a clear test case on 172.27.32.125 with its lagg0 and members igb2 and igb3. Please test there, Ermal. That's a test box you can do anything you need to with any time.

Actions #18

Updated by Ermal Luçi over 9 years ago

  • Status changed from Confirmed to Feedback

Fixed Chris, though lagg still needs reboot to work on my vms and your test setup.

Actions #19

Updated by Ermal Luçi over 9 years ago

  • % Done changed from 0 to 100
Actions #20

Updated by Chris Buechler over 9 years ago

  • Status changed from Feedback to Resolved

fixed

Actions

Also available in: Atom PDF