Page MenuHomeVyOS Platform

Commits do not respect changes in FRR that are not stored in a config
Confirmed, LowPublicBUG

Description

After switching to the new FRR config logic with frr-reload.py, we have got a lot of improvements but lost one important ability - to configure FRR manually, for example when VyOS does not have appropriate CLI items.

One of the current real problems produced by this change is DHCP inoperability. DHCP client uses the vtysh to inject DHCP routes directly into staticd, but these changes are overwritten with each commit.

There might be several solutions:

  1. Quick and easy. Add exceptions inside the modify_section for config items that we know to be controlled externally. For example, in the case of DHCP, these are routes with tag 210. But this solution does not allow to add truly custom configs and only fix our own problems.
  2. More complex. Define custom FRR config file/files, sections from which will be included into resulted configuration before processing it with the frr-reload.py to allow any config customization.
  3. Other suggestions?

A case with a custom FRR config is not rare actually. Many features start their way to the CLI from vtysh commands in the postconfig-bootup scripts. Also as numerous small customer-specific solutions exist as vtysh commands since there is no sense in adding them to CLI.

Details

Difficulty level
Hard (possibly days)
Version
1.4-rolling-202104260417
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Behavior change

Event Timeline

zsdc changed the task status from Open to Confirmed.Apr 28 2021, 2:41 PM

Workaround for missing DHCP default route:

set protocols static route 0.0.0.0/0 dhcp-interface eth0
syncer lowered the priority of this task from High to Low.