← Back to team overview

kernel-packages team mailing list archive

[Bug 1284535] [NEW] Make IPV6_[RECV]PKTINFO work for IPv4-mapped addresses

 

Public bug reported:

Currently, the Linux kernel doesn't provide IPV6_RECVPKTINFO ancillary
data on datagrams coming in from IPv4-mapped clients (e.g.,
::ffff:192.0.2.1) on INET6 sockets in the default dual personality mode,
nor does it honour IPV6_PKTINFO when sending datagrams on such a socket
to an IPv4-mapped destination.

This means that an UDP application that requires a server to respond
with the same address as it was contacted on cannot reliably work for
IPv4 clients, because 1) the server has no way of knowing which address
it was contacted on, and even if it did, 2) the kernel would ignore
requests to use a specific source address.

For a real-life manifestation of this problem, see this OpenVPN bug
report: https://community.openvpn.net/openvpn/ticket/306

This has recently been fixed in the net-next upstream tree with the
following commits (the first one of which made the 3.14 merge window,
the second one will be in 3.15):

https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=4b261c75a99f29c93a0b6babfc180cdf566bd654
https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c8e6ad0829a723a74cd2fea9996a3392d2579a18

Enabling IPv6 is getting increasingly important in these days, but at
the same time maintaining backwards compatibility with IPv4-only clients
is also essential. I'm therefore requesting a backport of the above two
commits to the Ubuntu LTS kernel images so that it becomes possible to
use OpenVPN (and any other software packages) in dual-stack mode.

Tore

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1284535

Title:
  Make IPV6_[RECV]PKTINFO work for IPv4-mapped addresses

Status in “linux” package in Ubuntu:
  New

Bug description:
  Currently, the Linux kernel doesn't provide IPV6_RECVPKTINFO ancillary
  data on datagrams coming in from IPv4-mapped clients (e.g.,
  ::ffff:192.0.2.1) on INET6 sockets in the default dual personality
  mode, nor does it honour IPV6_PKTINFO when sending datagrams on such a
  socket to an IPv4-mapped destination.

  This means that an UDP application that requires a server to respond
  with the same address as it was contacted on cannot reliably work for
  IPv4 clients, because 1) the server has no way of knowing which
  address it was contacted on, and even if it did, 2) the kernel would
  ignore requests to use a specific source address.

  For a real-life manifestation of this problem, see this OpenVPN bug
  report: https://community.openvpn.net/openvpn/ticket/306

  This has recently been fixed in the net-next upstream tree with the
  following commits (the first one of which made the 3.14 merge window,
  the second one will be in 3.15):

  https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=4b261c75a99f29c93a0b6babfc180cdf566bd654
  https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c8e6ad0829a723a74cd2fea9996a3392d2579a18

  Enabling IPv6 is getting increasingly important in these days, but at
  the same time maintaining backwards compatibility with IPv4-only
  clients is also essential. I'm therefore requesting a backport of the
  above two commits to the Ubuntu LTS kernel images so that it becomes
  possible to use OpenVPN (and any other software packages) in dual-
  stack mode.

  Tore

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1284535/+subscriptions


Follow ups

References