This EIGRP issue was detected in VyOS context and reported in issue #11301
To Reproduce LR1.wue3(config)# router eigrp 100 LR1.wue3(config-router)# passive-interface eth0 % Configuration failed. Error type: validation LR1.wue3(config-router)# passive-interface eth1 % Configuration failed. Error type: validation LR1.wue3(config)# interface eth0 LR1.wue3(config-if)# eigrp bandwidth 10 % Configuration failed.
From my debugging:
https://github.com/FRRouting/frr/issues/11301#issuecomment-1753246744 Hi all! Sorry for the delay, I couldn't find time for this ( This bug is still relevant, so I have detected two separate issues here: Interfaces are not allocated unless topology converges, assuming a network command was issued. Looking at similar daemons, I have noticed that ripd is solving this by maintaining a vector. This means a separate mapping [iface_name -> iface_passive] and a couple more N.B. callbacks. I have pulled this logic into eigrpd and published it via the following branch: https://github.com/volodymyrhuti/frr/tree/EIGRP_BUG_NB_11301 Then I noticed the bandwidth failing with the same message, which sucks a lot. From my research, I have found a commented-out callback that should initialize the iface structure. eigrp_interface.c -> eigrp_if_init() -> // hook_register_prio(if_add, 0, eigrp_if_new); Implementing it back should fix the config issue and will likely resolve the prior bug. P.S. It doesn't fix the prior issue, assuming you want interface-passive default functionality However, from testing, it breaks code semantics - allocation is not expected by the rest of the code. I'm going to see if I can find semantics divergence, but I'm not sure how long it may take ;(
The PR with the fix:
https://github.com/FRRouting/frr/issues/11301#issuecomment-1753246744
Need assistance to implement a test case for interface passive and config getting applied.