IPV6 fragmentation and mtu issue
Bug #1463911 reported by
Gyula Halmos
This bug affects 5 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Medium
|
Jay Vosburgh | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned | ||
Vivid |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Fragmented IPv6 packets are REJECTED by ip6tables on compute nodes. The traffic is goign through an intra-VM network and the packet loss is hurting the system.
There is a patch for this issue: http://
I would like to know is there any bug report or official release date for this issue ?
This is pretty critical for my deployment.
Thanks in advance,
BR,
Gyula
Related branches
CVE References
Changed in nova: | |
status: | New → Confirmed |
Changed in neutron: | |
status: | New → Confirmed |
tags: | added: kernel-key |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | Incomplete → Confirmed |
tags: | added: bot-stop-nagging |
tags: | added: sts |
Changed in linux (Ubuntu): | |
assignee: | Dave Chiluk (chiluk) → Jay Vosburgh (jvosburgh) |
tags: |
added: kernel-da-key removed: kernel-key |
Changed in linux (Ubuntu Trusty): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Vivid): | |
status: | New → Fix Committed |
tags: |
added: verification-done-trusty verification-done-vivid removed: verification-needed-trusty verification-needed-vivid |
no longer affects: | nova |
Changed in neutron: | |
importance: | Undecided → Medium |
no longer affects: | neutron |
To post a comment you must log in.
This issues is documented in more details in the following old question: https:/ /ask.openstack. org/en/ question/ 43063/ipv6- fragmentationmt u-issue- on-icehouseubun tu-1404/
We have also seen this issue in our lab using Ubuntu 14.04 and RHEL 6. As far as we can tell, the proposed kernel patch has not been implemented in any of the current linux kernel load lines (its possible that a different patch than the one referenced in the bug report could have been applied, but if that's the case the fix has not made it into the latest Ubuntu 14.04 or RHEL6 kernels).
The underlying issue is that IPv6 fragmented packets are being re-assembled as part of the ip6tables inspection performed by the "neutron. agent.linux. iptables_ firewall. OVSHybridIptabl esFirewallDrive r" driver. This inspection occurs on the linux bridge layer, and it appears that once the packets have been assembled they are too big to be sent out of the bridge to the next interface. A better behavior would be to re-fragment the IPv6 packet, or to store and then send the original fragments.
This issue does not impact TCP in IPv6, since IPv6 does not fragment packets in the network just at the endpoints, and TCP will never create IP fragments. However, UDP and ICMP are both impacted by this issue. This means that IPv6 is essentially broken when the standard "neutron. agent.linux. iptables_ firewall. OVSHybridIptabl esFirewallDrive r" driver is used. If the NOOP driver is used or if "net.bridge. bridge- nf-call- ip6tables = 0" option is set in /etc/sysctl.conf to disable ip6tables on bridges, then IPv6 will operate properly. However, in that case Neutron Security Groups and default neutron security rules will have no impact on IPv6 packets.
Possible solutions are to get a fix for this put into the Linux Kernel, or to modify the "OVSHybridIptab lesFirewallDriv er" so that it does not trigger re-assembly (if this is even possible).