Disable gateway error with flow based DHCP

Bug #2107552 reported by Dai Dang Van
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Confirmed
Medium
Dai Dang Van

Bug Description

Reproduce:
1. Create VXLAN network + subnet with disable gateway option and enable DHCP
2. Create VM on that network
3. Check log neutron openvswitch

Log:

2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager [req-99d7dca8-b870-4ae2-a54e-3fd2485b51ad - - - - -] DHCPv4Responder: Exception occurred during handler processing. Backtrace from offending handler [
packet_in_handler] servicing event [EventOFPPacketIn] follows.: TypeError: unexpected type <class 'NoneType'> for addr arg
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager Traceback (most recent call last):
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/os_ken/lib/addrconv.py", line 29, in text_to_bin
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager return self._addr(text, **self._addr_kwargs).packed
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/netaddr/ip/__init__.py", line 316, in __init__
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager if 0 <= int(addr) <= self._module.max_int:
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager During handling of the above exception, another exception occurred:
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager Traceback (most recent call last):
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/os_ken/base/app_manager.py", line 289, in _event_loop
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager handler(ev)
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/base_oskenapp.py", line 38, in p
acket_in_handler
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager caller(ev) 2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/agent/l2/extensions/dhcp/base.py", line 108, in _packet_in_handler
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager self.handle_dhcp(datapath, of_in_port, pkt, port_info)
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/agent/l2/extensions/dhcp/ipv4.py", line 210, in handle_dhcp 2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager self.assemble_offer(pkt, port_info))
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/agent/l2/extensions/dhcp/ipv4.py", line 192, in assemble_offer
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager offer = self.get_ret_packet(pkt, port_info) 2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/agent/l2/extensions/dhcp/ipv4.py", line 151, in get_ret_packet
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager options = self.get_dhcp_options(port_info, is_ack)
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/agent/l2/extensions/dhcp/ipv4.py", line 75, in get_dhcp_options 2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager bin_server = addrconv.ipv4.text_to_bin(gateway_ip)
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/os_ken/lib/addrconv.py", line 36, in text_to_bin
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager ip = self._fallback(text, **self._addr_kwargs) 2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/netaddr/ip/__init__.py", line 930, in __init__
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager value, prefixlen = parse_ip_network(_ipv4, addr,
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager File "/var/lib/kolla/venv/lib/python3.8/site-packages/netaddr/ip/__init__.py", line 831, in parse_ip_network 2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager raise TypeError('unexpected type %s for addr arg' % type(addr))
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager TypeError: unexpected type <class 'NoneType'> for addr arg
2025-04-17 14:46:55.762 6 ERROR os_ken.base.app_manager 2025-04-17 14:46:55.762 6 INFO neutron.agent.l2.extensions.dhcp.base [req-333c7bb7-8355-4058-80d8-4a50e8a92c15 - - - - -] DHCP Controller packet in OF port: 589

Tags: ovs
Dai Dang Van (daikk115)
Changed in neutron:
assignee: nobody → Dai Dang Van (daikk115)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/neutron/+/947560

tags: added: ovs
LIU Yulong (dragon889)
Changed in neutron:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/947560
Committed: https://opendev.org/openstack/neutron/commit/2ff5b4a18bea01a78b069540108709ce8909d95a
Submitter: "Zuul (22348)"
Branch: master

commit 2ff5b4a18bea01a78b069540108709ce8909d95a
Author: Dai Dang Van <email address hidden>
Date: Thu Apr 17 17:17:53 2025 +0700

    Fix DHCP extension if subnet has no gateway_ip

    The subnet gateway_ip can be none, so the DHCP agent
    extension will get failed to assemble the response
    packet.

    This patch adds default gateway IP address for DHCP,
    for IPv4 it is 169.254.169.254, for IPv6 it is
    fe80::a9fe:a9fe.

    Partially-Implements: bp/distributed-dhcp-for-ml2-ovs
    Related-Bug: #2107552
    Change-Id: I709b73c242285930c4ade5bb9e6f167495b90d80

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.