RFC 9835: A Network YANG Data Model for Attachment Circuits
- M. Boucadair, Ed.,
- R. Roberts,
- O. Gonzalez de Dios,
- S. Barguil,
- B. Wu
Abstract
This document specifies a network model for attachment circuits (ACs). The model can be used for the provisioning of ACs prior to or during service provisioning (e.g., VPN, RFC 9543 Network Slice Service). A companion service model is specified in "YANG Data Models for Bearers and Attachment Circuits as a Service (ACaaS)" (RFC9834).¶
The module augments the base network
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
Connectivity services are provided by networks to customers via dedicated terminating points, such as Service Functions [RFC7665], Customer Edges (CEs), peer Autonomous System Border Routers (ASBRs), data center gateways, or Internet Exchange Points.¶
The procedure to provision a service in a service provider network may depend on the practices adopted by a service provider, including the flow put in place for the provisioning of advanced network services and how they are bound to an attachment circuit (AC). For example, the same AC may host multiple services (e.g., Layer 2 VPN (L2VPN), Layer 3 VPN (L3VPN), or RFC 9543 Network Slice Service [RFC9543]). In order to avoid service interference and redundant information in various locations, a service provider may expose an interface to manage ACs network-wide. Customers can then request a standalone AC to be put in place and refer to that AC when requesting services to be bound to that AC. [RFC9834] specifies a data model for managing Attachment Circuits as a Service (ACaaS).¶
Section 6 specifies a network model for ACs
This document leverages [RFC9182] and [RFC9291] by adopting an AC provisioning structure that uses data nodes that are defined in those RFCs. Some refinements were introduced to cover not only conventional service provider networks but also specifics of other target deployments (e.g., cloud network).¶
The AC network model is designed as augmentations of both the 'ietf-network' model [RFC8345] and the Service Attachment Point (SAP) model [RFC9408]. An AC can be bound to a single or multiple SAPs. Likewise, the model is designed to accommodate deployments where a SAP can be bound to one or multiple ACs (e.g., a Parent AC and its Child ACs).¶
The AC network model uses the AC common model defined in [RFC9833].¶
The YANG 1.1 [RFC7950] data model in this document conforms to the Network Management Datastore Architecture (NMDA) defined in [RFC8342].¶
Some examples are provided in Appendix A.¶
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The reader should be familiar with the terms defined in Section 2 of [RFC9408].¶
This document uses the term "network model" as defined in Section 2.1 of [RFC8969].¶
The meanings of the symbols in the YANG tree diagrams are defined in [RFC8340].¶
LxSM refers to both the L2VPN Service Model (L2SM) [RFC8466] and the L3VPN Service Model (L3SM) [RFC8299].¶
LxNM refers to both the L2VPN Network Model (L2NM) [RFC9291] and the L3VPN Network Model (L3NM) [RFC9182].¶
LxVPN refers to both L2VPN and L3VPN.¶
The following are used in the module prefixes:¶
In addition, this document uses the following terms:¶
- Bearer:
-
A physical or logical link that connects a customer node (or site) to a provider network.¶
A bearer can be a wireless or wired link. One or multiple technologies can be used to build a bearer. The bearer type can be specified by a customer.¶
The operator allocates a unique bearer reference to identify a bearer within its network (e.g., customer line identifier). Such a reference can be retrieved by a customer and then used in subsequent service placement requests to unambiguously identify where a service is to be bound.¶
The concept of a bearer can be generalized to refer to the required underlying connection for the provisioning of an AC.¶
One or multiple ACs may be hosted over the same bearer (e.g., multiple Virtual Local Area Networks (VLANs) on the same bearer that is provided by a physical link).¶
- Network controller:
-
Denotes a functional entity responsible for the management of the service provider network. One or multiple network controllers can be deployed in a service provider network.¶
- Service orchestrator:
-
Refers to a functional entity that interacts with the customer of a network service.¶
A service orchestrator is typically responsible for the ACs, the Provider Edge (PE) selection, and requesting the activation of the requested services to a network controller.¶
A service orchestrator may interact with one or more network controllers.¶
- Service provider network:
-
A network that is able to provide network services (e.g., LxVPN or RFC 9543 Network Slice Services).¶
- Service provider:
-
An entity that offers network services (e.g., LxVPN or RFC 9543 Network Slice Services).¶
The names of data nodes are prefixed using the prefix associated with the corresponding imported YANG module as shown in Table 1:¶
3. Relationship to Other AC Data Models
Figure 2 depicts the relationship between the various AC data models:¶
The "ietf
4. Sample Uses of the Attachment Circuit Data Models
4.1. ACs Terminated by One or Multiple CEs
Figure 3 depicts a sample target topology that involve ACs:¶
"ietf-ac-ntw" is a network model that is used to manage the PE side of ACs at a provider network.¶
4.2. Positioning the AC Network Model in the Overall Service Delivery Process
Figure 4 shows the positioning of the AC network model in the overall service delivery process. The "ietf-ac-ntw" module is a network model that augments the SAP with a comprehensive set of parameters to reflect the ACs that are in place in a network. The model also maintains the mapping with the service references that are used to expose those ACs to customers using the "ietf-ac-svc" module defined in [RFC9834]. Whether the same naming conventions to reference an AC are used in the service and network layers is deployment
Similar to [RFC9408], the "ietf-ac-ntw" module can be used for both User-to-Network Interface (UNI) and
Network
5. Description of the Attachment Circuit YANG Module
The full tree diagram of the "ietf-ac-ntw" module is provided in Appendix B. Subtrees are provided in the following subsections for the reader's convenience.¶
5.1. Overall Structure of the Module
The overall tree structure of the "ietf-ac-ntw" module is shown in Figure 6.¶
A node can host one or more SAPs. Per [RFC9408], a SAP is an abstraction of the network reference point (the PE side of an AC, in the context of this document) where network services can be and/or are delivered to customers. Each SAP terminates one or multiple ACs. In turn, each AC may be terminated by one or more peer SAPs ('peer-sap'). In order to expose such AC/SAP binding information, the SAP model [RFC9408] is augmented with the required AC-related information.¶
Unlike the AC service model [RFC9834], an AC is uniquely identified by a name within the scope of a node, not a network. A textual description of the AC may be provided
Also, in order to ease the correlation between the AC exposed at the service layer and the AC that is actually provisioned in the network operation, a reference to the AC exposed to the customer ('svc-ref') is stored in the "ietf-ac-ntw" module.¶
ACs that are terminated by a SAP are listed in the 'ac' container under '
In order to factorize common data that is provisioned for a group of ACs, a set of profiles (Section 5.3) can be defined at the network level and then called under the node level. The information contained in a profile is thus inherited, unless the corresponding data node is refined at the AC level. In such a case, the value provided at the AC level takes precedence over the global one.¶
In contexts where the same AC is terminated by multiple peer SAPs (e.g., an AC with multiple CEs) but a subset of them have specific information, the module allows operators to:¶
Whenever a Parent AC is deleted, then all Child ACs of that AC MUST be deleted. Child ACs are referenced using 'child-ref'.¶
An AC may belong to one or multiple groups [RFC9181]. For example, the 'group-id' is used to associate redundancy or protection constraints with ACs.¶
The status of an AC can be tracked using 'status'. Both operational status and administrative status are maintained. A mismatch between the administrative status vs. the operational status can be used as a trigger to detect anomalies.¶
An AC can be characterized using Layer 2 connectivity (Section 5.4), Layer 3 connectivity (Section 5.5), routing protocols (Section 5.6), Operations, Administration, and Maintenance (OAM) (Section 5.7), security (Section 5.8), and service (Section 5.9) considerations. Features are used to tag conditional portions to accommodate various deployments (support of Layer 2 ACs, Layer 3 ACs, IPv4, IPv6, routing protocols, Bidirectional Forwarding Detection (BFD), etc.).¶
5.2. References
The AC network module defines a set of groupings depicted in Figure 7 for referencing purposes. These references are used within or outside the AC network module. The use of such groupings is consistent with the design in [RFC8345].¶
The groupings shown in Figure 7 contain the information necessary to reference:¶
5.3. Provisioning Profiles
The AC and specific provisioning profiles tree structure is shown in Figure 8.¶
Similar to [RFC9182] and [RFC9291], the exact definition of the specific provisioning profiles is local to each service provider. The model only includes an identifier for these profiles in order to ease identifying and binding local policies when building an AC. As shown in Figure 8, the following identifiers can be included:¶
- 'encryption
-profile -identifier' : -
An encryption profile refers to a set of policies related to the encryption schemes and setup that can be applied on the AC. See also Section 5.8.¶
- 'qos
-profile -identifier' : -
A Quality of Service (QoS) profile refers to a set of policies such as classification, marking, and actions (e.g., [RFC3644]). See also Section 5.9.¶
- 'failure
-detection -profile -identifier' : -
A failure detection profile refers to a set of failure detection policies such as Bidirectional Forwarding Detection (BFD) policies [RFC5880] that can be invoked when building an AC. Such a profile can be, for example, referenced in static routes (Section 5.6.1) or under the OAM level (Section 5.7). The use of this profile is similar to the detailed examples depicted in Appendices A.11.3 and A.12 of [RFC9834].¶
- 'forwarding
-profile -identifier' : -
A forwarding profile refers to the policies that apply to the forwarding of packets conveyed over an AC. Such policies may consist of, for example, applying Access Control Lists (ACLs) as in Section 5.9.¶
- 'routing
-profile -identifier' : -
A routing profile refers to a set of routing policies that will be invoked (e.g., BGP policies) for an AC. Refer to Section 5.6.¶
The 'ac-profile' defines parameters that can be factorized among a set of ACs. Each profile is identified by a 'name' that is unique in a network. Some of the data nodes can be adjusted at the node level. These adjusted values take precedence over the values in the profile.¶
5.4. L2 Connection
The 'l2-connection' container is used to manage the Layer 2 properties of an AC (mainly, the PE side of an AC). The Layer 2 connection tree structure is shown in Figure 9.¶
The 'encapsulation' container specifies the Layer 2 encapsulation to use (if any) and allows the configuration of the relevant tags. Also, the model supports tag manipulation operations (e.g., tag rewrite).¶
The 'l2
Specific Layer 2 sub-interfaces may be required to be configured in some implementations
To accommodate implementations that require internal bridging, a local bridge reference can be specified in 'local
A reference to the bearer used by this AC is maintained using 'bearer
5.5. IP Connection
This 'ip-connection' container is used to group Layer 3 connectivity information, particularly the IP addressing information, of an AC.¶
The Layer 3 connection tree structure is shown in Figure 10.¶
A distinct Layer 3 interface other than the interface indicated under the 'l2-connection' container may be needed to terminate the Layer 3 connectivity. The identifier of such an interface is included in 'l3
This container can include IPv4, IPv6, or both if dual-stack is enabled. For both IPv4 and IPv6, the IP connection supports three IP address assignment modes for customer addresses: provider DHCP, DHCP relay, and static addressing. Note that for the IPv6 case, Stateless Address Autoconfigurati
For both IPv4 and IPv6, 'address
For IPv6, if 'address
In some deployment contexts (e.g., network merging), multiple IP subnets may be used in a transition period. For such deployments, multiple ACs (typically, two) with overlapping information may be maintained during a transition period. The correlation between these ACs may rely upon the same 'svc-ref'.¶
5.6. Routing
The overall routing subtree structure is shown in Figure 11.¶
Multiple routing instances
The type of a routing instance is indicated in 'type'.
The values of this attribute are those defined in [RFC9181] (the
'routing
One or multiple routing profiles
5.6.1. Static Routing
The static routing subtree structure is shown in Figure 12.¶
The following data nodes can be defined for a given IP prefix:¶
- 'lan-tag':
-
Indicates a local tag (e.g., 'myfavorite
-lan' ) that is used to enforce local policies.¶ - 'next-hop':
-
Indicates the next hop to be used for the static route.¶
It can be identified by an IP address, a predefined next-hop type (e.g., 'discard' or 'local-link'), etc.¶
- 'bfd':
-
Indicates whether BFD is enabled or disabled for this static route entry. A BFD profile may also be provided.¶
- 'metric':
-
Indicates the metric associated with the static route entry. This metric is used when the route is exported into an IGP.¶
- 'preference':
-
Indicates the preference associated with the static route entry.¶
This preference is used to select a preferred route among routes to the same destination prefix.¶
- 'status':
-
Used to convey the status of a static route entry. This data node can also be used to control the (de)activation of individual static route entries.¶
5.6.2. BGP
The BGP routing subtree structure is shown in Figure 13.¶
The following data nodes are supported for each 'peer-group':¶
- 'name':
-
Defines a name for the peer group.¶
- 'local-address':
-
Specifies an address or a reference to an interface to use when establishing the BGP transport session.¶
- 'description':
-
Includes a description of the peer group.¶
- 'apply-policy':
-
Lists a set of import/export policies [RFC9067] to apply for this group.¶
- 'local-as':
-
Indicates a local Autonomous System Number (ASN).¶
- 'peer-as':
-
Indicates the peer's ASN.¶
- 'address
-family' : -
Indicates the address family of the peer. It can be set to 'ipv4', 'ipv6', or 'dual-stack'.¶
This address family might be used together with the service type that uses an AC (e.g., 'vpn-type' [RFC9182]) to derive the appropriate Address Family Identifiers (AFIs) / Subsequent Address Family Identifiers (SAFIs) that will be part of the derived device configurations (e.g., unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128) as defined in Section 4.3.4 of [RFC4364]).¶
- 'role':
-
Specifies the BGP role in a session. Role values are taken from the list defined in Section 4 of [RFC9234].¶
- 'multihop':
-
Indicates the number of allowed IP hops to reach a BGP peer.¶
- 'as-override':
-
If set, this parameter indicates whether ASN override is enabled, i.e., replacing the ASN of the customer specified in the AS_PATH BGP attribute with the ASN identified in the 'local- as' attribute.¶
- 'allow-own-as':
-
Used in some topologies (e.g., hub-and-spoke) to allow the provider's ASN to be included in the AS_PATH BGP attribute received from a peer. Loops are prevented by setting 'allow-own-as' to a maximum number of the provider's ASN occurrences. By default, this parameter is set to '0' (that is, reject any AS_PATH attribute that includes the provider's ASN).¶
- 'prepend
-global -as' : -
When distinct ASNs are configured at the node and AC levels, this parameter controls whether the ASN provided at the node level is prepended to the AS_PATH attribute.¶
- 'send
-default -route' : -
Controls whether default routes can be advertised to the peer.¶
- 'site
-of -origin' : -
Meant to uniquely identify the set of routes learned from a site via a particular AC. It is used to prevent routing loops (Section 7 of [RFC4364]). The Site of Origin attribute is encoded as a Route Origin Extended Community.¶
- 'ipv6
-site -of -origin' : -
Carries an IPv6 Address Specific BGP Extended Community that is used to indicate the Site of Origin [RFC5701]. It is used to prevent routing loops.¶
- 'redistribute
-connected' : -
Controls whether the AC is advertised to other PEs.¶
- 'bgp
-max -prefix' : - Controls the behavior when a prefix maximum is reached.¶
- 'max-prefix':
-
Indicates the maximum number of BGP prefixes allowed in a session for this group. If the limit is reached, the action indicated in 'violate
-action' will be followed.¶ - 'warning
-threshold' : -
A warning notification is triggered when this limit is reached.¶
- 'violate
-action' : -
Indicates which action to execute when the maximum number of BGP prefixes is reached. Examples of such actions include sending a warning message, discarding extra paths from the peer, or restarting the session.¶
- 'restart-timer':
-
Indicates, in seconds, the time interval after which the BGP session will be reestablished.¶
- 'bgp-timers':
-
Two timers can be captured in this container: (1) 'hold-time', which is the time interval that will be used for the Hold Timer (Section 4.2 of [RFC4271]) when establishing a BGP session and (2) 'keepalive', which is the time interval for the KeepaliveTimer between a PE and a BGP peer (Section 4.4 of [RFC4271]).¶
Both timers are expressed in seconds.¶
- 'bfd':
-
Indicates whether BFD is enabled or disabled for this neighbor. A BFD profile to apply may also be provided.¶
- 'authentication'
: -
The module adheres to the recommendations in Section 13.2 of [RFC4364], as it allows enabling the TCP Authentication Option (TCP-AO) [RFC5925] and accommodates the installed base that makes use of MD5.¶
This version of the model assumes that parameters specific to the TCP-AO are preconfigured as part of the key chain that is referenced in the model. No assumption is made about how such a key chain is preconfigured. However, the structure of the key chain should cover data nodes beyond those in [RFC8177], mainly SendID and RecvID (Section 3.1 of [RFC5925]).¶
For each neighbor, the following data nodes are supported in addition to similar parameters that are provided for a peer group:¶
5.6.3. OSPF
The OSPF routing subtree structure is shown in Figure 14.¶
The following OSPF data nodes are supported:¶
- 'address
-family' : -
Indicates whether IPv4, IPv6, or both address families are to be activated.¶
When the IPv4 or dual-stack address family is requested, it is up to the implementation (e.g., network orchestrator) to decide whether OSPFv2 [RFC4577] or OSPFv3 [RFC6565] is used to announce IPv4 routes.¶
- 'area-id':
-
Indicates the OSPF Area ID.¶
- 'metric':
-
Associates a metric with OSPF routes.¶
- 'sham-links':
-
Used to create OSPF sham links between two ACs sharing the same area and having a backdoor link (Section 4.2.7 of [RFC4577] and Section 5 of [RFC6565]).¶
- 'max-lsa':
-
Sets the maximum number of Link State Advertisements (LSAs) that the OSPF instance will accept.¶
- 'passive':
-
Controls whether an OSPF interface is passive or active.¶
- 'authentication'
: -
Controls the authentication schemes to be enabled for the OSPF instance. The module supports authentication options that are common to both OSPF versions: the Authentication Trailer for OSPFv2 [RFC5709] [RFC7474] and OSPFv3 [RFC7166]; as such, the model does not support [RFC4552].¶
- 'status':
-
Indicates the status of the OSPF routing instance.¶
5.6.4. IS-IS
The IS-IS routing subtree structure is shown in Figure 15.¶
The following IS-IS data nodes are supported:¶
- 'address
-family' : -
Indicates whether IPv4, IPv6, or both address families are to be activated.¶
- 'area-address':
-
Indicates the IS-IS area address.¶
- 'level':
-
Indicates the IS-IS level: Level 1, Level 2, or both.¶
- 'metric':
-
Associates a metric with IS-IS routes.¶
- 'passive':
-
Controls whether an IS-IS interface is passive or active.¶
- 'authentication'
: -
Controls the authentication schemes to be enabled for the IS-IS instance. Both the specification of a key chain [RFC8177] and the direct specification of key and authentication algorithms are supported.¶
- 'status':
-
Indicates the status of the IS-IS routing instance.¶
5.6.5. RIP
The RIP routing subtree structure is shown in Figure 16.¶
The following RIP data nodes are supported:¶
- 'address
-family' : -
Indicates whether IPv4, IPv6, or both address families are to be activated. This parameter is used to determine whether RIPv2 [RFC2453], RIP Next Generation (RIPng) [RFC2080], or both are to be enabled.¶
- 'timers':
-
Indicates the following timers (expressed in seconds):¶
- 'default
-metric' : -
Sets the default RIP metric.¶
- 'authentication'
: -
Controls the authentication schemes to be enabled for the RIP instance.¶
- 'status':
-
Indicates the status of the RIP routing instance.¶
5.6.6. VRRP
The VRRP subtree structure is shown in Figure 17.¶
The following VRRP data nodes are supported:¶
- 'address
-family' : -
Indicates whether IPv4, IPv6, or both address families are to be activated. Note that VRRP version 3 [RFC9568] supports both IPv4 and IPv6.¶
- 'vrrp-group':
-
Used to identify the VRRP group.¶
- 'backup-peer':
-
Carries the IP address of the peer.¶
- 'virtual
-ip -address' : -
Includes virtual IP addresses for a single VRRP group.¶
- 'priority':
-
Assigns the VRRP election priority for the backup virtual router.¶
- 'ping-reply':
-
Controls whether the VRRP speaker should reply to ping requests.¶
- 'status':
-
Indicates the status of the VRRP instance.¶
Note that no authentication data node is included for VRRP, as there isn't any type of VRRP authentication at this time (see Section 9 of [RFC9568]).¶
5.7. OAM
The OAM subtree structure is shown in Figure 18.¶
The following OAM data nodes can be specified for each BFD session:¶
- 'dest-addr':
-
Specifies the BFD peer address. This data node is mapped to 'remote
-address' of the BFD container in [RFC9834]. 'dest-address' is used here to ease the mapping with the underlying device model defined in [RFC9127].¶ - 'source
-address' : -
Specifies the local IP address or interface to use for the session. This data node is mapped to 'local-address' of the BFD container in [RFC9834]. 'source
-address' is used here to ease the mapping with the underlying device model defined in [RFC9127].¶ - 'failure
-detection -profile -ref' : -
Refers to a BFD profile in Section 5.3.¶
- 'network-ref':
-
Includes a network reference to uniquely identify a BFD profile.¶
- 'session-type':
-
Indicates which BFD flavor is used to set up the session (e.g., classic BFD [RFC5880], Seamless BFD [RFC7880]). By default, it is assumed that the BFD session will follow the behavior specified in [RFC5880].¶
- 'desired
-min -tx -interval' : -
The minimum interval, in microseconds, to use when transmitting BFD Control packets, less any jitter applied.¶
- 'required
-min -rx -interval' : -
The minimum interval, in microseconds, between received BFD Control packets, less any jitter applied by the sender.¶
- 'local
-multiplier' : -
The negotiated transmit interval, multiplied by this value, provides the detection time for the peer.¶
- 'holdtime':
-
Used to indicate the expected BFD holddown time, in milliseconds.¶
- 'authentication'
: -
Includes the required information to enable the BFD authentication modes discussed in Section 6.7 of [RFC5880]. In particular, 'meticulous' controls the activation of meticulous mode as discussed in Sections 6.7.3 and 6.7.4 of [RFC5880].¶
- 'status':
-
Indicates the status of BFD.¶
5.8. Security
The security subtree structure is shown in Figure 19. The 'security' container specifies the encryption to be applied to traffic for a given AC. The model can be used to directly control the encryption to be applied (e.g., Layer 2 or Layer 3 encryption) or invoke a local encryption profile.¶
5.9. Service
The service subtree structure is shown in Figure 20.¶
The service data nodes are defined as follows:¶
- 'mtu':
-
Specifies the Layer 2 MTU, in bytes, for the AC.¶
- 'svc
-pe -to -ce -bandwidth' and 'svc -ce -to -pe -bandwidth' : -
Specify the service bandwidth for the AC.¶
- 'svc
-pe -to -ce -bandwidth' : - Indicates the inbound bandwidth of the connection (i.e., download bandwidth from the service provider to the site).¶
- 'svc
-ce -to -pe -bandwidth' : - Indicates the outbound bandwidth of the connection (i.e., upload bandwidth from the site to the service provider).¶
'svc
-pe -to -ce -bandwidth' and 'svc -ce -to -pe -bandwidth' can be represented using the Committed Information Rate (CIR), the Committed Burst Size (CBS), the Excess Information Rate (EIR), the Excess Burst Size (EBS), the Peak Information Rate (PIR), and the Peak Burst Size (PBS). CIR, EIR, and PIR are expressed in bps, while CBS, EBS, and PBS are expressed in bytes.¶ The following types, defined in [RFC9181], can be used to indicate the bandwidth type:¶
- 'svc
- 'qos':
-
Specifies a list of QoS profiles to apply for this AC.¶
- 'access
-control -list' : -
Specifies a list of ACL profiles to apply for this AC.¶
6. YANG Module
This module uses types defined in [RFC6991], [RFC8177], [RFC8294], [RFC8343], [RFC9067], [RFC9181], [RFC9833], and [IEEE802.1Qcp].¶
7. Security Considerations
This section is modeled after the template described in Section 3.7.1 of [YANG-GUIDELINES].¶
The "ietf-ac-ntw" YANG module defines a data model that is designed to be accessed via YANG-based management protocols, such as NETCONF [RFC6241] and RESTCONF [RFC8040]. These protocols have to use a secure transport layer (e.g., SSH [RFC4252], TLS [RFC8446], and QUIC [RFC9000]) and have to use mutual authentication.¶
The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.¶
There are a number of data nodes defined in this YANG module that are
writable
- 'specific
-provisioning -profiles' : -
This container includes a set of sensitive data that influences how an AC is delivered. For example, an attacker who has access to these data nodes may be able to manipulate routing policies, QoS policies, or encryption properties. These data nodes are defined with "nacm
:default -deny - write" tagging [RFC9833].¶ - 'ac':
-
An attacker who is able to access network nodes can undertake various attacks, such as modify the attributes of an AC (e.g., QoS, bandwidth, routing protocols, keying material), leading to malfunctioning of services that are delivered over that AC and therefore to Service Level Agreement (SLA) violations. In addition, an attacker could attempt to add a new AC. By also using NACM to prevent unauthorized access, such activity can be detected by adequately monitoring and tracking network configuration changes.¶
Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or
notification) to these data nodes. Specifically, the following
subtrees and data nodes have particular sensitivities
- 'ac':
-
Unauthorized access to this subtree can disclose the identity of a customer 'peer-sap-id'.¶
- 'l2-connection' and 'ip
-connection' : -
An attacker can retrieve privacy-related information, which can be used to track a customer. Disclosing such information may be considered a violation of the customer
-provider trust relationship.¶ - 'keying
-material' and 'customer -key -chain' : -
An attacker can retrieve the cryptographic keys protecting an AC (routing, in particular). These keys could be used to inject spoofed routing advertisements.¶
There are no particularly sensitive RPC or action operations.¶
Several data nodes ('bgp', 'ospf', 'isis', 'rip', and 'customer
Section 5.8 specifies the encryption to be applied to traffic for a given AC.¶
8. IANA Considerations
IANA has registered the following URI in the "ns" subregistry within the "IETF XML Registry" [RFC3688]:¶
- URI:
- urn
:ietf :params :xml :ns :yang :ietf -ac -ntw¶ - Registrant Contact:
- The IESG.¶
- XML:
- N/A; the requested URI is an XML namespace.¶
IANA has registered the following YANG module in the "YANG Module Names" registry [RFC6020] within the "YANG Parameters" registry group:¶
9. References
9.1. Normative References
- [IEEE802.1Qcp]
-
IEEE, "IEEE Standard for Local and metropolitan area networks
--Bridges and Bridged Networks , IEEE Std 802.1Qcp-2018, DOI 10--Amendment 30: YANG Data Model" .1109 , , <https:///IEEESTD .2018 .8467507 doi >..org /10 .1109 /IEEESTD .2018 .8467507 - [RFC2080]
-
Malkin, G. and R. Minnear, "RIPng for IPv6", RFC 2080, DOI 10
.17487 , , <https:///RFC2080 www >..rfc -editor .org /info /rfc2080 - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC2453]
-
Malkin, G., "RIP Version 2", STD 56, RFC 2453, DOI 10
.17487 , , <https:///RFC2453 www >..rfc -editor .org /info /rfc2453 - [RFC3688]
-
Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10
.17487 , , <https:///RFC3688 www >..rfc -editor .org /info /rfc3688 - [RFC4271]
-
Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10
.17487 , , <https:///RFC4271 www >..rfc -editor .org /info /rfc4271 - [RFC4364]
-
Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, DOI 10
.17487 , , <https:///RFC4364 www >..rfc -editor .org /info /rfc4364 - [RFC4577]
-
Rosen, E., Psenak, P., and P. Pillay-Esnault, "OSPF as the Provider
/Customer Edge Protocol for BGP/MPLS IP Virtual Private Networks (VPNs)" , RFC 4577, DOI 10.17487 , , <https:///RFC4577 www >..rfc -editor .org /info /rfc4577 - [RFC5701]
-
Rekhter, Y., "IPv6 Address Specific BGP Extended Community Attribute", RFC 5701, DOI 10
.17487 , , <https:///RFC5701 www >..rfc -editor .org /info /rfc5701 - [RFC5709]
-
Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic Authentication", RFC 5709, DOI 10
.17487 , , <https:///RFC5709 www >..rfc -editor .org /info /rfc5709 - [RFC5880]
-
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10
.17487 , , <https:///RFC5880 www >..rfc -editor .org /info /rfc5880 - [RFC5925]
-
Touch, J., Mankin, A., and R. Bonica, "The TCP Authentication Option", RFC 5925, DOI 10
.17487 , , <https:///RFC5925 www >..rfc -editor .org /info /rfc5925 - [RFC6020]
-
Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10
.17487 , , <https:///RFC6020 www >..rfc -editor .org /info /rfc6020 - [RFC6565]
-
Pillay-Esnault, P., Moyer, P., Doyle, J., Ertekin, E., and M. Lundberg, "OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol", RFC 6565, DOI 10
.17487 , , <https:///RFC6565 www >..rfc -editor .org /info /rfc6565 - [RFC6991]
-
Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10
.17487 , , <https:///RFC6991 www >..rfc -editor .org /info /rfc6991 - [RFC7166]
-
Bhatia, M., Manral, V., and A. Lindem, "Supporting Authentication Trailer for OSPFv3", RFC 7166, DOI 10
.17487 , , <https:///RFC7166 www >..rfc -editor .org /info /rfc7166 - [RFC7474]
-
Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., "Security Extension for OSPFv2 When Using Manual Key Management", RFC 7474, DOI 10
.17487 , , <https:///RFC7474 www >..rfc -editor .org /info /rfc7474 - [RFC7950]
-
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10
.17487 , , <https:///RFC7950 www >..rfc -editor .org /info /rfc7950 - [RFC8077]
-
Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)", STD 84, RFC 8077, DOI 10
.17487 , , <https:///RFC8077 www >..rfc -editor .org /info /rfc8077 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8177]
-
Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. Zhang, "YANG Data Model for Key Chains", RFC 8177, DOI 10
.17487 , , <https:///RFC8177 www >..rfc -editor .org /info /rfc8177 - [RFC8294]
-
Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, "Common YANG Data Types for the Routing Area", RFC 8294, DOI 10
.17487 , , <https:///RFC8294 www >..rfc -editor .org /info /rfc8294 - [RFC8341]
-
Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10
.17487 , , <https:///RFC8341 www >..rfc -editor .org /info /rfc8341 - [RFC8342]
-
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10
.17487 , , <https:///RFC8342 www >..rfc -editor .org /info /rfc8342 - [RFC8343]
-
Bjorklund, M., "A YANG Data Model for Interface Management", RFC 8343, DOI 10
.17487 , , <https:///RFC8343 www >..rfc -editor .org /info /rfc8343 - [RFC8345]
-
Clemm, A., Medved, J., Varga, R., Bahadur, N., Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Network Topologies", RFC 8345, DOI 10
.17487 , , <https:///RFC8345 www >..rfc -editor .org /info /rfc8345 - [RFC9067]
-
Qu, Y., Tantsura, J., Lindem, A., and X. Liu, "A YANG Data Model for Routing Policy", RFC 9067, DOI 10
.17487 , , <https:///RFC9067 www >..rfc -editor .org /info /rfc9067 - [RFC9181]
-
Barguil, S., Gonzalez de Dios, O., Ed., Boucadair, M., Ed., and Q. Wu, "A Common YANG Data Model for Layer 2 and Layer 3 VPNs", RFC 9181, DOI 10
.17487 , , <https:///RFC9181 www >..rfc -editor .org /info /rfc9181 - [RFC9182]
-
Barguil, S., Gonzalez de Dios, O., Ed., Boucadair, M., Ed., Munoz, L., and A. Aguado, "A YANG Network Data Model for Layer 3 VPNs", RFC 9182, DOI 10
.17487 , , <https:///RFC9182 www >..rfc -editor .org /info /rfc9182 - [RFC9291]
-
Boucadair, M., Ed., Gonzalez de Dios, O., Ed., Barguil, S., and L. Munoz, "A YANG Network Data Model for Layer 2 VPNs", RFC 9291, DOI 10
.17487 , , <https:///RFC9291 www >..rfc -editor .org /info /rfc9291 - [RFC9408]
-
Boucadair, M., Ed., Gonzalez de Dios, O., Barguil, S., Wu, Q., and V. Lopez, "A YANG Network Data Model for Service Attachment Points (SAPs)", RFC 9408, DOI 10
.17487 , , <https:///RFC9408 www >..rfc -editor .org /info /rfc9408 - [RFC9568]
-
Lindem, A. and A. Dogra, "Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and IPv6", RFC 9568, DOI 10
.17487 , , <https:///RFC9568 www >..rfc -editor .org /info /rfc9568 - [RFC9833]
-
Boucadair, M., Ed., Roberts, R., Ed., Gonzalez de Dios, O., Barguil, S., and B. Wu, "A Common YANG Data Model for Attachment Circuits", RFC 9833, DOI 10
.17487 , , <https:///RFC9833 www >..rfc -editor .org /info /rfc9833 - [RFC9834]
-
Boucadair, M., Ed., Roberts, R., Ed., Gonzalez de Dios, O., Barguil, S., and B. Wu, "YANG Data Models for Bearers and Attachment Circuits as a Service (ACaaS)", RFC 9834, DOI 10
.17487 , , <https:///RFC9834 www >..rfc -editor .org /info /rfc9834
9.2. Informative References
- [RFC3644]
-
Snir, Y., Ramberg, Y., Strassner, J., Cohen, R., and B. Moore, "Policy Quality of Service (QoS) Information Model", RFC 3644, DOI 10
.17487 , , <https:///RFC3644 www >..rfc -editor .org /info /rfc3644 - [RFC4252]
-
Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Authentication Protocol", RFC 4252, DOI 10
.17487 , , <https:///RFC4252 www >..rfc -editor .org /info /rfc4252 - [RFC4552]
-
Gupta, M. and N. Melam, "Authentication
/Confidentiality for OSPFv3" , RFC 4552, DOI 10.17487 , , <https:///RFC4552 www >..rfc -editor .org /info /rfc4552 - [RFC4862]
-
Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfigurati
on" , RFC 4862, DOI 10.17487 , , <https:///RFC4862 www >..rfc -editor .org /info /rfc4862 - [RFC6241]
-
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10
.17487 , , <https:///RFC6241 www >..rfc -editor .org /info /rfc6241 - [RFC7665]
-
Halpern, J., Ed. and C. Pignataro, Ed., "Service Function Chaining (SFC) Architecture", RFC 7665, DOI 10
.17487 , , <https:///RFC7665 www >..rfc -editor .org /info /rfc7665 - [RFC7880]
-
Pignataro, C., Ward, D., Akiya, N., Bhatia, M., and S. Pallagatti, "Seamless Bidirectional Forwarding Detection (S-BFD)", RFC 7880, DOI 10
.17487 , , <https:///RFC7880 www >..rfc -editor .org /info /rfc7880 - [RFC8040]
-
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10
.17487 , , <https:///RFC8040 www >..rfc -editor .org /info /rfc8040 - [RFC8299]
-
Wu, Q., Ed., Litkowski, S., Tomotaki, L., and K. Ogaki, "YANG Data Model for L3VPN Service Delivery", RFC 8299, DOI 10
.17487 , , <https:///RFC8299 www >..rfc -editor .org /info /rfc8299 - [RFC8340]
-
Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10
.17487 , , <https:///RFC8340 www >..rfc -editor .org /info /rfc8340 - [RFC8446]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10
.17487 , , <https:///RFC8446 www >..rfc -editor .org /info /rfc8446 - [RFC8466]
-
Wen, B., Fioccola, G., Ed., Xie, C., and L. Jalil, "A YANG Data Model for Layer 2 Virtual Private Network (L2VPN) Service Delivery", RFC 8466, DOI 10
.17487 , , <https:///RFC8466 www >..rfc -editor .org /info /rfc8466 - [RFC8695]
-
Liu, X., Sarda, P., and V. Choudhary, "A YANG Data Model for the Routing Information Protocol (RIP)", RFC 8695, DOI 10
.17487 , , <https:///RFC8695 www >..rfc -editor .org /info /rfc8695 - [RFC8969]
-
Wu, Q., Ed., Boucadair, M., Ed., Lopez, D., Xie, C., and L. Geng, "A Framework for Automating Service and Network Management with YANG", RFC 8969, DOI 10
.17487 , , <https:///RFC8969 www >..rfc -editor .org /info /rfc8969 - [RFC9000]
-
Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10
.17487 , , <https:///RFC9000 www >..rfc -editor .org /info /rfc9000 - [RFC9127]
-
Rahman, R., Ed., Zheng, L., Ed., Jethanandani, M., Ed., Pallagatti, S., and G. Mirsky, "YANG Data Model for Bidirectional Forwarding Detection (BFD)", RFC 9127, DOI 10
.17487 , , <https:///RFC9127 www >..rfc -editor .org /info /rfc9127 - [RFC9234]
-
Azimov, A., Bogomazov, E., Bush, R., Patel, K., and K. Sriram, "Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages", RFC 9234, DOI 10
.17487 , , <https:///RFC9234 www >..rfc -editor .org /info /rfc9234 - [RFC9543]
-
Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S., Makhijani, K., Contreras, L., and J. Tantsura, "A Framework for Network Slices in Networks Built from IETF Technologies", RFC 9543, DOI 10
.17487 , , <https:///RFC9543 www >..rfc -editor .org /info /rfc9543 - [RFC9836]
-
Boucadair, M., Ed., Roberts, R., Barguil, S., and O. Gonzalez de Dios, "A YANG Data Model for Augmenting VPN Service and Network Models with Attachment Circuits", RFC 9836, DOI 10
.17487 , , <https:///RFC9836 www >..rfc -editor .org /info /rfc9836 - [YANG
-GUIDELINES] -
Bierman, A., Boucadair, M., and Q. Wu, "Guidelines for Authors and Reviewers of Documents Containing YANG Data Models", Work in Progress, Internet-Draft, draft
-ietf , , <https://-netmod -rfc8407bis -28 datatracker >..ietf .org /doc /html /draft -ietf -netmod -rfc8407bis -28
Appendix A. Examples
A.1. VPLS
Let us consider the example depicted in Figure 21 with two customer terminating points (CE1 and CE2). Let us also assume that the bearers to attach these CEs to the provider network are already in place. References to identify these bearers are shown in the figure.¶
The AC service model [RFC9834] can be used by the provider to manage and expose the ACs over existing bearers as shown in Figure 22.¶
The provisioned AC at PE1 can be retrieved using the AC network model as depicted in Figure 23. A similar query can be used for the AC at PE2.¶
Also, the AC network model can be used to retrieve the list of SAPs to which the ACs are bound as shown in Figure 23.¶
Acknowledgments
This document builds on [RFC9182] and [RFC9291].¶
Thanks to Moti Morgenstern for the review and comments.¶
Thanks to Martin Björklund for the YANG Doctors review, Gyan Mishra for an early RTGDIR review, Joel Halpern for the RTGDIR review, Giuseppe Fioccola for the OPSDIR review, and Russ Housley for the SECDIR review.¶
Thanks to Krzysztof Szarkowicz for the shepherd review.¶
Thanks for Mahesh Jethanandani for the AD review.¶