Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Dec 2008 22:31:39 +0100
From:      =?ISO-8859-1?Q?Michael_T=FCxen?= <Michael.Tuexen@lurchi.franken.de>
To:        FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Checksum offloading
Message-ID:  <FE14F235-917E-4B3C-A7DB-55E26E0BB9E4@lurchi.franken.de>

next in thread | raw e-mail | index | archive | help
Dear all,

I'm currently analyzing how TCP/UDP checksum offloading works
to find the best way to add SCTP checksum offloading.

sys/mbuf.h has constants:
#define	CSUM_IP			0x0001		/* will csum IP */
#define	CSUM_TCP		0x0002		/* will csum TCP */
#define	CSUM_UDP		0x0004		/* will csum UDP */
which are used to signal which offloading is supported by the drive.
But, if I understand the code correctly, this only
applies to UDP/IPv4 and TCP/IPv4.
What about IPv6? Would this require flags like CSUM_TCP6 and CSUM_UDP6
to signal that also offloading of UDP/IPv6 and TCP/IPv6 is supported?

I'm asking this because we want to add CRC offloading for SCTP/IPv4
and SCTP/IPv6. We could only add one flag CSUM_SCTP and use it
for IPv4 and IPv6 ar two flags CSUM_SCTP4 and CSUM_SCTP6...

Best regards
Michael




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE14F235-917E-4B3C-A7DB-55E26E0BB9E4>