aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-aft-pf.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-aft-pf.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-aft-pf.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-aft-pf.yang172
1 files changed, 172 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-aft-pf.yang b/src/plugins/yang/openconfig/openconfig-aft-pf.yang
new file mode 100644
index 0000000..839f9e5
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-aft-pf.yang
@@ -0,0 +1,172 @@
+submodule openconfig-aft-pf {
+ belongs-to "openconfig-aft" {
+ prefix "oc-aft";
+ }
+
+ import openconfig-extensions { prefix "oc-ext"; }
+ import openconfig-inet-types { prefix "oc-inet"; }
+ import openconfig-yang-types { prefix "oc-yang"; }
+ import openconfig-mpls-types { prefix "oc-mplst"; }
+ import openconfig-packet-match-types {
+ prefix "oc-pkt-match-types";
+ }
+
+ // Include common cross-AFT groupings from the common submodule.
+ include openconfig-aft-common;
+
+ organization
+ "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "Submodule containing definitions of groupings for the abstract
+ forwarding table(s) for policy forwarding entries. These are
+ defined to be forwarding tables that allow matches on
+ fields other than the destination address that is used in
+ other forwarding tables.";
+
+ oc-ext:openconfig-version "0.3.1";
+
+ revision 2017-08-24 {
+ description
+ "Formatting fixes";
+ reference "0.3.1";
+ }
+
+ revision 2017-05-10 {
+ description
+ "Refactor to provide concretised per-AF schemas per AFT.";
+ reference "0.3.0";
+ }
+
+ grouping aft-pf-structural {
+ description
+ "Structural grouping defining the schema for the policy
+ forwarding abstract forwarding table.";
+
+ list policy-forwarding-entry {
+ key "index";
+
+ description
+ "List of the policy forwarding entries within the abstract
+ forwarding table. Each entry is uniquely identified by an
+ index on the system, due to the arbitrary match conditions
+ that may be implemented within the policy forwarding AFT.
+ The index may change upon changes of the entry if, and only
+ if, the device exporting the AFT replaces the entire entry
+ by removing the previous entry and replacing it with a
+ subsequent updated version.";
+
+ leaf index {
+ type leafref {
+ path "../config/index";
+ }
+ description
+ "Reference to the arbitary index for the policy forwarding
+ AFT entry.";
+ }
+
+ container config {
+ description
+ "Configuration parameters for the Policy forwarding
+ AFT entry.";
+ uses aft-pf-entry-config;
+ }
+
+ container state {
+ config false;
+ description
+ "Operational state parameters for the Policy Forwarding
+ AFT entry.";
+ uses aft-pf-entry-config;
+ uses aft-pf-entry-state;
+ }
+ }
+ }
+
+ grouping aft-pf-entry-config {
+ description
+ "Configuration parameters for the Policy Forwarding
+ AFT entry.";
+
+ leaf index {
+ type uint64;
+ description
+ "An arbitrary 64-bit index identifying the policy forwarding
+ AFT entry.";
+ }
+
+ leaf ip-prefix {
+ type oc-inet:ip-prefix;
+ description
+ "The IP prefix that the forwarding entry matches.";
+ }
+
+ leaf mac-address {
+ type oc-yang:mac-address;
+ description
+ "The MAC address that the forwarding entry matches. Used for
+ Layer 2 forwarding entries, e.g., within a VSI instance.";
+ }
+
+ leaf mpls-label {
+ type oc-mplst:mpls-label;
+ description
+ "The MPLS label that the forwarding entry matches. Used for
+ MPLS forwarding entries, whereby the local device acts as an
+ LSR.";
+ }
+
+ leaf mpls-tc {
+ type oc-mplst:mpls-tc;
+ description
+ "The value of the MPLS Traffic Class bits (formerly known as
+ the MPLS experimental bits) that are to be matched by the AFT
+ entry.";
+ reference
+ "RFC5462: Multiprotocol Label Switching (MPLS) Label Stack
+ Entry: 'EXP' Field Renamed to 'Traffic Class' Field"; }
+
+ leaf ip-dscp {
+ type oc-inet:dscp;
+ description
+ "The value of the differentiated services code point (DSCP) to
+ be matched for the forwarding entry. The value is specified in
+ cases where specific class-based forwarding based on IP is
+ implemented by the device.";
+ }
+
+ leaf ip-protocol {
+ type oc-pkt-match-types:ip-protocol-type;
+ description
+ "The value of the IP protocol field of an IPv4 packet, or the
+ next-header field of an IPv6 packet which is to be matched by
+ the AFT entry. This field is utilised where forwarding is
+ performed based on L4 information.";
+ }
+
+ leaf l4-src-port {
+ type oc-inet:port-number;
+ description
+ "The value of the source port field of the transport header
+ that is to be matched by the AFT entry.";
+ }
+
+ leaf l4-dst-port {
+ type oc-inet:port-number;
+ description
+ "The value of the destination port field of the transport
+ header that is to be matched by the AFT entry.";
+ }
+ }
+
+ grouping aft-pf-entry-state {
+ description
+ "Operational state parameters for the Policy Forwarding
+ AFT entry.";
+ uses aft-common-entry-state;
+ }
+}