Skip to content

Commit

Permalink
fix leafref
Browse files Browse the repository at this point in the history
  • Loading branch information
dplore committed Dec 3, 2024
1 parent bdd7c4e commit 8a78849
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 107 deletions.
149 changes: 44 additions & 105 deletions release/models/policy-forwarding/openconfig-pf-network-instances.yang
Original file line number Diff line number Diff line change
Expand Up @@ -3,174 +3,113 @@ submodule openconfig-pf-network-instances {
prefix "oc-pf";
}

import openconfig-extensions { prefix "oc-ext"; }
import openconfig-interfaces { prefix "oc-if"; }
import openconfig-network-instance { prefix "oc-ni"; }

import openconfig-extensions {
prefix "oc-ext";
}
include openconfig-pf-forwarding-policies;

organization
"OpenConfig working group";

contact
"OpenConfig working group
www.openconfig.net";
www.openconfig.net";

description
"This submodule contains groupings to attach
a policy-forwarding policy to one or more network-instances.
When attached to a network-instance, the policy-forwarding rules
should be evaluated against packets in the specified
network-instances.";
a policy-forwarding policy to one or more network-instances.
When attached to a network-instance, the policy-forwarding rules
should be evaluated against packets in the specified
network-instances.";

oc-ext:openconfig-version "0.8.0";

revision "2024-11-15" {
revision "2024-11-26" {
description
"Add network-instance as an attachment point.";
reference "0.8.0";
}

revision "2024-11-14" {
description
"Clarify that if no rules are present, no packets will be matched.";
reference "0.7.0";
}

revision "2023-04-25" {
description
"Clarify use of interface-ref.";
reference "0.6.1";
}

revision "2023-03-27" {
description
"Add support for decap in one NI and further actions in other NIs.";
reference "0.6.0";
}

revision "2022-01-25" {
description
"Add GUE and MPLS-in-UDP decapsulation actions.";
reference "0.5.0";
}

revision "2021-08-06" {
description
"Update path to the network instance action to allow references
to other NIs.";
reference "0.4.0";
}

revision "2021-05-19" {
description
"Add a VRF selection policy type, and means to apply the
policy.";
reference "0.3.0";
reference
"0.8.0";
}

revision "2018-11-21" {
description
"Add OpenConfig module metadata extensions.";
reference "0.2.1";
}

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-network-instance-structural {
grouping pf-network-instances-structural {
description
"Structural grouping for network-instances to forwarding policy
bindings within the policy-forwarding model.";
bindings within the policy-forwarding model.";

container network-instances {
description
"Configuration and operational state relating policy
forwarding on interfaces.";
forwarding on interfaces.";

list network-instance {
key "network-instance-id";
key "name";

description
"Configuration and operationals state relating to the
relationship between network-instances and policy-based
forwarding rules.";
relationship between network-instances and policy-based
forwarding rules.";

leaf name {
type leafref {
path "../config/name";
}
description
"A reference to the name of the network-instance
being referenced by the policy.";
being referenced by the policy.";
}

container config {
description
"Configuration parameters relating to an network-instance to
policy forwarding rule binding.";
"Configuration parameters relating to a network-instance to
policy forwarding rule binding.";

uses pf-network-instance-config;
}

container state {
config false;
description
"Operational state parameters relating to an interface to
policy forwarding rule binding.";
"Operational state parameters relating to a network-instance to
policy forwarding rule binding.";

uses pf-network-instance-config;
}

uses oc-if:interface-ref;
}
}
}

grouping pf-network-instance-config {
description
"Configuration parameters relating to an interface to policy
forwarding rule binding.";

forwarding rule binding.";

leaf name {
type oc-ni:network-instance-ref;
type leafref {
path "/network-instances/network-instance/" +
"config/name";
// path "/oc-netinst:network-instances/oc-netinst:network-instance/" +
// "oc-netinst:config/oc-netinst:name";
}
description
"A unique identifier for the network-instance.";
}

leaf apply-forwarding-policy {
type leafref {
// We are at /network-instances/network-instance/
// policy-forwarding/interfaces/interface/config/
// policy-forwarding/network-instances/network-instance/config/
// apply-forwarding-policy
path "../../../../policies/policy/config/policy-id";
}
description
"The policy to be applied on the network-instance. 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.";
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.";
}

leaf apply-vrf-selection-policy {
Expand All @@ -182,13 +121,13 @@ submodule openconfig-pf-network-instances {
}
description
"Apply the specific VRF selection policy on the network-instance.
The referenced policy MUST be of the type VRF_SELECTION_POLICY.
The VRF selection policy may coexist with a policy-forwarding policy.
The policy specified in this leaf is used to specifically choose the
L3VRF network instance that is used for specific input criteria of
packets.";
The referenced policy MUST be of the type VRF_SELECTION_POLICY.
The VRF selection policy may coexist with a policy-forwarding policy.
The policy specified in this leaf is used to specifically choose the
L3VRF network instance that is used for specific input criteria of
packets.";
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ module openconfig-policy-forwarding {
include openconfig-pf-forwarding-policies;
include openconfig-pf-path-groups;
include openconfig-pf-interfaces;
include openconfig-pf-network-instances;

organization
"OpenConfig working group";
Expand Down Expand Up @@ -64,7 +65,7 @@ module openconfig-policy-forwarding {
to use to determine the packets that it reroutes - this may
consist of a number of criteria, such as DSCP. The match criteria
is specified as rules. If no rules are specified, then the policy
will not match any packets.
will match all packets.
The action of the policy results in a forwarding action being applied
to matching packets. For example, decapsulating the packet from a GRE
Expand All @@ -86,7 +87,7 @@ module openconfig-policy-forwarding {

oc-ext:openconfig-version "0.8.0";

revision "2024-11-15" {
revision "2024-11-26" {
description
"Add network-instance as an attachment point.";
reference "0.8.0";
Expand Down Expand Up @@ -170,6 +171,7 @@ module openconfig-policy-forwarding {

uses pf-forwarding-policy-structural;
uses pf-interfaces-structural;
uses pf-network-instances-structural;
uses pf-path-groups-structural;
}
}
Expand Down

0 comments on commit 8a78849

Please sign in to comment.