Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Jul 2008 11:40:43 +0300
From:      Stefan Lambrev <stefan.lambrev@moneybookers.com>
To:        Andrew Thompson <thompsa@FreeBSD.org>
Cc:        Pyun YongHyeon <pyunyh@gmail.com>, freebsd-net@freebsd.org
Subject:   Re: if_bridge turns off checksum offload of members?
Message-ID:  <4869ED8B.80508@moneybookers.com>
In-Reply-To: <20080701012531.GA92392@citylink.fud.org.nz>
References:  <4868A34C.6030304@moneybookers.com>	<20080630101629.GD79537@cdnetworks.co.kr> <20080701012531.GA92392@citylink.fud.org.nz>

next in thread | previous in thread | raw e-mail | index | archive | help


Andrew Thompson wrote:
> On Mon, Jun 30, 2008 at 07:16:29PM +0900, Pyun YongHyeon wrote:
>   
>> On Mon, Jun 30, 2008 at 12:11:40PM +0300, Stefan Lambrev wrote:
>>  > Greetings,
>>  > 
>>  > I just noticed, that when I add em network card to bridge the checksum 
>>  > offload is turned off.
>>  > I even put in my rc.conf:
>>  > ifconfig_em0="rxcsum up"
>>  > ifconfig_em1="rxcsum up"
>>  > but after reboot both em0 and em1 have this feature disabled.
>>  > 
>>  > Is this expected behavior? Should I care about csum in bridge mode?
>>  > I noticed that enabling checksum offload manually improve things little btw.
>>  > 
>>
>> AFAIK this is intended one, bridge(4) turns off Tx side checksum
>> offload by default. I think disabling Tx checksum offload is
>> required as not all members of a bridge may be able to do checksum
>> offload. The same is true for TSO but it seems that bridge(4)
>> doesn't disable it.
>> If all members of bridge have the same hardware capability I think
>> bridge(4) may not need to disable Tx side hardware assistance. I
>> guess bridge(4) can scan every interface capabilities in a member
>> and can decide what hardware assistance can be activated instead of
>> blindly turning off Tx side hardware assistance.
>>     
>
> This patch should do that, are you able to test it Stefan?
>   
===> if_bridge (all)
cc -O2 -fno-strict-aliasing -pipe -march=nocona  -D_KERNEL -DKLD_MODULE 
-std=c99 -nostdinc   -DHAVE_KERNEL_OPTION_HEADERS -include 
/usr/obj/usr/src/sys/CORE/opt_global.h -I. -I@ -I@/contrib/altq 
-finline-limit=8000 --param inline-unit-growth=100 --param 
large-function-growth=1000 -fno-common -g -fno-omit-frame-pointer 
-I/usr/obj/usr/src/sys/CORE -mcmodel=kernel -mno-red-zone  -mfpmath=387 
-mno-sse -mno-sse2 -mno-mmx -mno-3dnow  -msoft-float 
-fno-asynchronous-unwind-tables -ffreestanding -Wall -Wredundant-decls 
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes 
-Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign 
-fformat-extensions -c /usr/src/sys/modules/if_bridge/../../net/if_bridge.c
/usr/src/sys/modules/if_bridge/../../net/if_bridge.c: In function 
'bridge_capabilities':
/usr/src/sys/modules/if_bridge/../../net/if_bridge.c:787: error: 
'IFCAP_TOE' undeclared (first use in this function)
/usr/src/sys/modules/if_bridge/../../net/if_bridge.c:787: error: (Each 
undeclared identifier is reported only once
/usr/src/sys/modules/if_bridge/../../net/if_bridge.c:787: error: for 
each function it appears in.)
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error

I'm building without "-j5" to see if the error message will change :)

I'm using 7-STABLE from Jun 27
>
> cheers,
> Andrew
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"

-- 

Best Wishes,
Stefan Lambrev
ICQ# 24134177




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4869ED8B.80508>