summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-pf-path-groups.yang
diff options
context:
space:
mode:
authorAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:49:33 +0100
committerAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:51:10 +0100
commit639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (patch)
tree83de866d2e47bd71dae0c6ff9e03f51c3269413b /src/plugins/yang/openconfig/openconfig-pf-path-groups.yang
parentba089324594f450a1b549906ec7fde1ba63a1e89 (diff)
Add Openconfig YANG modules.
Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-pf-path-groups.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-pf-path-groups.yang125
1 files changed, 125 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-pf-path-groups.yang b/src/plugins/yang/openconfig/openconfig-pf-path-groups.yang
new file mode 100644
index 0000000..aa96595
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-pf-path-groups.yang
@@ -0,0 +1,125 @@
+submodule openconfig-pf-path-groups {
+ belongs-to openconfig-policy-forwarding {
+ prefix "oc-pf";
+ }
+
+ import openconfig-extensions { prefix "oc-ext"; }
+
+ organization
+ "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This submodule contains configuration and operational state
+ relating to path-selection-groups which are used to group
+ forwarding entities together to be used as policy forwarding
+ targets.";
+
+ oc-ext:openconfig-version "0.2.0";
+
+ revision "2017-06-21" {
+ description
+ "Amend policy forwarding model based on ACL changes.";
+ reference "0.2.0";
+ }
+
+ revision "2017-02-28" {
+ description
+ "Initial public release of policy forwarding.";
+ reference "0.1.0";
+ }
+
+ revision "2016-11-08" {
+ description
+ "Initial revision";
+ reference "0.0.1";
+ }
+
+ grouping pf-path-groups-structural {
+ description
+ "Structural grouping containing the definition of path groups
+ within the context of policy-based forwarding.";
+
+ container path-selection-groups {
+ description
+ "Surrounding container for the path selection groups defined
+ within the policy forwarding model.";
+
+ list path-selection-group {
+ key "group-id";
+
+ leaf group-id {
+ type leafref {
+ path "../config/group-id";
+ }
+ description
+ "Reference to a unique identifier for the path selection
+ group";
+
+ }
+
+ description
+ "A path selection group is a set of forwarding resources,
+ which are grouped as eligible paths for a particular
+ policy-based forwarding rule. A policy rule may select a
+ path-selection-group as the egress for a particular type of
+ traffic (e.g., DSCP value). The system then utilises its
+ standard forwarding lookup mechanism to select from the
+ paths that are specified within the group - for IP packets,
+ the destination IP address is used such that the packet is
+ routed to the entity within the path-selection-group that
+ corresponds to the next-hop for the destination IP address
+ of the packet; for L2 packets, the selection is based on the
+ destination MAC address. If multiple paths within the
+ selection group are eligible to be used for forwarding,
+ the packets are load-balanced between them according to
+ the system's usual load balancing logic.";
+
+ container config {
+ description
+ "Configuration parameters relating to the path selection
+ group.";
+ uses pf-path-selection-group-config;
+ }
+
+ container state {
+ config false;
+ description
+ "Operational state parameters relating to the path
+ selection group.";
+ uses pf-path-selection-group-config;
+ }
+ }
+ }
+ }
+
+ grouping pf-path-selection-group-config {
+ description
+ "Configuration parameters relating to a path selection group.";
+
+ leaf group-id {
+ type string;
+ description
+ "A unique name for the path-selection-group";
+ }
+
+ leaf-list mpls-lsp {
+ type leafref {
+ // We are at /network-instances/network-instance/
+ // policy-forwarding/path-selection-groups/
+ // path-selection-group/config/mpls-lsp
+ path "../../../../../mpls/lsps/constrained-path/tunnels/" +
+ "tunnel/config/name";
+ }
+ description
+ "A set of MPLS constrained-path LSPs which should be
+ considered for the policy forwarding next-hop. In order to
+ select between the LSPs within the path-selection-group, the
+ system should determine which LSP provides the best path to
+ the next-hop for the routed packet.";
+ }
+ }
+}