summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/etc/iproute2/rt_protos.d/frr.conf1
-rwxr-xr-xtools/frr1
-rw-r--r--zebra/rt_netlink.c8
-rw-r--r--zebra/rt_netlink.h1
4 files changed, 10 insertions, 1 deletions
diff --git a/tools/etc/iproute2/rt_protos.d/frr.conf b/tools/etc/iproute2/rt_protos.d/frr.conf
index 4c6968ac27..bbb358fc6c 100644
--- a/tools/etc/iproute2/rt_protos.d/frr.conf
+++ b/tools/etc/iproute2/rt_protos.d/frr.conf
@@ -11,3 +11,4 @@
194 sharp
195 pbr
196 static
+197 openfabric
diff --git a/tools/frr b/tools/frr
index 0b170d33fd..9c8a8e9043 100755
--- a/tools/frr
+++ b/tools/frr
@@ -587,6 +587,7 @@ case "$1" in
ip route flush proto 194
ip route flush proto 195
ip route flush proto 196
+ ip route flush proto 197
else
[ -n "$dmn" ] && eval "${dmn/-/_}=0"
start_watchfrr
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 3683596b41..8e2cd2e418 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -99,7 +99,7 @@ static inline int is_selfroute(int proto)
|| (proto == RTPROT_NHRP) || (proto == RTPROT_EIGRP)
|| (proto == RTPROT_LDP) || (proto == RTPROT_BABEL)
|| (proto == RTPROT_RIP) || (proto == RTPROT_SHARP)
- || (proto == RTPROT_PBR)) {
+ || (proto == RTPROT_PBR) || (proto == RTPROT_OPENFABRIC)) {
return 1;
}
@@ -146,6 +146,9 @@ static inline int zebra2proto(int proto)
case ZEBRA_ROUTE_PBR:
proto = RTPROT_PBR;
break;
+ case ZEBRA_ROUTE_OPENFABRIC:
+ proto = RTPROT_OPENFABRIC;
+ break;
default:
/*
* When a user adds a new protocol this will show up
@@ -203,6 +206,9 @@ static inline int proto2zebra(int proto, int family)
case RTPROT_PBR:
proto = ZEBRA_ROUTE_PBR;
break;
+ case RTPROT_OPENFABRIC:
+ proto = ZEBRA_ROUTE_OPENFABRIC;
+ break;
default:
/*
* When a user adds a new protocol this will show up
diff --git a/zebra/rt_netlink.h b/zebra/rt_netlink.h
index c4f21d1504..cefd1996a9 100644
--- a/zebra/rt_netlink.h
+++ b/zebra/rt_netlink.h
@@ -54,6 +54,7 @@
#define RTPROT_SHARP 194
#define RTPROT_PBR 195
#define RTPROT_ZSTATIC 196
+#define RTPROT_OPENFABRIC 197
void rt_netlink_init(void);