From 80e96712e47b024ed5973c738acfb056bcd08b61 Mon Sep 17 00:00:00 2001 From: Gabriel Goller Date: Tue, 25 Feb 2025 10:13:34 +0100 Subject: 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 --- zebra/interface.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'zebra/interface.c') 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"; } -- cgit v1.2.3