Re: if_bridge turns off checksum offload of members?





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@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"

--

Best Wishes,
Stefan Lambrev
ICQ# 24134177

_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: if_bridge turns off checksum offload of members?
    ... Should I care about csum in bridge mode? ... > I noticed that enabling checksum offload manually improve things little btw. ... * List of capabilities to mask on the member interface. ...
    (freebsd-net)
  • Re: if_bridge turns off checksum offload of members?
    ... Should I care about csum in bridge mode? ... I noticed that enabling checksum offload manually improve things little btw. ... bridgemay not need to disable Tx side hardware assistance. ...
    (freebsd-net)
  • Re: if_bridge turns off checksum offload of members?
    ... Should I care about csum in bridge mode? ... > I noticed that enabling checksum offload manually improve things little btw. ... I think disabling Tx checksum offload is ...
    (freebsd-net)
  • Re: Event ID 1050 and 1030
    ... Check for updated nic drivers. ... I have also disabled offload checksum. ... receive side scaling entry. ...
    (microsoft.public.windows.server.sbs)
  • Snort and FreeBSD 6.2
    ... FLEXRESP2 patch file does not incorporate cleanly.*** Error code 1 ... => MD5 Checksum OK for snort-2.7.0.1.tar.gz. ... => No MD5 checksum recorded for sp_respond2.diff.gz. ...
    (freebsd-questions)