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.
Details
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 Not Applicable - Unit
Tests Not Applicable
Event Timeline
We are appreciative of this work on IP6 robustness.. our use case is local and IP4 currently.
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.
@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.