Summary: | v6 address truncated and socket type shows "tcp46" when IPv4 mapping enabled | ||||||
---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Dan McGregor <dan.mcgregor> | ||||
Component: | kern | Assignee: | Michael Tuexen <tuexen> | ||||
Status: | Closed FIXED | ||||||
Severity: | Affects Only Me | CC: | cem, tuexen | ||||
Priority: | --- | Flags: | tuexen:
mfc-stable11+
|
||||
Version: | 11.1-STABLE | ||||||
Hardware: | Any | ||||||
OS: | Any | ||||||
Attachments: |
|
Description
Dan McGregor
2018-03-07 15:10:39 UTC
Michael, CCing you as you addressed the previous issue in a similar area and probably have some experience with this code. Hi Conrad, thanks for adding me. I'm aware of the problem and have a fix under review D13514. Can you test the patch under reiew D13514? Best regards Michael Dan, can you test Michael's patch? I'm afraid I don't have any ipv6 networking on any of my FreeBSD machines (nor time to test). (In reply to Conrad Meyer from comment #3) Yes, it looks like Michael's review D13514 fixes the issue for me too. A commit references this bug: Author: tuexen Date: Fri Mar 16 15:26:08 UTC 2018 New revision: 331061 URL: https://svnweb.freebsd.org/changeset/base/331061 Log: Set the inp_vflag consistently for accepted TCP/IPv6 connections when net.inet6.ip6.v6only=0. Without this patch, the inp_vflag would have INP_IPV4 and the INP_IPV6 flags for accepted TCP/IPv6 connections if the sysctl variable net.inet6.ip6.v6only is 0. This resulted in netstat to report the source and destination addresses as IPv4 addresses, even they are IPv6 addresses. PR: 226421 Reviewed by: bz, hiren, kib MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D13514 Changes: head/sys/netinet/tcp_syncache.c A commit references this bug: Author: tuexen Date: Sat Apr 7 20:47:25 UTC 2018 New revision: 332238 URL: https://svnweb.freebsd.org/changeset/base/332238 Log: MFC r331061: Set the inp_vflag consistently for accepted TCP/IPv6 connections when net.inet6.ip6.v6only=0. Without this patch, the inp_vflag would have INP_IPV4 and the INP_IPV6 flags for accepted TCP/IPv6 connections if the sysctl variable net.inet6.ip6.v6only is 0. This resulted in netstat to report the source and destination addresses as IPv4 addresses, even they are IPv6 addresses. PR: 226421 Reviewed by: bz, hiren, kib Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D13514 Changes: _U stable/11/ stable/11/sys/netinet/tcp_syncache.c This is now fixed in head and stable/11. So I'm closing this bug. |