When iptables_mgr.apply() is later called, an attempt to add the UDP checksum rule for DHCP is done via iptables-save/iptables-restore and if IPv6 has been disabled on a hypervisor (eg, by setting `ipv6.disable=1` on the kernel command line) then an many-line error occurs in the DHCP agent logfile.
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.
The following code in DeviceManager's fill_dhcp_ udp_checksums assumes IPv6 is always enabled:
iptables_mgr = iptables_ manager. IptablesManager (use_ipv6= True,
namespace =namespace)
When iptables_ mgr.apply( ) is later called, an attempt to add the UDP checksum rule for DHCP is done via iptables- save/iptables- restore and if IPv6 has been disabled on a hypervisor (eg, by setting `ipv6.disable=1` on the kernel command line) then an many-line error occurs in the DHCP agent logfile.
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.