]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC of 2 items to fix the csum for v6 issue:
authorrrs <rrs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 5 Apr 2010 13:48:23 +0000 (13:48 +0000)
committerrrs <rrs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 5 Apr 2010 13:48:23 +0000 (13:48 +0000)
commit935aefc407e70d5a8c9f1359f2520416a526b51e
tree26bfe93ce374bc41f7252309a753c7ebbb0cf5f9
parent5f3049c392d5ceaf119ac2a4eef1966779e6f39c
MFC of 2 items to fix the csum for v6 issue:
Revision 205075 and 205104:

---------205075----------
With the recent change of the sctp checksum to support offload,
no delayed checksum was added to the ip6 output code. This
causes cards that do not support SCTP checksum offload to
have SCTP packets that are IPv6 NOT have the sctp checksum
performed. Thus you could not communicate with a peer. This
adds the missing bits to make the checksum happen for these cards.
-------------------------
---------205104----------
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)).
-------------------------
PR: 144529

git-svn-id: svn://svn.freebsd.org/base/stable/8@206181 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/xen/netback/netback.c
sys/netinet/ip_divert.c
sys/netinet/ip_ipsec.c
sys/netinet/ip_output.c
sys/netinet/sctp_crc32.c
sys/netinet/sctp_crc32.h
sys/netinet6/ip6_output.c