DeviceManager's fill_dhcp_udp_checksums assumes IPv6 available
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
New
|
Undecided
|
Unassigned | ||
Ussuri |
New
|
Undecided
|
Unassigned | ||
Victoria |
New
|
Undecided
|
Unassigned | ||
neutron |
Fix Released
|
Medium
|
Lajos Katona | ||
neutron (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned |
Bug Description
The following code in DeviceManager's fill_dhcp_
iptables_mgr = iptables_
When iptables_
There should be a way of telling the agent that IPv6 is disabled and as such, it should ignore trying to set up the UDP checksum rule for IPv6. This can be easily achieved given that IptablesManager already has support for disabling it.
We've seen this on Rocky on Ubuntu Bionic but it appears the issue still exists on the master branch.
=======
Ubuntu SRU details:
[Impact]
See above
[Test Plan]
Disable IPv6 on a hypervisor.
sudo sysctl -w net.ipv6.
sudo sysctl -w net.ipv6.
sudo sysctl -w net.ipv6.
Deploy Openstack Ussuri or Victoria with one compute node, using the hypervisor which has IPv6 disabled as a neutron gateway.
Create a network which has a subnetwork with DHCP enabled. Eg:
openstack network create net1
openstack subnet create subnet1 --network net1 --subnet-range 192.0.2.0/24 --dhcp
Search the `/var/log/
sudo grep ip6tables-restore /var/log/
[Where problems could occur]
Users which were relying on the setting to always be true could be affected.
Changed in neutron: | |
importance: | Undecided → Medium |
Changed in neutron: | |
status: | New → Fix Committed |
no longer affects: | cloud-archive/victoria |
description: | updated |
Changed in neutron (Ubuntu): | |
importance: | Undecided → Medium |
Changed in neutron (Ubuntu Focal): | |
importance: | Undecided → Medium |
description: | updated |
Changed in neutron: | |
status: | Fix Committed → Fix Released |
Could you please check this proposal: https:/ /review. opendev. org/c/openstack /neutron/ +/778395 is_ipv6_ enabled( ), which should be used for all IptablesManager instance as I see
I added netutils.