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)
Sat, Nov 2, 3:03 AM
Unknown Object (File)
Sep 23 2024, 9:57 AM
Unknown Object (File)
Sep 8 2024, 7:02 PM
Unknown Object (File)
Sep 7 2024, 7:34 AM
Unknown Object (File)
Sep 5 2024, 8:55 AM
Unknown Object (File)
Aug 31 2024, 6:25 AM
Unknown Object (File)
Aug 29 2024, 5:28 PM
Unknown Object (File)
Aug 22 2024, 4:25 AM
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