[PATCH 0/2] IPv4-mapped on wire, :: dst address issue

2017-02-12 Thread Jonathan T. Leighton
or not the source address is an IPv4-mapped IPv6 address and then sets the destination address to either :::127.0.0.1 or ::1, as appropriate. Jon Jonathan T. Leighton (2): ipv6: Inhibit IPv4-mapped src address on the wire. ipv6: Handle IPv4-mapped src to in6addr_any dst. net/ipv6/datagram.c

[PATCH 1/2] ipv6: Inhibit IPv4-mapped src address on the wire.

2017-02-12 Thread Jonathan T. Leighton
This patch adds a check for the problematic case of an IPv4-mapped IPv6 source address and a destination address that is neither an IPv4-mapped IPv6 address nor in6addr_any, and returns an appropriate error. The check in done before returning from looking up the route. Signed-off-by: Jonathan T

[PATCH 2/2] ipv6: Handle IPv4-mapped src to in6addr_any dst.

2017-02-12 Thread Jonathan T. Leighton
to handle UDP calls to either connect() or sendmsg() and TCP calls to connect(). Note that udpv6_sendmsg() delays handling an in6addr_any destination until very late, so the patch only needs to handle the case where the source is an IPv4-mapped IPv6 address. Signed-off-by: Jonathan T. Leighton

[PATCH RFC 1/2] ipv6: Inhibit IPv4-mapped src address on the wire.

2017-02-02 Thread Jonathan T. Leighton
This patch adds a check for the problematic case of an IPv4-mapped IPv6 source address and a destination address that is neither an IPv4-mapped IPv6 address nor in6addr_any, and returns an appropriate error. The check in done before returning from looking up the route. Signed-off-by: Jonathan T

[PATCH RFC 0/2] ipv6: IPv4-mapped on wire, :: dst address issue

2017-02-02 Thread Jonathan T. Leighton
or not the source address is an IPv4-mapped IPv6 address and then sets the destination address to either :::127.0.0.1 or ::1, as appropriate. Jon Jonathan T. Leighton (2): ipv6: Inhibit IPv4-mapped src address on the wire. ipv6: Handle IPv4-mapped src to in6addr_any dst. net/ipv6/datagram.c

[PATCH RFC 2/2] ipv6: Handle IPv4-mapped src to in6addr_any dst.

2017-02-02 Thread Jonathan T. Leighton
locations to handle UDP calls to either connect() or sendmsg(), and TCP calls to connect(). Note that udpv6_sendmsg() delays handling an in6addr_any destination until very late, so the patch only needs to handle the case where the source is an IPv4-mapped IPv6 address. Signed-off-by: Jonathan T. Leighton

Re: TCP using IPv4-mapped IPv6 address as source

2017-01-11 Thread Jonathan T. Leighton
On 1/11/17 4:47 PM, Eric Dumazet wrote: On Wed, 2017-01-11 at 16:26 -0500, Jonathan T. Leighton wrote: I'm sure I understand what you're saying here. There should be no flow to terminate. I think you figured out that I meant "I'm not sure I understand...". rfc2765 describes a

Re: TCP using IPv4-mapped IPv6 address as source

2017-01-11 Thread Jonathan T. Leighton
On 1/11/17 3:43 PM, Eric Dumazet wrote: On Wed, 2017-01-11 at 14:59 -0500, Sowmini Varadhan wrote: I think the RFC states somewhere that you should never ever send out a v4 mapped address on the wire. Can you point the exact RFC ? https://tools.ietf.org/html/rfc2765 seems to allow just

Re: TCP using IPv4-mapped IPv6 address as source

2017-01-11 Thread Jonathan T. Leighton
On 1/11/17 1:31 PM, Eric Dumazet wrote: On Wed, 2017-01-11 at 12:34 -0500, Jonathan T. Leighton wrote: On 1/11/17 11:20 AM, Eric Dumazet wrote: On Thu, 2017-01-05 at 16:25 -0500, Jonathan T. Leighton wrote: I've observed TCP using an IPv4-mapped IPv6 address as the source address, which I

Re: TCP using IPv4-mapped IPv6 address as source

2017-01-11 Thread Jonathan T. Leighton
On 1/11/17 11:20 AM, Eric Dumazet wrote: On Thu, 2017-01-05 at 16:25 -0500, Jonathan T. Leighton wrote: I've observed TCP using an IPv4-mapped IPv6 address as the source address, which I believe contradicts https://tools.ietf.org/html/rfc6890#page-14 (BCP 153). This occurs when an IPv6 TCP

TCP using IPv4-mapped IPv6 address as source

2017-01-05 Thread Jonathan T. Leighton
I've observed TCP using an IPv4-mapped IPv6 address as the source address, which I believe contradicts https://tools.ietf.org/html/rfc6890#page-14 (BCP 153). This occurs when an IPv6 TCP socket, bound to a local IPv4-mapped IPv6 address, attempts to connect to a remote IPv6 address. Presumable