diff options
| author | Gabriel Goller <g.goller@proxmox.com> | 2025-02-25 10:24:58 +0100 |
|---|---|---|
| committer | Gabriel Goller <g.goller@proxmox.com> | 2025-02-26 10:07:54 +0100 |
| commit | 84d99ad8a6ba975f881fe272646aca18f0e4ffc7 (patch) | |
| tree | be7dc0b5e35668760a42393e663efb816e737452 /isisd/isis_circuit.c | |
| parent | 80e96712e47b024ed5973c738acfb056bcd08b61 (diff) | |
fabricd: add option to treat dummy interfaces as loopback interfaces
Enable dummy-interfaces to be used as router-id interfaces in openfabric
networks. This allows multiple openfabric routers with different
router-ids on a single node when using IP unnumbered setup (interfaces
without IPs configured). Previously we were limited by having a single
loopback interface, allowing only one openfabric router per node.
Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
Diffstat (limited to 'isisd/isis_circuit.c')
| -rw-r--r-- | isisd/isis_circuit.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 5b62d3c518..eed2c52552 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -491,16 +491,17 @@ void isis_circuit_if_add(struct isis_circuit *circuit, struct interface *ifp) { struct connected *conn; - if (if_is_broadcast(ifp)) { + if (if_is_loopback(ifp) || (isis_option_check(ISIS_OPT_DUMMY_AS_LOOPBACK) && + CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_DUMMY))) { + circuit->circ_type = CIRCUIT_T_LOOPBACK; + circuit->is_passive = 1; + } else if (if_is_broadcast(ifp)) { if (fabricd || circuit->circ_type_config == CIRCUIT_T_P2P) circuit->circ_type = CIRCUIT_T_P2P; else circuit->circ_type = CIRCUIT_T_BROADCAST; } else if (if_is_pointopoint(ifp)) { circuit->circ_type = CIRCUIT_T_P2P; - } else if (if_is_loopback(ifp)) { - circuit->circ_type = CIRCUIT_T_LOOPBACK; - circuit->is_passive = 1; } else { /* It's normal in case of loopback etc. */ if (IS_DEBUG_EVENTS) |
