Checksum offloading
Pyun YongHyeon
pyunyh at gmail.com
Sun Dec 21 17:19:38 PST 2008
On Sat, Dec 20, 2008 at 10:31:39PM +0100, Michael T?xen wrote:
> 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...
>
I guess you're right. FreeBSD still lacks IPv6 checksum offloading
related stuff. All recent hardwares support checksum offloading for
TCP/UDP/IPv6 as well as TSO for IPv6. Don't know SCTP checksum
offloading as I don't know any hardwares that can do SCTP checksum
offloading. Sun Netptune might have the capability but I didn't
check it though.
> Best regards
> Michael
--
Regards,
Pyun YongHyeon
More information about the freebsd-net
mailing list