aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-pf-interfaces.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-pf-interfaces.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-pf-interfaces.yang121
1 files changed, 121 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-pf-interfaces.yang b/src/plugins/yang/openconfig/openconfig-pf-interfaces.yang
new file mode 100644
index 0000000..41ba545
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-pf-interfaces.yang
@@ -0,0 +1,121 @@
+submodule openconfig-pf-interfaces {
+ belongs-to openconfig-policy-forwarding {
+ prefix "oc-pf";
+ }
+
+ import openconfig-extensions { prefix "oc-ext"; }
+ import openconfig-interfaces { prefix "oc-if"; }
+
+ include openconfig-pf-forwarding-policies;
+
+ organization
+ "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This submodule contains groupings related to the association
+ between interfaces and policy forwarding rules.";
+
+ 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-interfaces-structural {
+ description
+ "Structural grouping for interface to forwarding policy bindings
+ within the policy-forwarding model.";
+
+ container interfaces {
+ description
+ "Configuration and operational state relating policy
+ forwarding on interfaces.";
+
+ list interface {
+ key "interface-id";
+
+ description
+ "Configuration and operationals state relating to the
+ relationship between interfaces and policy-based forwarding
+ rules.";
+
+ leaf interface-id {
+ type leafref {
+ path "../config/interface-id";
+ }
+ description
+ "A reference to the unique identifier for the interface
+ being referenced by the policy.";
+ }
+
+ container config {
+ description
+ "Configuration parameters relating to an interface to
+ policy forwarding rule binding.";
+
+ uses pf-interface-config;
+ }
+
+ container state {
+ config false;
+ description
+ "Operational state parameters relating to an interface to
+ policy forwarding rule binding.";
+
+ uses pf-interface-config;
+ }
+
+ uses oc-if:interface-ref;
+ }
+ }
+ }
+
+ grouping pf-interface-config {
+ description
+ "Configuration parameters relating to an interface to policy
+ forwarding rule binding.";
+
+ leaf interface-id {
+ type oc-if:interface-id;
+ description
+ "A unique identifier for the interface.";
+ }
+
+ leaf apply-forwarding-policy {
+ type leafref {
+ // We are at /network-instances/network-instance/
+ // policy-forwarding/interfaces/interface/config/
+ // apply-forwarding-policy
+ path "../../../../policies/policy/" +
+ "config/policy-id";
+ }
+ description
+ "The policy to be applied on the interface. Packets ingress on
+ the referenced interface should be compared to the match
+ criteria within the specified policy, and in the case that
+ these criteria are met, the forwarding actions specified
+ applied. These policies should be applied following quality of
+ service classification, and ACL actions if such entities are
+ referenced by the corresponding interface.";
+ }
+ }
+}