From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: "Jonathan T. Leighton" <jtleight@udel.edu>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
netdev@vger.kernel.org, edumazet@google.com,
Yuchung Cheng <ycheng@google.com>,
Neal Cardwell <ncardwell@google.com>
Subject: Re: TCP using IPv4-mapped IPv6 address as source
Date: Wed, 11 Jan 2017 14:59:09 -0500 [thread overview]
Message-ID: <20170111195909.GL24086@oracle.com> (raw)
In-Reply-To: <14f352f9-6c0a-17da-f28f-b23fe8ecd2a2@udel.edu>
On (01/11/17 14:48), Jonathan T. Leighton wrote:
>
> I would say that an IPv6 socket binds to an IPv4-mapped IPv6
> address, but yes - using it to connect to an IPv6 address would be
> an application bug. It also think that having connect() spend 2
> minutes sending packets containing an illegal source address is a
> bug. (And unfriendly!) I'll look into writing a patch for this, and
> let you know whether or not I think I'm up to it.
>
BTW, linux probably has a number of bugs in this space.
you can do a number of "interesting" things, where the
v4-mapped address ends up being treated as a global address.
E.g., you can configure a v4 mapped address on an interface
using /sbin/ip, then you can add an onlink route, like
# ip -6 route add ::ffff:13.0.0.1 nexthop onlink dev eth1
and you can ping6 ::ffff:13.0.0.1, and (if you do this
on both sides) watch a merry little packet exchange on
the wire, where we send out an NS for ::ffff:13.0.0.1
to the solmcast of the v4 mapped address, the peer politely
responds, and the 2 nodes then have a nice chat.
I think the RFC states somewhere that you should never ever
send out a v4 mapped address on the wire.
--Sowmini
next prev parent reply other threads:[~2017-01-11 19:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-05 21:25 TCP using IPv4-mapped IPv6 address as source Jonathan T. Leighton
2017-01-11 16:20 ` Eric Dumazet
2017-01-11 17:34 ` Jonathan T. Leighton
2017-01-11 18:31 ` Eric Dumazet
2017-01-11 19:48 ` Jonathan T. Leighton
2017-01-11 19:59 ` Sowmini Varadhan [this message]
2017-01-11 20:43 ` Eric Dumazet
2017-01-11 20:58 ` Sowmini Varadhan
2017-01-11 21:26 ` Jonathan T. Leighton
2017-01-11 21:47 ` Eric Dumazet
2017-01-11 23:54 ` Jonathan T. Leighton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170111195909.GL24086@oracle.com \
--to=sowmini.varadhan@oracle.com \
--cc=edumazet@google.com \
--cc=eric.dumazet@gmail.com \
--cc=jtleight@udel.edu \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=ycheng@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.