summaryrefslogtreecommitdiff
path: root/yang/frr-pim.yang
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-10-02 19:03:48 +0000
committerNathan Bahr <nbahr@atcorp.com>2024-12-13 17:36:34 +0000
commit10e2df6530183a202ab85c2311bcdc94e9037e5b (patch)
tree47f77d703865ccb8ffc02d0cdc67c4d7d2061d20 /yang/frr-pim.yang
parentba0a6868e53ecb87eb3101b0926e42152046f931 (diff)
pimd,yang: Reimplement RPF lookup vty in router pim
Add rpf-lookup-mode MODE vty command under router pim block. Including NB piping and config write. Using the mode still pending. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Diffstat (limited to 'yang/frr-pim.yang')
-rw-r--r--yang/frr-pim.yang54
1 files changed, 51 insertions, 3 deletions
diff --git a/yang/frr-pim.yang b/yang/frr-pim.yang
index 6e5fc3c6ce..e371894474 100644
--- a/yang/frr-pim.yang
+++ b/yang/frr-pim.yang
@@ -83,6 +83,47 @@ module frr-pim {
}
/*
+ * Multicast RPF mode configurable type
+ */
+
+ typedef mcast-rpf-lookup-mode {
+ type enumeration {
+ enum "none" {
+ value 0;
+ description
+ "No mode set.";
+ }
+ enum "mrib-only" {
+ value 1;
+ description
+ "Lookup in unicast RIB only.";
+ }
+ enum "urib-only" {
+ value 2;
+ description
+ "Lookup in multicast RIB only.";
+ }
+ enum "mrib-then-urib" {
+ value 3;
+ description
+ "Try multicast RIB first, fall back to unicast RIB.";
+ }
+ enum "lower-distance" {
+ value 4;
+ description
+ "Lookup both unicast and mcast, use entry with lower distance.";
+ }
+ enum "longer-prefix" {
+ value 5;
+ description
+ "Lookup both unicast and mcast, use entry with longer prefix.";
+ }
+ }
+ description
+ "Multicast RPF lookup behavior";
+ }
+
+ /*
* Groupings
*/
@@ -161,20 +202,27 @@ module frr-pim {
description
"A grouping defining per address family pim global attributes";
+ leaf mcast-rpf-lookup {
+ type mcast-rpf-lookup-mode;
+ default "none";
+ description
+ "Multicast RPF lookup behavior.";
+ }
+
leaf ecmp {
type boolean;
default "false";
description
"Enable PIM ECMP.";
}
-
+
leaf ecmp-rebalance {
type boolean;
default "false";
description
"Enable PIM ECMP Rebalance.";
}
-
+
leaf keep-alive-timer {
type uint16 {
range "1..max";
@@ -183,7 +231,7 @@ module frr-pim {
description
"Keep alive Timer in seconds.";
}
-
+
leaf rp-keep-alive-timer {
type uint16 {
range "1..max";