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
F110546692: D23900.id.diff
Wed, Feb 19, 11:27 PM
Unknown Object (File)
Sat, Feb 8, 11:20 AM
Unknown Object (File)
Jan 17 2025, 5:12 PM
Unknown Object (File)
Jan 12 2025, 6:50 PM
Unknown Object (File)
Dec 20 2024, 1:13 PM
Unknown Object (File)
Dec 4 2024, 11:37 AM
Unknown Object (File)
Nov 29 2024, 9:17 PM
Unknown Object (File)
Nov 26 2024, 8:36 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 Skipped
Unit
Tests Skipped
Build Status
Buildable 29696