178 lines
5.4 KiB
YANG
178 lines
5.4 KiB
YANG
module openconfig-aft {
|
|
|
|
yang-version "1";
|
|
|
|
namespace "http://openconfig.net/yang/aft";
|
|
|
|
prefix "oc-aft";
|
|
|
|
import openconfig-extensions { prefix "oc-ext"; }
|
|
|
|
// Include IPv4 AFT submodule.
|
|
include openconfig-aft-ipv4;
|
|
// Include IPv6 AFT submodule.
|
|
include openconfig-aft-ipv6;
|
|
// Include MPLS AFT submodule.
|
|
include openconfig-aft-mpls;
|
|
// Include policy forwarding AFT submodule.
|
|
include openconfig-aft-pf;
|
|
// Include the ethernet AFT submodule.
|
|
include openconfig-aft-ethernet;
|
|
// Include the common cross-AFT entities.
|
|
include openconfig-aft-common;
|
|
|
|
organization
|
|
"OpenConfig working group";
|
|
|
|
contact
|
|
"OpenConfig working group
|
|
www.openconfig.net";
|
|
|
|
description
|
|
"A model describing the forwarding entries installed on a network
|
|
element. It should be noted that this model is not expected to
|
|
align 1:1 with the underlying structure used directly by a
|
|
forwarding element (e.g., linecard), but rather provide an
|
|
abstraction that can be consumed by an NMS to observe, and in some
|
|
cases manipulate, the internal forwarding database in a simplified
|
|
manner. Since the underlying model of the forwarding table is not
|
|
expected to align with this model, the structure described herein
|
|
is referred to as an Abstract Forwarding Table (AFT), rather than
|
|
the FIB.";
|
|
|
|
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";
|
|
}
|
|
|
|
// OpenConfig specific extensions for module metadata.
|
|
oc-ext:regexp-posix;
|
|
oc-ext:catalog-organization "openconfig";
|
|
oc-ext:origin "openconfig";
|
|
|
|
// config + state groupings
|
|
|
|
// structural groupings
|
|
|
|
grouping aft-top {
|
|
description
|
|
"Top-level grouping allowing per-protocol instantiation of the
|
|
AFT.";
|
|
|
|
container afts {
|
|
description
|
|
"The abstract forwarding tables (AFTs) that are associated
|
|
with the network instance. An AFT is instantiated per-protocol
|
|
running within the network-instance - such that one exists for
|
|
IPv4 Unicast, IPv6 Unicast, MPLS, L2 forwarding entries, etc.
|
|
A forwarding entry within the FIB has a set of next-hops,
|
|
which may be a reference to an entry within another table -
|
|
e.g., where a Layer 3 next-hop has an associated Layer 2
|
|
forwarding entry.";
|
|
|
|
container ipv4-unicast {
|
|
description
|
|
"The abstract forwarding table for IPv4 unicast. Entries
|
|
within this table are uniquely keyed on the IPv4 unicast
|
|
destination prefix which is matched by ingress packets.
|
|
|
|
The data set represented by the IPv4 Unicast AFT is the set
|
|
of entries from the IPv4 unicast RIB that have been selected
|
|
for installation into the FIB of the device exporting the
|
|
data structure.";
|
|
|
|
uses aft-ipv4-unicast-structural;
|
|
}
|
|
|
|
container ipv6-unicast {
|
|
description
|
|
"The abstract forwarding table for IPv6 unicast. Entries
|
|
within this table are uniquely keyed on the IPv6 unicast
|
|
destination prefix which is matched by ingress packets.
|
|
|
|
The data set represented by the IPv6 Unicast AFTis the set
|
|
of entries within the IPv6 RIB that ";
|
|
|
|
uses aft-ipv6-unicast-structural;
|
|
|
|
}
|
|
|
|
container policy-forwarding {
|
|
description
|
|
"The abstract forwarding table for policy-based forwarding
|
|
entries. Since multiple match criteria can be utilised
|
|
within a policy-based forwarding rule, this AFT provides a
|
|
flexible match criteria, and is indexed based on an
|
|
arbitrary 64-bit index. Entries within the AFT may match on
|
|
multiple field types (e.g., L4 header fields, as well as L2
|
|
fields).
|
|
|
|
Examples of entries within this table are:
|
|
- IPv4 policy-based routing based on DSCP.
|
|
- MPLS policy-based forwarding entries.";
|
|
|
|
uses aft-pf-structural;
|
|
}
|
|
|
|
container mpls {
|
|
description
|
|
"The abstract forwarding table for MPLS label based
|
|
forwarding entries. Entries within the table are keyed based
|
|
on the top-most MPLS label in the stack on the ingress
|
|
packet.";
|
|
|
|
uses aft-mpls-structural;
|
|
}
|
|
|
|
container ethernet {
|
|
description
|
|
"The abstract forwarding table for Ethernet based forwarding
|
|
entries. Entries within the table are keyed based on the
|
|
destination MAC address on the ingress packet.";
|
|
|
|
uses aft-ethernet-structural;
|
|
}
|
|
|
|
uses aft-next-hop-groups-structural;
|
|
uses aft-nhop-structural;
|
|
}
|
|
}
|
|
}
|