if_bridge turns off checksum offload of members?
Stefan Lambrev
stefan.lambrev at moneybookers.com
Tue Jul 1 08:40:51 UTC 2008
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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
--
Best Wishes,
Stefan Lambrev
ICQ# 24134177
More information about the freebsd-net
mailing list