[Bug 231151] ifconfig: unable to disable rxcsum, rxcsum6 and vlanhwcsum on em driver

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Sep 4 12:25:59 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231151

            Bug ID: 231151
           Summary: ifconfig: unable to disable rxcsum, rxcsum6 and
                    vlanhwcsum on em driver
           Product: Base System
           Version: CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: bugs at FreeBSD.org
          Reporter: mshirk at daemon-security.com

In 12-CURRENT, I would like to be able to turn off all NIC offloading features
(TSO,LRO,Checksums) to ensure I am reading everything as it appears off the
wire for network security (Bro NSM).

Putting all of the flags together, this is what I have as the line that should
disable all of the features

/sbin/ifconfig em0 -rxcsum -txcsum -tso4 -tso6 -lro -rxcsum6 -txcsum6
-vlanhwcsum -vlanhwtso

It appears most work with and are enabled and disabled, the exceptions are
rxcsum, rxcsum6 and vlanhwcsum. I cannot disable vlanhwcsum at all, and when
you disable rxcsum, it enables rxcsum6 and vice versa.

Example:

# ifconfig em0
em0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC>
metric 0 mtu 1500                                                               
       
options=810099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER>        
        ether 68:05:ca:xx:xx:xx                                                 
        media: Ethernet autoselect (1000baseT <full-duplex>)                    
        status: active                                                          
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>                    
# ifconfig em0 -rxcsum                                                          
# ifconfig em0  

em0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC>
metric 0 mtu 1500                                                               
       
options=a10098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,RXCSUM_IPV6>   
        ether 68:05:ca:xx:xx:xx                                                 
        media: Ethernet autoselect (1000baseT <full-duplex>)                    
        status: active                                                          
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
# ifconfig em0 -rxcsum6                                                         
# ifconfig em0                                                                  
em0: flags=28943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,PPROMISC>
metric 0 mtu 1500                                                               
       
options=810099<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER>        
        ther 68:05:ca:xx:xx:xx                                                  
        media: Ethernet autoselect (1000baseT <full-duplex>)                    
        status: active                                                          
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> 

I see the same behavior with this driver on two separate cards.

em0 at pci0:1:0:0: class=0x020000 card=0x115e8086 chip=0x105e8086 rev=0x06
hdr=0x00                                                                        
    vendor     = 'Intel Corporation'                                            
    device     = '82571EB/82571GB Gigabit Ethernet Controller D0/D1 (copper
applications)'                                                                  
    class      = network                                                        
    subclass   = ethernet

em0 at pci0:0:31:6:        class=0x020000 card=0x06d91028 chip=0x15b78086 rev=0x31
hdr=0x00                                                                        
    vendor     = 'Intel Corporation'                                            
    device     = 'Ethernet Connection (2) I219-LM'                              
    class      = network                                                        
    subclass   = ethernet


If this is "by design" in the driver, then this bug can be closed, but I would
assume that if you want to disable all receive side offloading, you should be
able to disable it for both IPv4 and IPv6. Also, if this is a driver issue
(iflib), then I can move the bug to kernel component.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list