Hmm.

did not think of that.. we COULD possible do it another way.. a bit harder
but possible.. i.e. have the delayed sack code actually look into
the mbufs and see if its ipv4 or ipv6.. I thought about doing it
that way but it takes more cycles ;-o

I could refactor that this way if you want... it would mean a few more de-ref's and looking to see if its a v4 or v6 packet and then doing the proper offset...

not to bad but awkward ;-0

R

On Mar 13, 2010, at 9:58 PM, Robert Watson wrote:


On Fri, 12 Mar 2010, Randall Stewart wrote:

The proper fix for the delayed SCTP checksum is to
have the delayed function take an argument as to the offset
to the SCTP header. This allows it to work for V4 and V6.
This of course means changing all callers of the function
to either pass the header len, if they have it, or create
it (ip_hl << 2 or sizeof(ip6_hdr)).

It will become harder to MFC SCTP changes like this in the future, BTW. It's only good (bad) luck that this change doesn't break the KBI depended on by the ipdivert module. If SCTP had been enabled in the module (which it probably should be, with options SCTP in GENERIC), then the module would be broken, meaning that we couldn't MFC this change as-is.

After MFCing this change, I recommend fixing ipdivert, but also increased caution in changing kernel interfaces that may be depended on by modules...

Robert N M Watson
Computer Laboratory
University of Cambridge


------------------------------
Randall Stewart
803-317-4952 (cell)
803-345-0391(direct)

_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to