kern/144529: sctp over ipv6 appears to not calculate checksum

Nigel Rumens wooky at
Sun Mar 7 16:00:03 UTC 2010

>Number:         144529
>Category:       kern
>Synopsis:       sctp over ipv6 appears to not calculate checksum
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 07 16:00:02 UTC 2010
>Originator:     Nigel Rumens
>Release:        FreeBSD 8.0-RELEASE-p2 i386
FreeBSD 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Thu Mar  4 10:50:02 GMT 2010     root at  i386

testing feng (multimedia streaming server) between freebsd and linux to stream video over ipv6/sctp. Connection never gets to established state

initiator linux running mplayer 
responder freebsd running feng

I took a packet trace at the linux end with wireshark. It seems that the freebsd machine is sending the init_ack with a checksum of 0x00000000 

linux machine also reports sctp checksum errors in proportion to number of init_acks it recieves.

I am new to freebsd so feel free to tell me I'm an idiot if I've missed something or done something daft
run feng on freebsd configured to use sctp over ipv6
run mplayer with -rtsp-stream-over-sctp option
Not sure if this is relavent or not but I had a quick look in the code for sctp_output.c and ip_output.c and ip6_output.c - and there appears to code which handles delayed checksum calculation based on a flag in ip_output.c but not in ip6_output.c

Workaround is use ipv4 - I tested over ipv4 without problems


More information about the freebsd-bugs mailing list