Page MenuHomeFreeBSD

Don't Send TCP/IPv6 Segments with Uninitialised Traffic Class from the TCP SYN cache
ClosedPublic

Authored by tuexen on Feb 29 2020, 8:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Apr 28, 9:34 PM
Unknown Object (File)
Sun, Apr 28, 9:33 PM
Unknown Object (File)
Sun, Apr 28, 9:32 PM
Unknown Object (File)
Sun, Apr 28, 3:59 PM
Unknown Object (File)
Jan 13 2024, 3:24 AM
Unknown Object (File)
Dec 20 2023, 7:24 AM
Unknown Object (File)
Nov 15 2023, 12:25 PM
Unknown Object (File)
Oct 7 2023, 8:50 PM
Subscribers

Details

Summary

When sending TCP Segments from the TCP SYN cache (like SYN-ACK segments) over IPv6, the traffic class in the IPv6 header was not initialised.

This patch ensures that the traffic class is 0, when sending TCP segments.

For the ECN bits, this is the correct value as specified in RFC 3168.

When a specific DSCP is requested by the application using

uint32_t tclass;
setsockopt(listen_fd, IPPROTO_IPV6, IPV6_TCLASS, &tclass, sizeof(tclass));

on the listening socket, this is not working correctly (and it wasn't).
It will be addressed in a separate review.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable