Page MenuHomeFreeBSD

Allow implicit connection setup for TCP/IPv6
ClosedPublic

Authored by tuexen on Jul 26 2018, 2:52 PM.
Tags
None
Referenced Files
F106132814: D16458.diff
Wed, Dec 25, 10:52 PM
Unknown Object (File)
Sat, Dec 14, 4:18 AM
Unknown Object (File)
Tue, Dec 10, 8:35 AM
Unknown Object (File)
Wed, Dec 4, 6:42 PM
Unknown Object (File)
Nov 23 2024, 11:25 PM
Unknown Object (File)
Nov 13 2024, 10:05 PM
Unknown Object (File)
Nov 5 2024, 12:04 AM
Unknown Object (File)
Oct 31 2024, 6:23 PM
Subscribers

Details

Summary

TCP/IPv4 allows an implicit connection setup using sendto. This is used for TTCP and TCP fast open. This patch adds support for this also to TCP/IPv6.
While there, improve some tests for detecting multicast addresses , which are mapped.

Test Plan

Use the attached program to test combinations of mapped and non mapped addresses. In addition, run the attached packetdrill scripts.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 18414

Event Timeline

We are appreciative of this work on IP6 robustness.. our use case is local and IP4 currently.

This revision is now accepted and ready to land.Jul 29 2018, 9:16 AM
bz requested changes to this revision.Jul 29 2018, 9:38 AM
bz added a subscriber: bz.

Looks like there is a couple of overlong lines in there which should be wrapped.
Can you put comments at else and endif parts as the blocks are at times rather long and nested, so it would make it easier to find the other bit?

Please reference the IPv4 version if there was a similar change for that in the commit message.

This revision now requires changes to proceed.Jul 29 2018, 9:38 AM

Try to address issues reported by bz@.

@bz: I tried to address the issues brought up by you. Regarding the IPv4 related commit: There was no IPv6 support (which is added by this patch) and there was no real checking for IPv4 (which is added by this patch). There was no real IPv4 related commit bringing in a corresponding feature. The checks where added to the connect code path, but where missed in the sendto code path...

There's an exclamation mark missing at the ##else; like [style(9)]:

#ifdef COMPAT_43
/* A large region here, or other conditional code. */
#else /* !COMPAT_43 */
/* Or here. */
#endif /* COMPAT_43 */

Apart from that, thanks! :) I haven't done a any logical review. I assume Kevin has done that.

This revision is now accepted and ready to land.Jul 29 2018, 11:45 AM

Address final comment from bz@

This revision now requires review to proceed.Jul 29 2018, 12:02 PM
This revision is now accepted and ready to land.Jul 30 2018, 10:17 AM
This revision was automatically updated to reflect the committed changes.