201 lines
5.6 KiB
YANG
201 lines
5.6 KiB
YANG
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.4.1";
|
|
|
|
revision "2019-11-07" {
|
|
description
|
|
"Move lsp-name leaf out of aft-common-entry-nexthop-state group.";
|
|
reference "0.4.1";
|
|
}
|
|
|
|
revision "2019-08-02" {
|
|
description
|
|
"Add installing protocol for IPv[46] unicast entries.
|
|
Add the ability to describe conditional next-hop groups
|
|
outside of the policy forwarding module to allow for efficient
|
|
handling of CBTS, where many prefixes may share the same next-hop
|
|
criteria.";
|
|
reference "0.4.0";
|
|
}
|
|
|
|
revision "2019-08-01" {
|
|
description
|
|
"Add lsp-name leaf to AFT next-hop.";
|
|
reference "0.3.3";
|
|
}
|
|
|
|
revision "2018-11-21" {
|
|
description
|
|
"Add OpenConfig module metadata extensions.";
|
|
reference "0.3.2";
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|