Page MenuHomeFreeBSD

Fix handling of TTL/Hop Limit and TOS/Traffic Class in the TCP SYN Cache
ClosedPublic

Authored by tuexen on Jul 31 2020, 10:03 PM.
Tags
None
Referenced Files
F157868900: D25909.id75258.diff
Tue, May 26, 12:15 AM
F157868357: D25909.id75258.diff
Tue, May 26, 12:08 AM
F157829254: D25909.id75647.diff
Mon, May 25, 4:27 PM
F157828649: D25909.id75647.diff
Mon, May 25, 4:20 PM
Unknown Object (File)
Sun, May 24, 10:25 PM
Unknown Object (File)
Sun, May 24, 10:19 PM
Unknown Object (File)
Mon, May 18, 1:22 AM
Unknown Object (File)
Mon, May 18, 1:19 AM

Details

Summary

This patch fixes the following issues:

  • Let the accepted TCP/IPv4 socket inherit the configured TTL and TOS value.
  • Let the accepted TCP/IPv6 socket inherit the configured Hop Limit.
  • Use the configured Hop Limit and Traffic Class when sending IPv6 packets.

Diff Detail

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

Event Timeline

donner added inline comments.
sys/netinet/tcp_syncache.c
1392 ↗(On Diff #75234)

May this check for IPv6 become a single test, which covers the tests below?
This would improve the reading of the whole construct.

1395–1396 ↗(On Diff #75234)

A bit superfluous. isn't it?

1406–1407 ↗(On Diff #75234)

This could be a single #ifdef INET (in the #ifdef INET6 scope)

sys/netinet/tcp_syncache.c
1406–1407 ↗(On Diff #75234)

I'm using the pattern also used at tcp_syncache.c:1849 for consistency within the same file.

Simplify code as suggested by Lutz.

sys/netinet/tcp_syncache.c
1392 ↗(On Diff #75234)

Done in latest revision.

1395–1396 ↗(On Diff #75234)

Should also be fixed by the latest revision.

This revision is now accepted and ready to land.Aug 10 2020, 6:34 PM