diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-09-04 22:26:37 +0200 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-09-04 22:26:37 +0200 |
| commit | 3f1e103d6774159fb7835c3562a1c1ab834cfd7a (patch) | |
| tree | e6e79bebccba0921477705d8a9f21675c889f218 /scripts/cli | |
| parent | 9a7d5b27cd908473b7cd9e16fc0d1bbe7e983d2e (diff) | |
| download | vyos-1x-3f1e103d6774159fb7835c3562a1c1ab834cfd7a.tar.gz vyos-1x-3f1e103d6774159fb7835c3562a1c1ab834cfd7a.zip | |
static: T9278: honor dhcp-interface routes in dedicated routing tables
get_dhcp_route_interfaces() only walked "protocols static route <prefix>
dhcp-interface", so routes configured below "protocols static table <id> route
<prefix> dhcp-interface" never made it into the interface list. Both nodes share
the same include/static/static-route.xml.i definition and both are rendered from
the DHCP lease via the get_dhcp_router() filter in staticd.frr.j2, so they depend
on the current lease in exactly the same way.
As a result the affected interfaces were missing from the DHCP gateway cache used
for FRR change detection. A lease event on an interface referenced only by a
table based route would compare equal to the cached state and the re-render
requested by the dhclient hook was skipped, leaving the stale gateway in the
rendered configuration.
Iterate the route sections of every table in addition to the top level ones.
Only IPv4 routes are considered, as "dhcp-interface" does not exist for route6.
Named VRFs have no table node, but the collection is shared and stays correct
there as well.
Diffstat (limited to 'scripts/cli')
0 files changed, 0 insertions, 0 deletions
