Im working on implementing UDP encapsulation of SCTP packages. I have tried to implement the encapsulation/decapsulation in a way that is transparent to the logic of the current implementation. Currently I'am able to send and recieve data over localhost or over intranet. However, when trying to communicate over NAT I ran in to problems. Because of port remapping of the UDP source port I included as a final step to update the source port of the SCTP header and recalculate the checksum. This however, causes a kernel panic somewhere between receiving the UDP packet and replying the INIT_ACK, that I am unable to understand. Is there anything, besides the source port and checksum in the SCTP header that needs to be updated? I have included a packet capture of the INIT-packages that causes the panic. As I am new to kernel development, general advice on how to debug this issue is appreciated. -- Fabian Bergmark
Attachment:
SCTP in UDP.pcap
Description: Binary data