summaryrefslogtreecommitdiff
path: root/yang
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2025-02-04 06:36:43 -0500
committerGitHub <noreply@github.com>2025-02-04 06:36:43 -0500
commitadeb30d8f37ef3668bbc56a1e1347ac451bba479 (patch)
tree88251415f13e7c243b3f7f2c91269ad94dce6bd4 /yang
parent817c2c98230f3825df65283fc68f1b8f8a317d04 (diff)
parent427cf6627db14475fb505d6ac85f35c140aaeaa5 (diff)
Merge pull request #17336 from forrestchu/sbfd
implement SBFD
Diffstat (limited to 'yang')
-rw-r--r--yang/frr-bfdd.yang130
1 files changed, 130 insertions, 0 deletions
diff --git a/yang/frr-bfdd.yang b/yang/frr-bfdd.yang
index c5c824f792..ceed6fa5a1 100644
--- a/yang/frr-bfdd.yang
+++ b/yang/frr-bfdd.yang
@@ -503,6 +503,136 @@ module frr-bfdd {
config false;
}
}
+
+ list sbfd-echo {
+ key "source-addr bfd-name vrf";
+ description "support a special echo SBFD session in RFC7880, and enhanced with SRv6 encapsulation";
+
+ leaf source-addr {
+ type inet:ip-address;
+ description "Local IP address";
+ }
+
+ leaf dest-addr {
+ type inet:ip-address;
+ description "IP address of the peer";
+ }
+
+ leaf bfd-name {
+ type string;
+ default "";
+ description "Bfd session name.";
+ }
+
+ leaf vrf {
+ type frr-vrf:vrf-ref;
+ description "Virtual Routing Domain name";
+ }
+
+ leaf profile {
+ type profile-ref;
+ description "Override defaults with profile.";
+ }
+
+ leaf-list srv6-encap-data {
+ type inet:ipv6-address;
+ max-elements 6;
+
+ description "segment list ipv6 addresses for srv6 encapsulation";
+ }
+
+ leaf srv6-source-ipv6 {
+ type inet:ipv6-address;
+ description "source ipv6 address for srv6 encapsulation";
+ }
+
+ leaf bfd-mode {
+ type uint32;
+ description "Bfd session mode.";
+ }
+
+ leaf multi-hop {
+ type boolean;
+ description "Use multi hop session instead of single hop.";
+ }
+
+ uses session-common;
+ uses session-multi-hop;
+ uses session-echo;
+
+ container stats {
+ uses session-states;
+ config false;
+ }
+ }
+
+ list sbfd-init {
+ key "source-addr dest-addr bfd-name vrf";
+ description "support SBFD session in RFC7880, and optional with SRv6 encapsulation";
+
+ leaf source-addr {
+ type inet:ip-address;
+ description "Local IP address";
+ }
+
+ leaf dest-addr {
+ type inet:ip-address;
+ description "IP address of the peer";
+ }
+
+ leaf bfd-name {
+ type string;
+ default "";
+ description "Bfd session name.";
+ }
+
+ leaf vrf {
+ type frr-vrf:vrf-ref;
+ description "Virtual Routing Domain name";
+ }
+
+ leaf profile {
+ type profile-ref;
+ description "Override defaults with profile.";
+ }
+
+ leaf-list srv6-encap-data {
+ type inet:ipv6-address;
+ max-elements 6;
+
+ description "segment list ipv6 addresses for srv6 encapsulation";
+ }
+
+ leaf srv6-source-ipv6 {
+ type inet:ip-address;
+ description "source ipv6 address for srv6 encapsulation";
+ }
+
+ leaf remote-discr {
+ type uint32;
+ default 0;
+ description
+ "Remote session identifier";
+ }
+
+ leaf bfd-mode {
+ type uint32;
+ description "Bfd session mode.";
+ }
+
+ leaf multi-hop {
+ type boolean;
+ description "Use multi hop session instead of single hop.";
+ }
+
+ uses session-common;
+ uses session-multi-hop;
+
+ container stats {
+ uses session-states;
+ config false;
+ }
+ }
}
}
}