Add workaround to work with cirros image
The cirros image uses an old dhcp client which does not work properly with hardware that has checksum offload enabled. Add a bootp rule to rewrite the checksum via iptables. Latest cirros 0.3.33 is afflicted by this bug. Change-Id: Ibfd1f87af5d0bef9fcb1354121e76e4e0db8ab5e
This commit is contained in:
parent
095fbd7d7c
commit
64a2cf40a5
@ -18,6 +18,14 @@ check_required_vars VERBOSE_LOGGING DEBUG_LOGGING MECHANISM_DRIVERS \
|
|||||||
cfg=/etc/neutron/dhcp_agent.ini
|
cfg=/etc/neutron/dhcp_agent.ini
|
||||||
neutron_conf=/etc/neutron/neutron.conf
|
neutron_conf=/etc/neutron/neutron.conf
|
||||||
|
|
||||||
|
# Workaround bug in dhclient in cirros images which does not correctly
|
||||||
|
# handle setting checksums of packets when using hardware with checksum
|
||||||
|
# offloading. See:
|
||||||
|
# https://www.rdoproject.org/forum/discussion/567/packstack-allinone-grizzly-cirros-image-cannot-get-a-dhcp-address-when-a-centos-image-can/p1
|
||||||
|
|
||||||
|
/usr/sbin/iptables -A POSTROUTING -t mangle -p udp --dport bootpc \
|
||||||
|
-j CHECKSUM --checksum-fill
|
||||||
|
|
||||||
if [[ ${MECHANISM_DRIVERS} =~ linuxbridge ]]; then
|
if [[ ${MECHANISM_DRIVERS} =~ linuxbridge ]]; then
|
||||||
interface_driver="neutron.agent.linux.interface.BridgeInterfaceDriver"
|
interface_driver="neutron.agent.linux.interface.BridgeInterfaceDriver"
|
||||||
elif [[ ${MECHANISM_DRIVERS} == "openvswitch" ]]; then
|
elif [[ ${MECHANISM_DRIVERS} == "openvswitch" ]]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user