kern/147985: alc network driver + tso ( + vlan ? ) does not work.

Tony J freebsd at spam.t71.org
Fri Jun 18 23:30:03 UTC 2010


>Number:         147985
>Category:       kern
>Synopsis:       alc network driver + tso ( + vlan ? ) does not work.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jun 18 23:30:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Tony J
>Release:        8.1-PRERELEASE
>Organization:
>Environment:
FreeBSD xxxxx.client.convoitec.com 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #1: Fri Jun 18 13:14:06 EST 2010     root at xxxxx.client.convoitec.com:/usr/obj/usr/src/sys/GENERIC  amd64


>Description:
alc network driver + tso ( + vlan ? ) does not work. 

alc0: <Atheros AR8131 PCIe Gigabit Ethernet> port 0xec00-0xec7f mem 0xfebc0000-0xfebfffff irq 17 at device 0.0 on pci1
alc0: 15872 Tx FIFO, 15360 Rx FIFO
alc0: Using 1 MSI message(s).
miibus0: <MII bus> on alc0
alc0: Ethernet address: 90:e6:ba:f6:b6:c3
alc0: [FILTER]
alc0: link state changed to UP

Hello, I have a system using the ALC network card driver with vlans. By default the driver enables TSO4 support on the card. This support does not seem to work in this configuration and causes the OS to generate packets larger then MTU which are sent to the card to be fragmented. This doesn't seem to happen and the packets are dropped. This causes TCP connections to go extremely slowly as many re-transitions occur. ifconfig alc0 -tso fixes the problem.   

The problem may also occur without vlans however I have not tested this.
>How-To-Repeat:
/etc/rc.conf:
cloned_interfaces="vlan2 vlan3"
ifconfig_alc0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_vlan2="inet 192.168.13.1 netmask 255.255.255.0 vlan 2 vlandev alc0"
ifconfig_vlan3="inet 192.168.14.1 netmask 255.255.255.0 vlan 3 vlandev alc0"
defaultrouter="192.168.14.254"

# scp largefile fred at remote.machine:/tmp/largefile 
.... goes very very slowly and stalls.

# ifconfig alc0 -tso
# scp largefile fred at remote.machine:/tmp/largefile 
.... proceeds normally.
>Fix:
Temporary fix is to disable tso on the interface:

/etc/rc.conf:

ifconfig_alc0="inet 192.168.1.1 netmask 255.255.255.0 -tso"


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list