Make IPV6_[RECV]PKTINFO work for IPv4-mapped addresses
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Wishlist
|
Unassigned | ||
Trusty |
Fix Released
|
Wishlist
|
Unassigned |
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:/
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:/
https:/
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
tags: | added: trusty |
Changed in linux (Ubuntu): | |
importance: | Undecided → Wishlist |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Trusty): | |
status: | Triaged → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1284535
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.