diff options
| author | Gabriel Goller <g.goller@proxmox.com> | 2025-02-25 10:13:34 +0100 |
|---|---|---|
| committer | Gabriel Goller <g.goller@proxmox.com> | 2025-02-25 10:13:34 +0100 |
| commit | 80e96712e47b024ed5973c738acfb056bcd08b61 (patch) | |
| tree | e61b8a1796c928041be2b079dfc1d82e94ed3087 /zebra/interface.c | |
| parent | 3f290c97e8325bd9db9363b60e4a42ba8bdca90b (diff) | |
zebra: add ZEBRA_IF_DUMMY flag for dummy interfaces
Introduce ZEBRA_IF_DUMMY interface flag to identify Linux dummy interfaces [0].
These interfaces behave similarly to loopback interfaces and can be
specially handled by daemons.
[0]: https://github.com/torvalds/linux/blob/master/drivers/net/dummy.c
Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index e49e8eac5e..b7a790382d 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -548,6 +548,9 @@ void if_add_update(struct interface *ifp) zebra_interface_add_update(ifp); + if (IS_ZEBRA_IF_DUMMY(ifp)) + SET_FLAG(ifp->status, ZEBRA_INTERFACE_DUMMY); + if (!CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE)) { SET_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE); @@ -1616,6 +1619,7 @@ static void interface_update_l2info(struct zebra_dplane_ctx *ctx, case ZEBRA_IF_MACVLAN: case ZEBRA_IF_VETH: case ZEBRA_IF_BOND: + case ZEBRA_IF_DUMMY: break; } } @@ -2369,6 +2373,9 @@ static const char *zebra_ziftype_2str(enum zebra_iftype zif_type) case ZEBRA_IF_GRE: return "GRE"; + case ZEBRA_IF_DUMMY: + return "dummy"; + default: return "Unknown"; } |
