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

Nigel Rumens wooky at btconnect.com
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
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 07 16:00:02 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Nigel Rumens
>Release:        FreeBSD 8.0-RELEASE-p2 i386
>Organization:
>Environment:
FreeBSD victor.cwb.uk 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Thu Mar  4 10:50:02 GMT 2010     root at victor.cwb.uk:/usr/obj/usr/src/sys/VICTOR  i386

>Description:
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
>How-To-Repeat:
run feng on freebsd configured to use sctp over ipv6
run mplayer with -rtsp-stream-over-sctp option
>Fix:
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

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list