Summary: | v6 mapped v4 addresses not working in 11.1 | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Sebastian Schulze Struchtrup <seb> | ||||
Component: | kern | Assignee: | Michael Tuexen <tuexen> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | tuexen, vsasjason | ||||
Priority: | --- | Keywords: | regression | ||||
Version: | 11.1-RELEASE | Flags: | tuexen:
mfc-stable11+
|
||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Sebastian Schulze Struchtrup
2017-08-10 08:30:58 UTC
I can confirm the problem on head (and therefore an 11.1). This is most likely related to https://svnweb.freebsd.org/changeset/base/318649 which was MFCed in https://svnweb.freebsd.org/changeset/base/319411. Let me look into it... A commit references this bug: Author: tuexen Date: Fri Aug 18 07:27:16 UTC 2017 New revision: 322648 URL: https://svnweb.freebsd.org/changeset/base/322648 Log: Ensure inp_vflag is consistently set for TCP endpoints. Make sure that the flags INP_IPV4 and INP_IPV6 are consistently set for inpcbs used for TCP sockets, no matter if the setting is derived from the net.inet6.ip6.v6only sysctl or the IPV6_V6ONLY socket option. For UDP this was already done right. PR: 221385 MFC after: 1 week Changes: head/sys/netinet/tcp_usrreq.c Hi Sebastian, I fixed the bug in head, it doesn't matter anymore whether the setting comes for the sysctl variable or the socket option. Thanks for reporting the bug. From a programming perspective, I would prefer using a socket option in a program to ensure the setting which is wanted compared to relying on a host wide sysctl setting. This sysctl setting can be different between different Operating systems and change between versions of a single operating system. Best regards Michael A commit references this bug: Author: tuexen Date: Tue Oct 17 12:42:17 UTC 2017 New revision: 324686 URL: https://svnweb.freebsd.org/changeset/base/324686 Log: MFC r322648: Ensure inp_vflag is consistently set for TCP endpoints. Make sure that the flags INP_IPV4 and INP_IPV6 are consistently set for inpcbs used for TCP sockets, no matter if the setting is derived from the net.inet6.ip6.v6only sysctl or the IPV6_V6ONLY socket option. For UDP this was already done right. PR: 221385 Changes: _U stable/11/ stable/11/sys/netinet/tcp_usrreq.c |