summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-aft-pf.yang
diff options
context:
space:
mode:
authorHongjun Ni <hongjun.ni@intel.com>2018-12-21 04:48:35 +0000
committerGerrit Code Review <gerrit@fd.io>2018-12-21 04:48:35 +0000
commit8791f3211bd61d213e4ea4a0af66a14bb2e3a239 (patch)
tree846a89e6ca81d639d024e5509654766d3581b7ea /src/plugins/yang/openconfig/openconfig-aft-pf.yang
parentde7bb8f2b0cdd2dfeba0586213bd415c9bb3fd18 (diff)
parent639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (diff)
Merge "Add Openconfig YANG modules."
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;
+ }
+}