| rfc8299v3.txt | rfc8299.txt | |||
|---|---|---|---|---|
| skipping to change at page 2, line 48 | skipping to change at page 2, line 48 | |||
| 6.2.3. Multicast Service . . . . . . . . . . . . . . . . . . 29 | 6.2.3. Multicast Service . . . . . . . . . . . . . . . . . . 29 | |||
| 6.2.4. Extranet VPNs . . . . . . . . . . . . . . . . . . . . 30 | 6.2.4. Extranet VPNs . . . . . . . . . . . . . . . . . . . . 30 | |||
| 6.3. Site Overview . . . . . . . . . . . . . . . . . . . . . . 32 | 6.3. Site Overview . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 6.3.1. Devices and Locations . . . . . . . . . . . . . . . . 33 | 6.3.1. Devices and Locations . . . . . . . . . . . . . . . . 33 | |||
| 6.3.2. Site Network Accesses . . . . . . . . . . . . . . . . 34 | 6.3.2. Site Network Accesses . . . . . . . . . . . . . . . . 34 | |||
| 6.4. Site Role . . . . . . . . . . . . . . . . . . . . . . . . 36 | 6.4. Site Role . . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 6.5. Site Belonging to Multiple VPNs . . . . . . . . . . . . . 37 | 6.5. Site Belonging to Multiple VPNs . . . . . . . . . . . . . 37 | |||
| 6.5.1. Site VPN Flavor . . . . . . . . . . . . . . . . . . . 37 | 6.5.1. Site VPN Flavor . . . . . . . . . . . . . . . . . . . 37 | |||
| 6.5.2. Attaching a Site to a VPN . . . . . . . . . . . . . . 41 | 6.5.2. Attaching a Site to a VPN . . . . . . . . . . . . . . 41 | |||
| 6.6. Deciding Where to Connect the Site . . . . . . . . . . . 47 | 6.6. Deciding Where to Connect the Site . . . . . . . . . . . 47 | |||
| 6.6.1. Constraint: Device . . . . . . . . . . . . . . . . . 47 | 6.6.1. Constraint: Device . . . . . . . . . . . . . . . . . 48 | |||
| 6.6.2. Constraint/Parameter: Site Location . . . . . . . . . 48 | 6.6.2. Constraint/Parameter: Site Location . . . . . . . . . 48 | |||
| 6.6.3. Constraint/Parameter: Access Type . . . . . . . . . . 49 | 6.6.3. Constraint/Parameter: Access Type . . . . . . . . . . 49 | |||
| 6.6.4. Constraint: Access Diversity . . . . . . . . . . . . 50 | 6.6.4. Constraint: Access Diversity . . . . . . . . . . . . 50 | |||
| 6.6.5. Infeasible Access Placement . . . . . . . . . . . . . 59 | 6.6.5. Infeasible Access Placement . . . . . . . . . . . . . 60 | |||
| 6.6.6. Examples of Access Placement . . . . . . . . . . . . 59 | 6.6.6. Examples of Access Placement . . . . . . . . . . . . 60 | |||
| 6.6.7. Route Distinguisher and VRF Allocation . . . . . . . 80 | 6.6.7. Route Distinguisher and VRF Allocation . . . . . . . 82 | |||
| 6.7. Site Network Access Availability . . . . . . . . . . . . 81 | 6.7. Site Network Access Availability . . . . . . . . . . . . 83 | |||
| 6.8. Traffic Protection . . . . . . . . . . . . . . . . . . . 82 | 6.8. Traffic Protection . . . . . . . . . . . . . . . . . . . 84 | |||
| 6.9. Security . . . . . . . . . . . . . . . . . . . . . . . . 83 | 6.9. Security . . . . . . . . . . . . . . . . . . . . . . . . 85 | |||
| 6.9.1. Authentication . . . . . . . . . . . . . . . . . . . 83 | 6.9.1. Authentication . . . . . . . . . . . . . . . . . . . 85 | |||
| 6.9.2. Encryption . . . . . . . . . . . . . . . . . . . . . 83 | 6.9.2. Encryption . . . . . . . . . . . . . . . . . . . . . 85 | |||
| 6.10. Management . . . . . . . . . . . . . . . . . . . . . . . 84 | 6.10. Management . . . . . . . . . . . . . . . . . . . . . . . 86 | |||
| 6.11. Routing Protocols . . . . . . . . . . . . . . . . . . . . 85 | 6.11. Routing Protocols . . . . . . . . . . . . . . . . . . . . 87 | |||
| 6.11.1. Handling of Dual Stack . . . . . . . . . . . . . . . 86 | 6.11.1. Handling of Dual Stack . . . . . . . . . . . . . . . 88 | |||
| 6.11.2. LAN Directly Connected to SP Network . . . . . . . . 87 | 6.11.2. LAN Directly Connected to SP Network . . . . . . . . 89 | |||
| 6.11.3. LAN Directly Connected to SP Network with Redundancy 87 | 6.11.3. LAN Directly Connected to SP Network with Redundancy 89 | |||
| 6.11.4. Static Routing . . . . . . . . . . . . . . . . . . . 88 | 6.11.4. Static Routing . . . . . . . . . . . . . . . . . . . 90 | |||
| 6.11.5. RIP Routing . . . . . . . . . . . . . . . . . . . . 88 | 6.11.5. RIP Routing . . . . . . . . . . . . . . . . . . . . 90 | |||
| 6.11.6. OSPF Routing . . . . . . . . . . . . . . . . . . . . 89 | 6.11.6. OSPF Routing . . . . . . . . . . . . . . . . . . . . 91 | |||
| 6.11.7. BGP Routing . . . . . . . . . . . . . . . . . . . . 90 | 6.11.7. BGP Routing . . . . . . . . . . . . . . . . . . . . 92 | |||
| 6.12. Service . . . . . . . . . . . . . . . . . . . . . . . . . 92 | 6.12. Service . . . . . . . . . . . . . . . . . . . . . . . . . 94 | |||
| 6.12.1. Bandwidth . . . . . . . . . . . . . . . . . . . . . 93 | 6.12.1. Bandwidth . . . . . . . . . . . . . . . . . . . . . 95 | |||
| 6.12.2. MTU . . . . . . . . . . . . . . . . . . . . . . . . 93 | 6.12.2. MTU . . . . . . . . . . . . . . . . . . . . . . . . 95 | |||
| 6.12.3. QoS . . . . . . . . . . . . . . . . . . . . . . . . 93 | 6.12.3. QoS . . . . . . . . . . . . . . . . . . . . . . . . 95 | |||
| 6.12.4. Multicast . . . . . . . . . . . . . . . . . . . . . 102 | 6.12.4. Multicast . . . . . . . . . . . . . . . . . . . . . 104 | |||
| 6.13. Enhanced VPN Features . . . . . . . . . . . . . . . . . . 102 | 6.13. Enhanced VPN Features . . . . . . . . . . . . . . . . . . 104 | |||
| 6.13.1. Carriers' Carriers . . . . . . . . . . . . . . . . . 102 | 6.13.1. Carriers' Carriers . . . . . . . . . . . . . . . . . 104 | |||
| 6.14. External ID References . . . . . . . . . . . . . . . . . 104 | 6.14. External ID References . . . . . . . . . . . . . . . . . 106 | |||
| 6.15. Defining NNIs . . . . . . . . . . . . . . . . . . . . . . 104 | 6.15. Defining NNIs . . . . . . . . . . . . . . . . . . . . . . 106 | |||
| 6.15.1. Defining an NNI with the Option A Flavor . . . . . . 106 | 6.15.1. Defining an NNI with the Option A Flavor . . . . . . 108 | |||
| 6.15.2. Defining an NNI with the Option B Flavor . . . . . . 109 | 6.15.2. Defining an NNI with the Option B Flavor . . . . . . 112 | |||
| 6.15.3. Defining an NNI with the Option C Flavor . . . . . . 112 | 6.15.3. Defining an NNI with the Option C Flavor . . . . . . 114 | |||
| 7. Service Model Usage Example . . . . . . . . . . . . . . . . . 113 | 7. Service Model Usage Example . . . . . . . . . . . . . . . . . 116 | |||
| 8. Interaction with Other YANG Models . . . . . . . . . . . . . 119 | 8. Interaction with Other YANG Models . . . . . . . . . . . . . 122 | |||
| 9. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 124 | 9. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 127 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 183 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 186 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 183 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 187 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 184 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 187 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 184 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 187 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 185 | 12.2. Informative References . . . . . . . . . . . . . . . . . 189 | |||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 186 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 189 | |||
| Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 186 | Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 190 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 186 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 190 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a Layer 3 VPN service data model written in | This document defines a Layer 3 VPN service data model written in | |||
| YANG. The model defines service configuration elements that can be | YANG. The model defines service configuration elements that can be | |||
| used in communication protocols between customers and network | used in communication protocols between customers and network | |||
| operators. Those elements can also be used as input to automated | operators. Those elements can also be used as input to automated | |||
| control and configuration applications. | control and configuration applications. | |||
| This document obsoletes [RFC8049]; it creates a new module with the | This document obsoletes [RFC8049]; it creates a new module with the | |||
| skipping to change at page 7, line 7 | skipping to change at page 7, line 7 | |||
| o Modify description for svc-input-bandwidth leaf and svc-output- | o Modify description for svc-input-bandwidth leaf and svc-output- | |||
| bandwidth leaf to make it consistent with the text in | bandwidth leaf to make it consistent with the text in | |||
| Section 6.12.1. | Section 6.12.1. | |||
| o Clarify the rational of the model in the Section 5. | o Clarify the rational of the model in the Section 5. | |||
| o Add text to clarify the way to achieve Per-VPN QoS policy. | o Add text to clarify the way to achieve Per-VPN QoS policy. | |||
| 1.4.1. Implementation Issues with RFC 8049 | 1.4.1. Implementation Issues with RFC 8049 | |||
| [RFC8049] made an initial attempt to define a YANG model for L3VPN | [RFC8049] made an initial attempt to define a YANG data model | |||
| services. After it was published it was discovered that, while the | forL3VPN services. After it was published it was discovered that, | |||
| YANG compiled it was broken from an implementation perspective. That | while the YANG compiled it was broken from an implementation | |||
| is, it was impossible to build a functional implementation of the | perspective. That is, it was impossible to build a functional | |||
| module. | implementation of the module. | |||
| Section 1.4 provides a full list of the changes since [RFC8049]. | Section 1.4 provides a full list of the changes since [RFC8049]. | |||
| Some of these changes remove ambiguities from the documented YANG, | Some of these changes remove ambiguities from the documented YANG, | |||
| while other changes fix the implementation issues. | while other changes fix the implementation issues. | |||
| 1. Several uses of 'must' expressions in the module were broken | 1. Several uses of 'must' expressions in the module were broken | |||
| badly enough that the module was not usable in the form it was | badly enough that the module was not usable in the form it was | |||
| published. While some compilers and YANG checkers found no | published. While some compilers and YANG checkers found no | |||
| issues (most YANG tools do not attempt to parse these | issues (most YANG tools do not attempt to parse these | |||
| expressions), other tools that really understand the XPATH in the | expressions), other tools that really understand the XPATH in the | |||
| skipping to change at page 15, line 38 | skipping to change at page 15, line 38 | |||
| | | | | | | inet:ipv6-prefix | | | | | | | inet:ipv6-prefix | |||
| | | | | | +--rw ipv4-dst-prefix? | | | | | | +--rw ipv4-dst-prefix? | |||
| | | | | | | inet:ipv4-prefix | | | | | | | inet:ipv4-prefix | |||
| | | | | | +--rw ipv6-dst-prefix? | | | | | | +--rw ipv6-dst-prefix? | |||
| | | | | | | inet:ipv6-prefix | | | | | | | inet:ipv6-prefix | |||
| | | | | | +--rw l4-src-port? | | | | | | +--rw l4-src-port? | |||
| | | | | | | inet:port-number | | | | | | | inet:port-number | |||
| | | | | | +--rw target-sites* svc-id | | | | | | +--rw target-sites* svc-id | |||
| | | | | | | {target-sites}? | | | | | | | {target-sites}? | |||
| | | | | | +--rw l4-src-port-range | | | | | | +--rw l4-src-port-range | |||
| | | | | | | +--rw lower-port? inet:port-number | | | | | | | +--rw lower-port? inet:port-number | |||
| | | | | | | +--rw upper-port? inet:port-number | | | | | | | +--rw upper-port? inet:port-number | |||
| | | | | | +--rw l4-dst-port? | | | | | | +--rw l4-dst-port? | |||
| | | | | | | inet:port-number | | | | | | | inet:port-number | |||
| | | | | | +--rw l4-dst-port-range | | | | | | +--rw l4-dst-port-range | |||
| | | | | | | +--rw lower-port? inet:port-number | | | | | | | +--rw lower-port? inet:port-number | |||
| | | | | | | +--rw upper-port? inet:port-number | | | | | | | +--rw upper-port? inet:port-number | |||
| | | | | | +--rw protocol-field? union | | | | | | +--rw protocol-field? union | |||
| | | | | +--:(match-application) | | | | | +--:(match-application) | |||
| | | | | +--rw match-application? identityref | | | | | +--rw match-application? identityref | |||
| | | | +--rw target-class-id? string | | | | +--rw target-class-id? string | |||
| | | +--rw qos-profile | | | +--rw qos-profile | |||
| | | +--rw (qos-profile)? | | | +--rw (qos-profile)? | |||
| | | +--:(standard) | | | +--:(standard) | |||
| | | | +--rw profile? leafref | | | | +--rw profile? leafref | |||
| | | +--:(custom) | | | +--:(custom) | |||
| | | +--rw classes {qos-custom}? | | | +--rw classes {qos-custom}? | |||
| skipping to change at page 16, line 30 | skipping to change at page 16, line 30 | |||
| | | | +--rw (flavor)? | | | | +--rw (flavor)? | |||
| | | | +--:(lowest) | | | | +--:(lowest) | |||
| | | | | +--rw use-lowest-jitter? | | | | | +--rw use-lowest-jitter? | |||
| | | | | empty | | | | | empty | |||
| | | | +--:(boundary) | | | | +--:(boundary) | |||
| | | | +--rw latency-boundary? | | | | +--rw latency-boundary? | |||
| | | | uint32 | | | | uint32 | |||
| | | +--rw bandwidth | | | +--rw bandwidth | |||
| | | +--rw guaranteed-bw-percent | | | +--rw guaranteed-bw-percent | |||
| | | | decimal64 | | | | decimal64 | |||
| | | +--rw end-to-end? empty | | | +--rw end-to-end? empty | |||
| | +--rw carrierscarrier {carrierscarrier}? | | +--rw carrierscarrier {carrierscarrier}? | |||
| | | +--rw signalling-type? enumeration | | | +--rw signalling-type? enumeration | |||
| | +--rw multicast {multicast}? | | +--rw multicast {multicast}? | |||
| | +--rw multicast-site-type? enumeration | | +--rw multicast-site-type? enumeration | |||
| | +--rw multicast-address-family | | +--rw multicast-address-family | |||
| | | +--rw ipv4? boolean {ipv4}? | | | +--rw ipv4? boolean {ipv4}? | |||
| | | +--rw ipv6? boolean {ipv6}? | | | +--rw ipv6? boolean {ipv6}? | |||
| | +--rw protocol-type? enumeration | | +--rw protocol-type? enumeration | |||
| +--rw traffic-protection {fast-reroute}? | +--rw traffic-protection {fast-reroute}? | |||
| | +--rw enabled? boolean | | +--rw enabled? boolean | |||
| skipping to change at page 20, line 8 | skipping to change at page 20, line 8 | |||
| | +--rw svc-mtu uint16 | | +--rw svc-mtu uint16 | |||
| | +--rw qos {qos}? | | +--rw qos {qos}? | |||
| | | +--rw qos-classification-policy | | | +--rw qos-classification-policy | |||
| | | | +--rw rule* [id] | | | | +--rw rule* [id] | |||
| | | | +--rw id string | | | | +--rw id string | |||
| | | | +--rw (match-type)? | | | | +--rw (match-type)? | |||
| | | | | +--:(match-flow) | | | | | +--:(match-flow) | |||
| | | | | | +--rw match-flow | | | | | | +--rw match-flow | |||
| | | | | | +--rw dscp? | | | | | | +--rw dscp? | |||
| | | | | | | inet:dscp | | | | | | | inet:dscp | |||
| | | | | | +--rw dot1p? uint8 | | | | | | +--rw dot1p? uint8 | |||
| | | | | | +--rw ipv4-src-prefix? | | | | | | +--rw ipv4-src-prefix? | |||
| | | | | | | inet:ipv4-prefix | | | | | | | inet:ipv4-prefix | |||
| | | | | | +--rw ipv6-src-prefix? | | | | | | +--rw ipv6-src-prefix? | |||
| | | | | | | inet:ipv6-prefix | | | | | | | inet:ipv6-prefix | |||
| | | | | | +--rw ipv4-dst-prefix? | | | | | | +--rw ipv4-dst-prefix? | |||
| | | | | | | inet:ipv4-prefix | | | | | | | inet:ipv4-prefix | |||
| | | | | | +--rw ipv6-dst-prefix? | | | | | | +--rw ipv6-dst-prefix? | |||
| | | | | | | inet:ipv6-prefix | | | | | | | inet:ipv6-prefix | |||
| | | | | | +--rw l4-src-port? | | | | | | +--rw l4-src-port? | |||
| | | | | | | inet:port-number | | | | | | | inet:port-number | |||
| | | | | | +--rw target-sites* svc-id | | | | | | +--rw target-sites* svc-id | |||
| | | | | | | {target-sites}? | | | | | | | {target-sites}? | |||
| | | | | | +--rw l4-src-port-range | | | | | | +--rw l4-src-port-range | |||
| | | | | | | +--rw lower-port? | | | | | | | +--rw lower-port? | |||
| | | | | | | | inet:port-number | | | | | | | | inet:port-number | |||
| | | | | | | +--rw upper-port? | | | | | | | +--rw upper-port? | |||
| | | | | | | inet:port-number | | | | | | | inet:port-number | |||
| | | | | | +--rw l4-dst-port? | | | | | | +--rw l4-dst-port? | |||
| | | | | | | inet:port-number | | | | | | | inet:port-number | |||
| | | | | | +--rw l4-dst-port-range | | | | | | +--rw l4-dst-port-range | |||
| | | | | | | +--rw lower-port? | | | | | | | +--rw lower-port? | |||
| | | | | | | | inet:port-number | | | | | | | | inet:port-number | |||
| | | | | | | +--rw upper-port? | | | | | | | +--rw upper-port? | |||
| | | | | | | inet:port-number | | | | | | | inet:port-number | |||
| | | | | | +--rw protocol-field? union | | | | | | +--rw protocol-field? union | |||
| | | | | +--:(match-application) | | | | | +--:(match-application) | |||
| | | | | +--rw match-application? | | | | | +--rw match-application? | |||
| | | | | identityref | | | | | identityref | |||
| | | | +--rw target-class-id? string | | | | +--rw target-class-id? string | |||
| | | +--rw qos-profile | | | +--rw qos-profile | |||
| | | +--rw (qos-profile)? | | | +--rw (qos-profile)? | |||
| | | +--:(standard) | | | +--:(standard) | |||
| | | | +--rw profile? leafref | | | | +--rw profile? leafref | |||
| | | +--:(custom) | | | +--:(custom) | |||
| | | +--rw classes {qos-custom}? | | | +--rw classes {qos-custom}? | |||
| | | +--rw class* [class-id] | | | +--rw class* [class-id] | |||
| | | +--rw class-id string | | | +--rw class-id string | |||
| | | +--rw direction? identityref | | | +--rw direction? identityref | |||
| | | +--rw rate-limit? decimal64 | | | +--rw rate-limit? decimal64 | |||
| | | +--rw latency | | | +--rw latency | |||
| | | | +--rw (flavor)? | | | | +-rw (flavor)? | |||
| | | | +--:(lowest) | | | | +--:(lowest) | |||
| | | | | +--rw use-lowest-latency? | | | | | +--rw use-lowest-latency? | |||
| | | | | empty | | | | | empty | |||
| | | | +--:(boundary) | | | | +--:(boundary) | |||
| | | | +--rw latency-boundary? | | | | +--rw latency-boundary? | |||
| | | | uint16 | | | | uint16 | |||
| | | +--rw jitter | | | +--rw jitter | |||
| | | | +--rw (flavor)? | | | | +-rw (flavor)? | |||
| | | | +--:(lowest) | | | | +--:(lowest) | |||
| | | | | +--rw use-lowest-jitter? | | | | | +--rw use-lowest-jitter? | |||
| | | | | empty | | | | | empty | |||
| | | | +--:(boundary) | | | | +--:(boundary) | |||
| | | | +--rw latency-boundary? | | | | +--rw latency-boundary? | |||
| | | | uint32 | | | | uint32 | |||
| | | +--rw bandwidth | | | +--rw bandwidth | |||
| | | +--rw guaranteed-bw-percent | | | +--rw guaranteed-bw-percent | |||
| | | | decimal64 | | | | decimal64 | |||
| | | +--rw end-to-end? | | | +--rw end-to-end? | |||
| | | empty | | | empty | |||
| | +--rw carrierscarrier {carrierscarrier}? | | +--rw carrierscarrier {carrierscarrier}? | |||
| | | +--rw signalling-type? enumeration | | | +--rw signalling-type? enumeration | |||
| | +--rw multicast {multicast}? | | +--rw multicast {multicast}? | |||
| | +--rw multicast-site-type? enumeration | | +--rw multicast-site-type? enumeration | |||
| skipping to change at page 22, line 32 | skipping to change at page 22, line 32 | |||
| The model defined in this document implements many features that | The model defined in this document implements many features that | |||
| allow implementations to be modular. As an example, an | allow implementations to be modular. As an example, an | |||
| implementation may support only IPv4 VPNs (IPv4 feature), IPv6 VPNs | implementation may support only IPv4 VPNs (IPv4 feature), IPv6 VPNs | |||
| (IPv6 feature), or both (by advertising both features). The routing | (IPv6 feature), or both (by advertising both features). The routing | |||
| protocols proposed to the customer may also be enabled through | protocols proposed to the customer may also be enabled through | |||
| features. This model also defines some features for options that are | features. This model also defines some features for options that are | |||
| more advanced, such as support for extranet VPNs (Section 6.2.4), | more advanced, such as support for extranet VPNs (Section 6.2.4), | |||
| site diversity (Section 6.6), and QoS (Section 6.12.3). | site diversity (Section 6.6), and QoS (Section 6.12.3). | |||
| In addition, as for any YANG model, this service model can be | In addition, as for any YANG data model, this service model can be | |||
| augmented to implement new behaviors or specific features. For | augmented to implement new behaviors or specific features. For | |||
| example, this model uses different options for IP address | example, this model uses different options for IP address | |||
| assignments; if those options do not fulfill all requirements, new | assignments; if those options do not fulfill all requirements, new | |||
| options can be added through augmentation. | options can be added through augmentation. | |||
| 6.2. VPN Service Overview | 6.2. VPN Service Overview | |||
| A vpn-service list item contains generic information about the VPN | A vpn-service list item contains generic information about the VPN | |||
| service. The "vpn-id" provided in the vpn-service list refers to an | service. The "vpn-id" provided in the vpn-service list refers to an | |||
| internal reference for this VPN service, while the customer name | internal reference for this VPN service, while the customer name | |||
| skipping to change at page 41, line 28 | skipping to change at page 41, line 28 | |||
| 6.5.2.1. Referencing a VPN | 6.5.2.1. Referencing a VPN | |||
| Referencing a vpn-id provides an easy way to attach a particular | Referencing a vpn-id provides an easy way to attach a particular | |||
| logical access to a VPN. This is the best way in the case of a | logical access to a VPN. This is the best way in the case of a | |||
| single VPN attachment or subVPN with a single VPN attachment per | single VPN attachment or subVPN with a single VPN attachment per | |||
| logical access. When referencing a vpn-id, the site-role setting | logical access. When referencing a vpn-id, the site-role setting | |||
| must be added to express the role of the site in the target VPN | must be added to express the role of the site in the target VPN | |||
| service topology. | service topology. | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNB</vpn-id> | <vpn-id>VPNB</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>SITE1</site-id> | <site-id>SITE1</site-id> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <management> | <management> | |||
| <type>customer-managed</type> | <type>customer-managed</type> | |||
| </management> | </management> | |||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <site-network-accesses> | <site-network-accesses> | |||
| <site-network-access> | <site-network-access> | |||
| <site-network-access-id>LA1</site-network-access-id> | <site-network-access-id>LA1</site-network-access-id> | |||
| <ip-connection> | <ip-connection> | |||
| <ipv4> | <ipv4> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <address-allocation-type> | |||
| </ipv4> | provider-dhcp | |||
| <ipv6> | </address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </ipv4> | |||
| </ipv6> | <ipv6> | |||
| </ip-connection> | <address-allocation-type> | |||
| <service> | provider-dhcp | |||
| <svc-mtu>1514</svc-mtu> | </address-allocation-type> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | </ipv6> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | </ip-connection> | |||
| </service> | <service> | |||
| <security> | <svc-mtu>1514</svc-mtu> | |||
| <encryption> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <layer>layer3</layer> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </encryption> | </service> | |||
| </security> | <security> | |||
| <location-reference>L1</location-reference> | <encryption> | |||
| <vpn-attachment> | <layer>layer3</layer> | |||
| <vpn-id>VPNA</vpn-id> | </encryption> | |||
| <site-role>spoke-role</site-role> | </security> | |||
| </vpn-attachment> | <location-reference>L1</location-reference> | |||
| </site-network-access> | <vpn-attachment> | |||
| <site-network-access> | <vpn-id>VPNA</vpn-id> | |||
| <site-network-access-id>LA2</site-network-access-id> | <site-role>spoke-role</site-role> | |||
| <ip-connection> | </vpn-attachment> | |||
| <ipv4> | </site-network-access> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <site-network-access> | |||
| </ipv4> | <site-network-access-id>LA2</site-network-access-id> | |||
| <ipv6> | <ip-connection> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <ipv4> | |||
| </ipv6> | <address-allocation-type> | |||
| </ip-connection> | provider-dhcp | |||
| <service> | </address-allocation-type> | |||
| <svc-mtu>1514</svc-mtu> | </ipv4> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | <ipv6> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <address-allocation-type> | |||
| </service> | provider-dhcp | |||
| <security> | </address-allocation-type> | |||
| <encryption> | </ipv6> | |||
| <layer>layer3</layer> | </ip-connection> | |||
| </encryption> | <service> | |||
| </security> | <svc-mtu>1514</svc-mtu> | |||
| <location-reference>L1</location-reference> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <vpn-attachment> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <vpn-id>VPNB</vpn-id> | </service> | |||
| <site-role>spoke-role</site-role> | <security> | |||
| </vpn-attachment> | <encryption> | |||
| </site-network-access> | <layer>layer3</layer> | |||
| </site-network-accesses> | </encryption> | |||
| </site> | </security> | |||
| </sites> | <location-reference>L1</location-reference> | |||
| </l3vpn-svc> | <vpn-attachment> | |||
| <vpn-id>VPNB</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| The example of a corresponding XML snippet above describes a subVPN | The example of a corresponding XML snippet above describes a subVPN | |||
| case where a site (SITE1) has two logical accesses (LA1 and LA2), | case where a site (SITE1) has two logical accesses (LA1 and LA2), | |||
| with LA1 attached to VPNA and LA2 attached to VPNB. | with LA1 attached to VPNA and LA2 attached to VPNB. | |||
| 6.5.2.2. VPN Policy | 6.5.2.2. VPN Policy | |||
| The "vpn-policy" list helps express a multiVPN scenario where a | The "vpn-policy" list helps express a multiVPN scenario where a | |||
| logical access belongs to multiple VPNs. Multiple VPN policies can | logical access belongs to multiple VPNs. Multiple VPN policies can | |||
| be created to handle the subVPN case where each logical access is | be created to handle the subVPN case where each logical access is | |||
| skipping to change at page 44, line 9 | skipping to change at page 44, line 25 | |||
| | | | | | | | | |||
| | (VPN3) | | | | (VPN3) | | | |||
| +------------------------------------------------------------+ | | +------------------------------------------------------------+ | | |||
| | | | | | | |||
| +---------------------------+ | +---------------------------+ | |||
| In the example above, Site5 is part of two VPNs: VPN3 and VPN2. It | In the example above, Site5 is part of two VPNs: VPN3 and VPN2. It | |||
| will play a Hub role in VPN2 and an any-to-any role in VPN3. We can | will play a Hub role in VPN2 and an any-to-any role in VPN3. We can | |||
| express such a multiVPN scenario with the following XML snippet: | express such a multiVPN scenario with the following XML snippet: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPN2</vpn-id> | <vpn-id>VPN2</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPN3</vpn-id> | <vpn-id>VPN3</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>Site5</site-id> | <site-id>Site5</site-id> | |||
| <devices> | <devices> | |||
| <device> | <device> | |||
| <device-id>D1</device-id> | <device-id>D1</device-id> | |||
| </device> | </device> | |||
| </devices> | </devices> | |||
| <management> | <management> | |||
| <type>provider-managed</type> | <type>provider-managed</type> | |||
| </management> | </management> | |||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <vpn-policies> | <vpn-policies> | |||
| <vpn-policy> | <vpn-policy> | |||
| <vpn-policy-id>POLICY1</vpn-policy-id> | <vpn-policy-id>POLICY1</vpn-policy-id> | |||
| <entries> | <entries> | |||
| <id>ENTRY1</id> | <id>ENTRY1</id> | |||
| <vpn> | <vpn> | |||
| <vpn-id>VPN2</vpn-id> | <vpn-id>VPN2</vpn-id> | |||
| <site-role>hub-role</site-role> | <site-role>hub-role</site-role> | |||
| </vpn> | </vpn> | |||
| </entries> | </entries> | |||
| <entries> | <entries> | |||
| <id>ENTRY2</id> | <id>ENTRY2</id> | |||
| <vpn> | <vpn> | |||
| <vpn-id>VPN3</vpn-id> | <vpn-id>VPN3</vpn-id> | |||
| <site-role>any-to-any-role</site-role> | <site-role>any-to-any-role</site-role> | |||
| </vpn> | </vpn> | |||
| </entries> | </entries> | |||
| </vpn-policy> | </vpn-policy> | |||
| </vpn-policies> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>LA1</site-network-access-id> | ||||
| <device-reference>D1</device-reference> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <vpn-attachment> | ||||
| <vpn-policy-id>POLICY1</vpn-policy-id> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </vpn-policies> | </site-network-accesses> | |||
| <site-network-accesses> | </site> | |||
| <site-network-access> | </sites> | |||
| <site-network-access-id>LA1</site-network-access-id> | </l3vpn-svc> | |||
| <device-reference>D1</device-reference> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <vpn-attachment> | ||||
| <vpn-policy-id>POLICY1</vpn-policy-id> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| Now, if a more-granular VPN attachment is necessary, filtering can be | Now, if a more-granular VPN attachment is necessary, filtering can be | |||
| used. For example, if only LAN1 from Site5 must be attached to VPN2 | used. For example, if only LAN1 from Site5 must be attached to VPN2 | |||
| as a Hub and only LAN2 must be attached to VPN3, the following XML | as a Hub and only LAN2 must be attached to VPN3, the following XML | |||
| snippet can be used: | snippet can be used: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| skipping to change at page 51, line 30 | skipping to change at page 52, line 4 | |||
| same PE as the targeted site-network-accesses. | same PE as the targeted site-network-accesses. | |||
| o same-bearer: The current site-network-access MUST be connected | o same-bearer: The current site-network-access MUST be connected | |||
| using the same bearer as the targeted site-network-accesses. | using the same bearer as the targeted site-network-accesses. | |||
| These constraint-types can be extended through augmentation. | These constraint-types can be extended through augmentation. | |||
| Each constraint is expressed as "The site-network-access S must be | Each constraint is expressed as "The site-network-access S must be | |||
| <constraint-type> (e.g., pe-diverse, pop-diverse) from these <target> | <constraint-type> (e.g., pe-diverse, pop-diverse) from these <target> | |||
| site-network-accesses." | site-network-accesses." | |||
| The group-id used to target some site-network-accesses may be the | The group-id used to target some site-network-accesses may be the | |||
| same as the one used by the current site-network-access. This eases | same as the one used by the current site-network-access. This eases | |||
| the configuration of scenarios where a group of site-network-access | the configuration of scenarios where a group of site-network-access | |||
| points has a constraint between the access points in the group. As | points has a constraint between the access points in the group. As | |||
| an example, if we want a set of sites (Site#1 to Site#5) to be | an example, if we want a set of sites (Site#1 to Site#5) to be | |||
| connected on different PEs, we can tag them with the same group-id | connected on different PEs, we can tag them with the same group-id | |||
| and express a pe-diverse constraint for this group-id with the | and express a pe-diverse constraint for this group-id with the | |||
| following XML snippet: | following XML snippet: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>SITE1</site-id> | <site-id>SITE1</site-id> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | ||||
| </location> | </locations> | |||
| </locations> | <management> | |||
| <management> | <type>customer-managed</type> | |||
| <type>customer-managed</type> | </management> | |||
| </management> | <site-network-accesses> | |||
| <site-network-accesses> | <site-network-access> | |||
| <site-network-access> | <site-network-access-id>1</site-network-access-id> | |||
| <site-network-access-id>1</site-network-access-id> | <ip-connection> | |||
| <ip-connection> | <ipv4> | |||
| <ipv4> | <address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | provider-dhcp | |||
| </ipv4> | </address-allocation-type> | |||
| <ipv6> | </ipv4> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <ipv6> | |||
| </ipv6> | <address-allocation-type> | |||
| </ip-connection> | provider-dhcp | |||
| <service> | </address-allocation-type> | |||
| <svc-mtu>1514</svc-mtu> | </ipv6> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | </ip-connection> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <service> | |||
| </service> | <svc-mtu>1514</svc-mtu> | |||
| <security> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <encryption> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <layer>layer3</layer> | </service> | |||
| </encryption> | <security> | |||
| </security> | <encryption> | |||
| <location-reference>L1</location-reference> | <layer>layer3</layer> | |||
| <access-diversity> | </encryption> | |||
| <groups> | </security> | |||
| <group> | <location-reference>L1</location-reference> | |||
| <group-id>10</group-id> | <access-diversity> | |||
| </group> | <groups> | |||
| </groups> | <group> | |||
| <constraints> | <group-id>10</group-id> | |||
| <constraint> | </group> | |||
| <constraint-type>pe-diverse</constraint-type> | </groups> | |||
| <target> | <constraints> | |||
| <group> | <constraint> | |||
| <group-id>10</group-id> | <constraint-type>pe-diverse</constraint-type> | |||
| </group> | <target> | |||
| </target> | <group> | |||
| </constraint> | <group-id>10</group-id> | |||
| </constraints> | </group> | |||
| </access-diversity> | </target> | |||
| <vpn-attachment> | </constraint> | |||
| <vpn-id>VPNA</vpn-id> | </constraints> | |||
| <site-role>spoke-role</site-role> | </access-diversity> | |||
| </vpn-attachment> | <vpn-attachment> | |||
| <vpn-id>VPNA</vpn-id> | ||||
| </site-network-access> | <site-role>spoke-role</site-role> | |||
| </site-network-accesses> | </vpn-attachment> | |||
| </site> | </site-network-access> | |||
| <site> | </site-network-accesses> | |||
| <site-id>SITE2</site-id> | </site> | |||
| <locations> | <site> | |||
| <location> | <site-id>SITE2</site-id> | |||
| <location-id>L1</location-id> | <locations> | |||
| </location> | <location> | |||
| </locations> | <location-id>L1</location-id> | |||
| <management> | </location> | |||
| <type>customer-managed</type> | </locations> | |||
| </management> | <management> | |||
| <security> | <type>customer-managed</type> | |||
| <encryption> | </management> | |||
| <layer>layer3</layer> | <security> | |||
| </encryption> | <encryption> | |||
| </security> | <layer>layer3</layer> | |||
| <site-network-accesses> | </encryption> | |||
| <site-network-access> | </security> | |||
| <site-network-access-id>1</site-network-access-id> | <site-network-accesses> | |||
| <ip-connection> | <site-network-access> | |||
| <ipv4> | <site-network-access-id>1</site-network-access-id> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <ip-connection> | |||
| </ipv4> | <ipv4> | |||
| <ipv6> | <address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | provider-dhcp | |||
| </ipv6> | </address-allocation-type> | |||
| </ip-connection> | </ipv4> | |||
| <service> | <ipv6> | |||
| <svc-mtu>1514</svc-mtu> | <address-allocation-type> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | provider-dhcp | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | </address-allocation-type> | |||
| </service> | </ipv6> | |||
| <security> | </ip-connection> | |||
| <encryption> | <service> | |||
| <layer>layer3</layer> | <svc-mtu>1514</svc-mtu> | |||
| </encryption> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| </security> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <location-reference>L1</location-reference> | </service> | |||
| <access-diversity> | <security> | |||
| <groups> | <encryption> | |||
| <group> | <layer>layer3</layer> | |||
| <group-id>10</group-id> | </encryption> | |||
| </group> | </security> | |||
| </groups> | <location-reference>L1</location-reference> | |||
| <constraints> | <access-diversity> | |||
| <constraint> | <groups> | |||
| <constraint-type>pe-diverse</constraint-type> | <group> | |||
| <target> | <group-id>10</group-id> | |||
| <group> | </group> | |||
| <group-id>10</group-id> | </groups> | |||
| </group> | <constraints> | |||
| </target> | <constraint> | |||
| </constraint> | <constraint-type>pe-diverse</constraint-type> | |||
| </constraints> | <target> | |||
| </access-diversity> | <group> | |||
| <vpn-attachment> | <group-id>10</group-id> | |||
| <vpn-id>VPNA</vpn-id> | </group> | |||
| <site-role>spoke-role</site-role> | </target> | |||
| </vpn-attachment> | </constraint> | |||
| </site-network-access> | </constraints> | |||
| </site-network-accesses> | </access-diversity> | |||
| </site> | <vpn-attachment> | |||
| ... | <vpn-id>VPNA</vpn-id> | |||
| <site> | <site-role>spoke-role</site-role> | |||
| <site-id>SITE5</site-id> | </vpn-attachment> | |||
| <locations> | </site-network-access> | |||
| <location> | </site-network-accesses> | |||
| <location-id>L1</location-id> | </site> | |||
| </location> | ... | |||
| </locations> | <site> | |||
| <management> | <site-id>SITE5</site-id> | |||
| <type>customer-managed</type> | <locations> | |||
| </management> | <location> | |||
| <security> | <location-id>L1</location-id> | |||
| <encryption> | </location> | |||
| <layer>layer3</layer> | </locations> | |||
| </encryption> | <management> | |||
| </security> | <type>customer-managed</type> | |||
| <site-network-accesses> | </management> | |||
| <site-network-access> | <security> | |||
| <site-network-access-id>1</site-network-access-id> | <encryption> | |||
| <ip-connection> | <layer>layer3</layer> | |||
| <ipv4> | </encryption> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </security> | |||
| </ipv4> | <site-network-accesses> | |||
| <ipv6> | <site-network-access> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <site-network-access-id>1</site-network-access-id> | |||
| </ipv6> | <ip-connection> | |||
| </ip-connection> | <ipv4> | |||
| <service> | <address-allocation-type> | |||
| <svc-mtu>1514</svc-mtu> | provider-dhcp | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | </address-allocation-type> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | </ipv4> | |||
| </service> | <ipv6> | |||
| <security> | <address-allocation-type> | |||
| <encryption> | provider-dhcp | |||
| <layer>layer3</layer> | </address-allocation-type> | |||
| </encryption> | </ipv6> | |||
| </security> | </ip-connection> | |||
| <location-reference>L1</location-reference> | <service> | |||
| <access-diversity> | <svc-mtu>1514</svc-mtu> | |||
| <groups> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <group> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <group-id>10</group-id> | </service> | |||
| </group> | <security> | |||
| </groups> | <encryption> | |||
| <constraints> | <layer>layer3</layer> | |||
| <constraint> | </encryption> | |||
| <constraint-type>pe-diverse</constraint-type> | </security> | |||
| <target> | <location-reference>L1</location-reference> | |||
| <group> | <access-diversity> | |||
| <group-id>10</group-id> | <groups> | |||
| </group> | <group> | |||
| </target> | <group-id>10</group-id> | |||
| </constraint> | </group> | |||
| </constraints> | </groups> | |||
| </access-diversity> | <constraints> | |||
| <vpn-attachment> | <constraint> | |||
| <vpn-id>VPNA</vpn-id> | <constraint-type>pe-diverse</constraint-type> | |||
| <site-role>spoke-role</site-role> | <target> | |||
| </vpn-attachment> | <group> | |||
| </site-network-access> | <group-id>10</group-id> | |||
| </site-network-accesses> | </group> | |||
| </site> | </target> | |||
| </sites> | </constraint> | |||
| </l3vpn-svc> | </constraints> | |||
| </access-diversity> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| The group-id used to target some site-network-accesses may also be | The group-id used to target some site-network-accesses may also be | |||
| different than the one used by the current site-network-access. This | different than the one used by the current site-network-access. This | |||
| can be used to express that a group of sites has some constraints | can be used to express that a group of sites has some constraints | |||
| against another group of sites, but there is no constraint within the | against another group of sites, but there is no constraint within the | |||
| group. For example, we consider a set of six sites and two groups; | group. For example, we consider a set of six sites and two groups; | |||
| we want to ensure that a site in the first group must be pop-diverse | we want to ensure that a site in the first group must be pop-diverse | |||
| from a site in the second group. The example of a corresponding XML | from a site in the second group. The example of a corresponding XML | |||
| snippet is described as follows: | snippet is described as follows: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | ||||
| </vpn-service> | </vpn-services> | |||
| </vpn-services> | <sites> | |||
| <sites> | <site> | |||
| <site> | <site-id>SITE1</site-id> | |||
| <site-id>SITE1</site-id> | <site-network-accesses> | |||
| <site-network-accesses> | <site-network-access> | |||
| <site-network-access> | <site-network-access-id>1</site-network-access-id> | |||
| <site-network-access-id>1</site-network-access-id> | <access-diversity> | |||
| <access-diversity> | <groups> | |||
| <groups> | <group> | |||
| <group> | <group-id>10</group-id> | |||
| <group-id>10</group-id> | </group> | |||
| </group> | </groups> | |||
| </groups> | <constraints> | |||
| <constraints> | <constraint> | |||
| <constraint> | <constraint-type>pop-diverse</constraint-type> | |||
| <constraint-type>pop-diverse</constraint-type> | <target> | |||
| <target> | <group> | |||
| <group> | <group-id>20</group-id> | |||
| <group-id>20</group-id> | </group> | |||
| </group> | </target> | |||
| </target> | </constraint> | |||
| </constraint> | </constraints> | |||
| </constraints> | </access-diversity> | |||
| </access-diversity> | <vpn-attachment> | |||
| <vpn-attachment> | <vpn-id>VPNA</vpn-id> | |||
| <vpn-id>VPNA</vpn-id> | <site-role>spoke-role</site-role> | |||
| <site-role>spoke-role</site-role> | </vpn-attachment> | |||
| </vpn-attachment> | </site-network-access> | |||
| </site-network-access> | </site-network-accesses> | |||
| </site-network-accesses> | </site> | |||
| </site> | <site> | |||
| <site> | <site-id>SITE2</site-id> | |||
| <site-id>SITE2</site-id> | <site-network-accesses> | |||
| <site-network-accesses> | <site-network-access> | |||
| <site-network-access> | <site-network-access-id>1</site-network-access-id> | |||
| <site-network-access-id>1</site-network-access-id> | <access-diversity> | |||
| <access-diversity> | <groups> | |||
| <groups> | <group> | |||
| <group> | <group-id>10</group-id> | |||
| <group-id>10</group-id> | </group> | |||
| </group> | </groups> | |||
| </groups> | <constraints> | |||
| <constraints> | <constraint> | |||
| <constraint> | <constraint-type>pop-diverse</constraint-type> | |||
| <constraint-type>pop-diverse</constraint-type> | <target> | |||
| <target> | <group> | |||
| <group> | <group-id>20</group-id> | |||
| <group-id>20</group-id> | </group> | |||
| </group> | </target> | |||
| </target> | </constraint> | |||
| </constraint> | </constraints> | |||
| </constraints> | </access-diversity> | |||
| </access-diversity> | <vpn-attachment> | |||
| <vpn-attachment> | <vpn-id>VPNA</vpn-id> | |||
| <vpn-id>VPNA</vpn-id> | <site-role>spoke-role</site-role> | |||
| <site-role>spoke-role</site-role> | </vpn-attachment> | |||
| </vpn-attachment> | </site-network-access> | |||
| </site-network-access> | </site-network-accesses> | |||
| </site-network-accesses> | </site> | |||
| </site> | ... | |||
| ... | ||||
| <site> | ||||
| <site-id>SITE5</site-id> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>1</site-network-access-id> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | ||||
| <group-id>20</group-id> | ||||
| </group> | ||||
| </groups> | ||||
| <constraints> | ||||
| <constraint> | ||||
| <constraint-type>pop-diverse</constraint-type> | ||||
| <target> | ||||
| <group> | ||||
| <group-id>10</group-id> | ||||
| </group> | ||||
| </target> | ||||
| </constraint> | ||||
| </constraints> | ||||
| </access-diversity> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| <site> | ||||
| <site-id>SITE6</site-id> | ||||
| <locations> | ||||
| <location> | ||||
| <location-id>L1</location-id> | ||||
| </location> | ||||
| </locations> | ||||
| <management> | ||||
| <type>customer-managed</type> | ||||
| </management> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>1</site-network-access-id> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | ||||
| <group-id>20</group-id> | ||||
| </group> | ||||
| </groups> | ||||
| <constraints> | ||||
| <constraint> | ||||
| <constraint-type>pop-diverse</constraint-type> | ||||
| <target> | ||||
| <group> | ||||
| <group-id>10</group-id> | ||||
| </group> | ||||
| </target> | ||||
| </constraint> | ||||
| </constraints> | ||||
| </access-diversity> | <site> | |||
| <vpn-attachment> | <site-id>SITE5</site-id> | |||
| <vpn-id>VPNA</vpn-id> | <site-network-accesses> | |||
| <site-role>spoke-role</site-role> | <site-network-access> | |||
| </vpn-attachment> | <site-network-access-id>1</site-network-access-id> | |||
| </site-network-access> | <access-diversity> | |||
| </site-network-accesses> | <groups> | |||
| </site> | <group> | |||
| </sites> | <group-id>20</group-id> | |||
| </l3vpn-svc> | </group> | |||
| </groups> | ||||
| <constraints> | ||||
| <constraint> | ||||
| <constraint-type>pop-diverse</constraint-type> | ||||
| <target> | ||||
| <group> | ||||
| <group-id>10</group-id> | ||||
| </group> | ||||
| </target> | ||||
| </constraint> | ||||
| </constraints> | ||||
| </access-diversity> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| <site> | ||||
| <site-id>SITE6</site-id> | ||||
| <locations> | ||||
| <location> | ||||
| <location-id>L1</location-id> | ||||
| </location> | ||||
| </locations> | ||||
| <management> | ||||
| <type>customer-managed</type> | ||||
| </management> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>1</site-network-access-id> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | ||||
| <group-id>20</group-id> | ||||
| </group> | ||||
| </groups> | ||||
| <constraints> | ||||
| <constraint> | ||||
| <constraint-type>pop-diverse</constraint-type> | ||||
| <target> | ||||
| <group> | ||||
| <group-id>10</group-id> | ||||
| </group> | ||||
| </target> | ||||
| </constraint> | ||||
| </constraints> | ||||
| </access-diversity> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| 6.6.5. Infeasible Access Placement | 6.6.5. Infeasible Access Placement | |||
| Some infeasible access placement scenarios could be created via the | Some infeasible access placement scenarios could be created via the | |||
| proposed configuration framework. Such infeasible access placement | proposed configuration framework. Such infeasible access placement | |||
| scenarios could result from constraints that are too restrictive, | scenarios could result from constraints that are too restrictive, | |||
| leading to infeasible access placement in the network or conflicting | leading to infeasible access placement in the network or conflicting | |||
| constraints that would also lead to infeasible access placement. An | constraints that would also lead to infeasible access placement. An | |||
| example of conflicting rules would be to request that site-network- | example of conflicting rules would be to request that site-network- | |||
| access#1 be pe-diverse from site-network-access#2 and to request at | access#1 be pe-diverse from site-network-access#2 and to request at | |||
| skipping to change at page 60, line 22 | skipping to change at page 60, line 45 | |||
| | | POP#2 | | | POP#2 | |||
| | | +---------+ | | | +---------+ | |||
| | | | PE4 | | | | | PE4 | | |||
| | |---site-network-access#2----| PE5 | | | |---site-network-access#2----| PE5 | | |||
| | | | PE6 | | | | | PE6 | | |||
| | | +---------+ | | | +---------+ | |||
| +-------+ | +-------+ | |||
| This scenario can be expressed with the following XML snippet: | This scenario can be expressed with the following XML snippet: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>SITE1</site-id> | <site-id>SITE1</site-id> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <management> | <management> | |||
| <type>customer-managed</type> | <type>customer-managed</type> | |||
| </management> | </management> | |||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <site-network-accesses> | <site-network-accesses> | |||
| <site-network-access> | <site-network-access> | |||
| <site-network-access-id>1</site-network-access-id> | <site-network-access-id>1</site-network-access-id> | |||
| <ip-connection> | <ip-connection> | |||
| <ipv4> | <ipv4> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <address-allocation-type> | |||
| </ipv4> | provider-dhcp | |||
| <ipv6> | </address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </ipv4> | |||
| </ipv6> | <ipv6> | |||
| </ip-connection> | <address-allocation-type> | |||
| <service> | provider-dhcp | |||
| <svc-mtu>1514</svc-mtu> | </address-allocation-type> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | </ipv6> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | </ip-connection> | |||
| </service> | <service> | |||
| <security> | <svc-mtu>1514</svc-mtu> | |||
| <encryption> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <layer>layer3</layer> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </encryption> | </service> | |||
| </security> | <security> | |||
| <location-reference>L1</location-reference> | <encryption> | |||
| <access-diversity> | <layer>layer3</layer> | |||
| <groups> | </encryption> | |||
| <group> | </security> | |||
| <group-id>10</group-id> | <location-reference>L1</location-reference> | |||
| </group> | <access-diversity> | |||
| </groups> | <groups> | |||
| <constraints> | <group> | |||
| <constraint> | <group-id>10</group-id> | |||
| <constraint-type>pop-diverse</constraint-type> | </group> | |||
| <target> | </groups> | |||
| <group> | <constraints> | |||
| <group-id>20</group-id> | <constraint> | |||
| </group> | <constraint-type>pop-diverse</constraint-type> | |||
| </target> | <target> | |||
| </constraint> | <group> | |||
| </constraints> | <group-id>20</group-id> | |||
| </access-diversity> | </group> | |||
| <vpn-attachment> | </target> | |||
| <vpn-id>VPNA</vpn-id> | </constraint> | |||
| <site-role>spoke-role</site-role> | </constraints> | |||
| </vpn-attachment> | </access-diversity> | |||
| </site-network-access> | <vpn-attachment> | |||
| <site-network-access> | <vpn-id>VPNA</vpn-id> | |||
| <site-network-access-id>2</site-network-access-id> | <site-role>spoke-role</site-role> | |||
| <ip-connection> | </vpn-attachment> | |||
| <ipv4> | </site-network-access> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <site-network-access> | |||
| </ipv4> | <site-network-access-id>2</site-network-access-id> | |||
| <ipv6> | <ip-connection> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <ipv4> | |||
| </ipv6> | <address-allocation-type> | |||
| </ip-connection> | provider-dhcp | |||
| <service> | </address-allocation-type> | |||
| <svc-mtu>1514</svc-mtu> | </ipv4> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | <ipv6> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <address-allocation-type> | |||
| </service> | provider-dhcp | |||
| <security> | </address-allocation-type> | |||
| <encryption> | </ipv6> | |||
| <layer>layer3</layer> | </ip-connection> | |||
| </encryption> | <service> | |||
| </security> | <svc-mtu>1514</svc-mtu> | |||
| <location-reference>L1</location-reference> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <access-diversity> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <groups> | </service> | |||
| <group> | <security> | |||
| <group-id>20</group-id> | <encryption> | |||
| </group> | <layer>layer3</layer> | |||
| </groups> | </encryption> | |||
| <constraints> | </security> | |||
| <constraint> | <location-reference>L1</location-reference> | |||
| <constraint-type>pop-diverse</constraint-type> | <access-diversity> | |||
| <target> | <groups> | |||
| <group> | <group> | |||
| <group-id>10</group-id> | <group-id>20</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| </access-diversity> | <constraint-type>pop-diverse</constraint-type> | |||
| <vpn-attachment> | <target> | |||
| <vpn-id>VPNA</vpn-id> | <group> | |||
| <site-role>spoke-role</site-role> | <group-id>10</group-id> | |||
| </vpn-attachment> | </group> | |||
| </site-network-access> | </target> | |||
| </site-network-accesses> | </constraint> | |||
| </site> | </constraints> | |||
| </sites> | </access-diversity> | |||
| </l3vpn-svc> | <vpn-attachment> | |||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| But it can also be expressed with the following XML snippet: | But it can also be expressed with the following XML snippet: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| skipping to change at page 64, line 37 | skipping to change at page 65, line 32 | |||
| o We need to create two groups of sites: Group#10, which is composed | o We need to create two groups of sites: Group#10, which is composed | |||
| of Office#1, Office#2, and Office#3; and Group#20, which is | of Office#1, Office#2, and Office#3; and Group#20, which is | |||
| composed of Office#4, Office#5, and Office#6. | composed of Office#4, Office#5, and Office#6. | |||
| o Sites within Group#10 must be pop-diverse from sites within | o Sites within Group#10 must be pop-diverse from sites within | |||
| Group#20, and vice versa. | Group#20, and vice versa. | |||
| o Sites within Group#10 must be linecard-diverse from other sites in | o Sites within Group#10 must be linecard-diverse from other sites in | |||
| Group#10 (same for Group#20). | Group#10 (same for Group#20). | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>Office1</site-id> | <site-id>Office1</site-id> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <management> | <management> | |||
| <type>customer-managed</type> | <type>customer-managed</type> | |||
| </management> | </management> | |||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>1</site-network-access-id> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <location-reference>L1</location-reference> | <site-network-accesses> | |||
| <access-diversity> | <site-network-access> | |||
| <groups> | <site-network-access-id>1</site-network-access-id> | |||
| <group> | <ip-connection> | |||
| <group-id>10</group-id> | <ipv4> | |||
| </group> | <address-allocation-type> | |||
| </groups> | provider-dhcp | |||
| <constraints> | </address-allocation-type> | |||
| <constraint> | </ipv4> | |||
| <constraint-type>pop-diverse</constraint-type> | <ipv6> | |||
| <target> | <address-allocation-type> | |||
| <group> | provider-dhcp | |||
| <group-id>20</group-id> | </address-allocation-type> | |||
| </group> | </ipv6> | |||
| </target> | </ip-connection> | |||
| </constraint> | <service> | |||
| <constraint> | <svc-mtu>1514</svc-mtu> | |||
| <constraint-type>linecard-diverse</constraint-type> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <target> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | <group> | |||
| <group-id>10</group-id> | <group-id>10</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| </access-diversity> | <constraint-type>pop-diverse</constraint-type> | |||
| <vpn-attachment> | <target> | |||
| <vpn-id>VPNA</vpn-id> | <group> | |||
| <site-role>spoke-role</site-role> | <group-id>20</group-id> | |||
| </vpn-attachment> | </group> | |||
| </site-network-access> | </target> | |||
| </site-network-accesses> | </constraint> | |||
| </site> | <constraint> | |||
| <site> | <constraint-type>linecard-diverse</constraint-type> | |||
| <site-id>Office2</site-id> | <target> | |||
| <locations> | <group> | |||
| <location> | <group-id>10</group-id> | |||
| <location-id>L1</location-id> | </group> | |||
| </location> | </target> | |||
| </locations> | </constraint> | |||
| <management> | </constraints> | |||
| <type>customer-managed</type> | </access-diversity> | |||
| </management> | <vpn-attachment> | |||
| <security> | <vpn-id>VPNA</vpn-id> | |||
| <encryption> | <site-role>spoke-role</site-role> | |||
| <layer>layer3</layer> | </vpn-attachment> | |||
| </encryption> | </site-network-access> | |||
| </security> | </site-network-accesses> | |||
| <site-network-accesses> | </site> | |||
| <site-network-access> | <site> | |||
| <site-network-access-id>1</site-network-access-id> | <site-id>Office2</site-id> | |||
| <ip-connection> | <locations> | |||
| <ipv4> | <location> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <location-id>L1</location-id> | |||
| </ipv4> | </location> | |||
| <ipv6> | </locations> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <management> | |||
| </ipv6> | <type>customer-managed</type> | |||
| </ip-connection> | </management> | |||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <location-reference>L1</location-reference> | <site-network-accesses> | |||
| <access-diversity> | <site-network-access> | |||
| <groups> | <site-network-access-id>1</site-network-access-id> | |||
| <group> | <ip-connection> | |||
| <group-id>10</group-id> | <ipv4> | |||
| </group> | <address-allocation-type> | |||
| </groups> | provider-dhcp | |||
| <constraints> | </address-allocation-type> | |||
| <constraint> | </ipv4> | |||
| <constraint-type>pop-diverse</constraint-type> | <ipv6> | |||
| <target> | <address-allocation-type> | |||
| <group> | provider-dhcp | |||
| <group-id>20</group-id> | </address-allocation-type> | |||
| </group> | </ipv6> | |||
| </target> | </ip-connection> | |||
| </constraint> | <service> | |||
| <constraint> | <svc-mtu>1514</svc-mtu> | |||
| <constraint-type>linecard-diverse</constraint-type> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <target> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | <group> | |||
| <group-id>10</group-id> | <group-id>10</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| </access-diversity> | <constraint-type>pop-diverse</constraint-type> | |||
| <vpn-attachment> | <target> | |||
| <vpn-id>VPNA</vpn-id> | <group> | |||
| <site-role>spoke-role</site-role> | <group-id>20</group-id> | |||
| </vpn-attachment> | </group> | |||
| </site-network-access> | </target> | |||
| </site-network-accesses> | </constraint> | |||
| </site> | <constraint> | |||
| <site> | <constraint-type>linecard-diverse</constraint-type> | |||
| <site-id>Office3</site-id> | <target> | |||
| <locations> | <group> | |||
| <location> | <group-id>10</group-id> | |||
| <location-id>L1</location-id> | </group> | |||
| </location> | </target> | |||
| </locations> | </constraint> | |||
| <management> | </constraints> | |||
| <type>customer-managed</type> | </access-diversity> | |||
| </management> | <vpn-attachment> | |||
| <security> | <vpn-id>VPNA</vpn-id> | |||
| <encryption> | <site-role>spoke-role</site-role> | |||
| <layer>layer3</layer> | </vpn-attachment> | |||
| </site-network-access> | ||||
| </encryption> | </site-network-accesses> | |||
| </security> | </site> | |||
| <site-network-accesses> | <site> | |||
| <site-network-access> | <site-id>Office3</site-id> | |||
| <site-network-access-id>1</site-network-access-id> | <locations> | |||
| <ip-connection> | <location> | |||
| <ipv4> | <location-id>L1</location-id> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </location> | |||
| </ipv4> | </locations> | |||
| <ipv6> | <management> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <type>customer-managed</type> | |||
| </ipv6> | </management> | |||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <location-reference>L1</location-reference> | <site-network-accesses> | |||
| <access-diversity> | <site-network-access> | |||
| <groups> | <site-network-access-id>1</site-network-access-id> | |||
| <group> | <ip-connection> | |||
| <group-id>10</group-id> | <ipv4> | |||
| </group> | <address-allocation-type> | |||
| </groups> | provider-dhcp | |||
| <constraints> | </address-allocation-type> | |||
| <constraint> | </ipv4> | |||
| <constraint-type>pop-diverse</constraint-type> | <ipv6> | |||
| <target> | <address-allocation-type> | |||
| <group> | provider-dhcp | |||
| <group-id>20</group-id> | </address-allocation-type> | |||
| </group> | </ipv6> | |||
| </target> | </ip-connection> | |||
| </constraint> | <service> | |||
| <constraint> | <svc-mtu>1514</svc-mtu> | |||
| <constraint-type>linecard-diverse</constraint-type> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <target> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | <group> | |||
| <group-id>10</group-id> | <group-id>10</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| <constraint-type>pop-diverse</constraint-type> | ||||
| </access-diversity> | <target> | |||
| <vpn-attachment> | <group> | |||
| <vpn-id>VPNA</vpn-id> | <group-id>20</group-id> | |||
| <site-role>spoke-role</site-role> | </group> | |||
| </vpn-attachment> | </target> | |||
| </site-network-access> | </constraint> | |||
| </site-network-accesses> | <constraint> | |||
| </site> | <constraint-type>linecard-diverse</constraint-type> | |||
| <site> | <target> | |||
| <site-id>Office4</site-id> | <group> | |||
| <locations> | <group-id>10</group-id> | |||
| <location> | </group> | |||
| <location-id>L1</location-id> | </target> | |||
| </location> | </constraint> | |||
| </locations> | </constraints> | |||
| <management> | </access-diversity> | |||
| <type>customer-managed</type> | <vpn-attachment> | |||
| </management> | <vpn-id>VPNA</vpn-id> | |||
| <security> | <site-role>spoke-role</site-role> | |||
| <encryption> | </vpn-attachment> | |||
| <layer>layer3</layer> | </site-network-access> | |||
| </encryption> | </site-network-accesses> | |||
| </security> | </site> | |||
| <site-network-accesses> | <site> | |||
| <site-network-access> | <site-id>Office4</site-id> | |||
| <site-network-access-id>1</site-network-access-id> | <locations> | |||
| <ip-connection> | <location> | |||
| <ipv4> | <location-id>L1</location-id> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </location> | |||
| </ipv4> | </locations> | |||
| <ipv6> | <management> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <type>customer-managed</type> | |||
| </ipv6> | </management> | |||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <location-reference>L1</location-reference> | <site-network-accesses> | |||
| <access-diversity> | <site-network-access> | |||
| <groups> | <site-network-access-id>1</site-network-access-id> | |||
| <group> | <ip-connection> | |||
| <group-id>20</group-id> | <ipv4> | |||
| </group> | <address-allocation-type> | |||
| </groups> | provider-dhcp | |||
| <constraints> | </address-allocation-type> | |||
| <constraint> | </ipv4> | |||
| <constraint-type>pop-diverse</constraint-type> | <ipv6> | |||
| <target> | <address-allocation-type> | |||
| <group> | provider-dhcp | |||
| <group-id>10</group-id> | </address-allocation-type> | |||
| </group> | </ipv6> | |||
| </target> | </ip-connection> | |||
| </constraint> | <service> | |||
| <constraint> | <svc-mtu>1514</svc-mtu> | |||
| <constraint-type>linecard-diverse</constraint-type> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <target> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | <group> | |||
| <group-id>20</group-id> | <group-id>20</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| </access-diversity> | <constraint-type>pop-diverse</constraint-type> | |||
| <vpn-attachment> | <target> | |||
| <vpn-id>VPNA</vpn-id> | <group> | |||
| <site-role>spoke-role</site-role> | <group-id>10</group-id> | |||
| </vpn-attachment> | </group> | |||
| </site-network-access> | </target> | |||
| </site-network-accesses> | </constraint> | |||
| </site> | <constraint> | |||
| <site> | <constraint-type>linecard-diverse</constraint-type> | |||
| <site-id>Office5</site-id> | <target> | |||
| <locations> | <group> | |||
| <location> | <group-id>20</group-id> | |||
| <location-id>L1</location-id> | </group> | |||
| </location> | </target> | |||
| </locations> | </constraint> | |||
| <management> | </constraints> | |||
| <type>customer-managed</type> | </access-diversity> | |||
| </management> | <vpn-attachment> | |||
| <security> | <vpn-id>VPNA</vpn-id> | |||
| <encryption> | <site-role>spoke-role</site-role> | |||
| <layer>layer3</layer> | </vpn-attachment> | |||
| </encryption> | </site-network-access> | |||
| </security> | </site-network-accesses> | |||
| <site-network-accesses> | </site> | |||
| <site-network-access> | <site> | |||
| <site-network-access-id>1</site-network-access-id> | <site-id>Office5</site-id> | |||
| <ip-connection> | <locations> | |||
| <ipv4> | <location> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <location-id>L1</location-id> | |||
| </ipv4> | </location> | |||
| <ipv6> | </locations> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <management> | |||
| </ipv6> | <type>customer-managed</type> | |||
| </ip-connection> | </management> | |||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <location-reference>L1</location-reference> | <site-network-accesses> | |||
| <access-diversity> | <site-network-access> | |||
| <groups> | <site-network-access-id>1</site-network-access-id> | |||
| <group> | <ip-connection> | |||
| <group-id>20</group-id> | <ipv4> | |||
| </group> | <address-allocation-type> | |||
| </groups> | provider-dhcp | |||
| <constraints> | </address-allocation-type> | |||
| <constraint> | </ipv4> | |||
| <constraint-type>pop-diverse</constraint-type> | <ipv6> | |||
| <target> | <address-allocation-type> | |||
| <group> | provider-dhcp | |||
| <group-id>10</group-id> | </address-allocation-type> | |||
| </group> | </ipv6> | |||
| </target> | </ip-connection> | |||
| </constraint> | <service> | |||
| <constraint> | <svc-mtu>1514</svc-mtu> | |||
| <constraint-type>linecard-diverse</constraint-type> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <target> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | <group> | |||
| <group-id>20</group-id> | <group-id>20</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| </access-diversity> | <constraint-type>pop-diverse</constraint-type> | |||
| <vpn-attachment> | <target> | |||
| <vpn-id>VPNA</vpn-id> | <group> | |||
| <site-role>spoke-role</site-role> | <group-id>10</group-id> | |||
| </vpn-attachment> | </group> | |||
| </site-network-access> | </target> | |||
| </constraint> | ||||
| </site-network-accesses> | <constraint> | |||
| </site> | <constraint-type>linecard-diverse</constraint-type> | |||
| <site> | <target> | |||
| <site-id>Office6</site-id> | <group> | |||
| <locations> | <group-id>20</group-id> | |||
| <location> | </group> | |||
| <location-id>L1</location-id> | </target> | |||
| </location> | </constraint> | |||
| </locations> | </constraints> | |||
| <management> | </access-diversity> | |||
| <type>customer-managed</type> | <vpn-attachment> | |||
| </management> | <vpn-id>VPNA</vpn-id> | |||
| <security> | <site-role>spoke-role</site-role> | |||
| <encryption> | </vpn-attachment> | |||
| <layer>layer3</layer> | </site-network-access> | |||
| </encryption> | </site-network-accesses> | |||
| </security> | </site> | |||
| <site-network-accesses> | <site> | |||
| <site-network-access> | <site-id>Office6</site-id> | |||
| <site-network-access-id>1</site-network-access-id> | <locations> | |||
| <ip-connection> | <location> | |||
| <ipv4> | <location-id>L1</location-id> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </location> | |||
| </ipv4> | </locations> | |||
| <ipv6> | <management> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <type>customer-managed</type> | |||
| </ipv6> | </management> | |||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </service> | ||||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <location-reference>L1</location-reference> | <site-network-accesses> | |||
| <access-diversity> | <site-network-access> | |||
| <groups> | <site-network-access-id>1</site-network-access-id> | |||
| <group> | <ip-connection> | |||
| <group-id>20</group-id> | <ipv4> | |||
| </group> | <address-allocation-type> | |||
| </groups> | provider-dhcp | |||
| <constraints> | </address-allocation-type> | |||
| <constraint> | </ipv4> | |||
| <constraint-type>pop-diverse</constraint-type> | <ipv6> | |||
| <target> | <address-allocation-type> | |||
| <group> | provider-dhcp | |||
| <group-id>10</group-id> | </address-allocation-type> | |||
| </group> | </ipv6> | |||
| </target> | </ip-connection> | |||
| </constraint> | <service> | |||
| <constraint> | <svc-mtu>1514</svc-mtu> | |||
| <constraint-type>linecard-diverse</constraint-type> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <target> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </service> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <access-diversity> | ||||
| <groups> | ||||
| <group> | <group> | |||
| <group-id>20</group-id> | <group-id>20</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| </constraint> | <constraints> | |||
| </constraints> | <constraint> | |||
| </access-diversity> | <constraint-type>pop-diverse</constraint-type> | |||
| <vpn-attachment> | <target> | |||
| <vpn-id>VPNA</vpn-id> | <group> | |||
| <site-role>spoke-role</site-role> | <group-id>10</group-id> | |||
| </vpn-attachment> | </group> | |||
| </site-network-access> | </target> | |||
| </site-network-accesses> | </constraint> | |||
| </site> | <constraint> | |||
| </sites> | <constraint-type>linecard-diverse</constraint-type> | |||
| </l3vpn-svc> | <target> | |||
| <group> | ||||
| <group-id>20</group-id> | ||||
| </group> | ||||
| </target> | ||||
| </constraint> | ||||
| </constraints> | ||||
| </access-diversity> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| 6.6.6.3. Parallel Links | 6.6.6.3. Parallel Links | |||
| To increase its site bandwidth at lower cost, a customer wants to | To increase its site bandwidth at lower cost, a customer wants to | |||
| order two parallel site-network-accesses that will be connected to | order two parallel site-network-accesses that will be connected to | |||
| the same PE. | the same PE. | |||
| *******site-network-access#1********** | *******site-network-access#1********** | |||
| Site 1 *******site-network-access#2********** PE1 | Site 1 *******site-network-access#2********** PE1 | |||
| skipping to change at page 75, line 50 | skipping to change at page 77, line 37 | |||
| between them. | between them. | |||
| o Site-network-access#2 and site-network-access#4 will correspond to | o Site-network-access#2 and site-network-access#4 will correspond to | |||
| the multihoming of subVPN C. A PE-diverse constraint is required | the multihoming of subVPN C. A PE-diverse constraint is required | |||
| between them. | between them. | |||
| o To ensure proper usage of the same bearer for the subVPN, site- | o To ensure proper usage of the same bearer for the subVPN, site- | |||
| network-access#1 and site-network-access#2 must share the same | network-access#1 and site-network-access#2 must share the same | |||
| bearer as site-network-access#3 and site-network-access#4. | bearer as site-network-access#3 and site-network-access#4. | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNB</vpn-id> | <vpn-id>VPNB</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPNC</vpn-id> | <vpn-id>VPNC</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>SITE1</site-id> | <site-id>SITE1</site-id> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <management> | <management> | |||
| <type>customer-managed</type> | <type>customer-managed</type> | |||
| </management> | </management> | |||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <site-network-accesses> | <site-network-accesses> | |||
| <site-network-access> | <site-network-access> | |||
| <site-network-access-id>1</site-network-access-id> | <site-network-access-id>1</site-network-access-id> | |||
| <ip-connection> | <ip-connection> | |||
| <ipv4> | <ipv4> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <address-allocation-type> | |||
| </ipv4> | provider-dhcp | |||
| <ipv6> | </address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </ipv4> | |||
| </ipv6> | <ipv6> | |||
| </ip-connection> | <address-allocation-type> | |||
| <service> | provider-dhcp | |||
| <svc-mtu>1514</svc-mtu> | </address-allocation-type> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | </ipv6> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | </ip-connection> | |||
| </service> | <service> | |||
| <security> | <svc-mtu>1514</svc-mtu> | |||
| <encryption> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <layer>layer3</layer> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| </encryption> | </service> | |||
| </security> | <security> | |||
| <location-reference>L1</location-reference> | <encryption> | |||
| <access-diversity> | <layer>layer3</layer> | |||
| <groups> | </encryption> | |||
| <group> | </security> | |||
| <group-id>dualhomed-1</group-id> | <location-reference>L1</location-reference> | |||
| </group> | <access-diversity> | |||
| </groups> | <groups> | |||
| <constraints> | <group> | |||
| <constraint> | <group-id>dualhomed-1</group-id> | |||
| <constraint-type>pe-diverse</constraint-type> | </group> | |||
| <target> | </groups> | |||
| <group> | <constraints> | |||
| <group-id>dualhomed-2</group-id> | <constraint> | |||
| </group> | <constraint-type>pe-diverse</constraint-type> | |||
| </target> | <target> | |||
| </constraint> | <group> | |||
| <constraint> | <group-id>dualhomed-2</group-id> | |||
| <constraint-type>same-bearer</constraint-type> | </group> | |||
| <target> | </target> | |||
| <group> | </constraint> | |||
| <group-id>dualhomed-1</group-id> | <constraint> | |||
| </group> | <constraint-type>same-bearer</constraint-type> | |||
| </target> | <target> | |||
| </constraint> | <group> | |||
| </constraints> | <group-id>dualhomed-1</group-id> | |||
| </access-diversity> | </group> | |||
| <vpn-attachment> | </target> | |||
| <vpn-id>VPNB</vpn-id> | </constraint> | |||
| <site-role>spoke-role</site-role> | </constraints> | |||
| </vpn-attachment> | </access-diversity> | |||
| </site-network-access> | <vpn-attachment> | |||
| <site-network-access> | <vpn-id>VPNB</vpn-id> | |||
| <site-network-access-id>2</site-network-access-id> | <site-role>spoke-role</site-role> | |||
| <access-diversity> | </vpn-attachment> | |||
| <groups> | </site-network-access> | |||
| <group> | <site-network-access> | |||
| <group-id>dualhomed-1</group-id> | <site-network-access-id>2</site-network-access-id> | |||
| </group> | <access-diversity> | |||
| </groups> | <groups> | |||
| <constraints> | <group> | |||
| <constraint> | <group-id>dualhomed-1</group-id> | |||
| <constraint-type>pe-diverse</constraint-type> | </group> | |||
| <target> | </groups> | |||
| <group> | <constraints> | |||
| <group-id>dualhomed-2</group-id> | <constraint> | |||
| </group> | <constraint-type>pe-diverse</constraint-type> | |||
| </target> | <target> | |||
| </constraint> | <group> | |||
| <constraint> | <group-id>dualhomed-2</group-id> | |||
| <constraint-type>same-bearer</constraint-type> | </group> | |||
| <target> | </target> | |||
| <group> | </constraint> | |||
| <group-id>dualhomed-1</group-id> | <constraint> | |||
| </group> | <constraint-type>same-bearer</constraint-type> | |||
| </target> | <target> | |||
| </constraint> | <group> | |||
| </constraints> | <group-id>dualhomed-1</group-id> | |||
| </access-diversity> | </group> | |||
| <vpn-attachment> | </target> | |||
| <vpn-id>VPNC</vpn-id> | </constraint> | |||
| <site-role>spoke-role</site-role> | </constraints> | |||
| </vpn-attachment> | </access-diversity> | |||
| </site-network-access> | <vpn-attachment> | |||
| <site-network-access> | <vpn-id>VPNC</vpn-id> | |||
| <site-network-access-id>3</site-network-access-id> | <site-role>spoke-role</site-role> | |||
| <ip-connection> | </vpn-attachment> | |||
| <ipv4> | </site-network-access> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <site-network-access> | |||
| </ipv4> | <site-network-access-id>3</site-network-access-id> | |||
| <ipv6> | <ip-connection> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <ipv4> | |||
| </ipv6> | <address-allocation-type> | |||
| </ip-connection> | provider-dhcp | |||
| <service> | </address-allocation-type> | |||
| <svc-mtu>1514</svc-mtu> | </ipv4> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | <ipv6> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <address-allocation-type> | |||
| </service> | provider-dhcp | |||
| <security> | </address-allocation-type> | |||
| <encryption> | </ipv6> | |||
| <layer>layer3</layer> | </ip-connection> | |||
| </encryption> | <service> | |||
| </security> | <svc-mtu>1514</svc-mtu> | |||
| <location-reference>L1</location-reference> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <access-diversity> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <groups> | </service> | |||
| <group> | <security> | |||
| <group-id>dualhomed-2</group-id> | <encryption> | |||
| </group> | <layer>layer3</layer> | |||
| </groups> | </encryption> | |||
| <constraints> | </security> | |||
| <constraint> | <location-reference>L1</location-reference> | |||
| <constraint-type>pe-diverse</constraint-type> | <access-diversity> | |||
| <target> | <groups> | |||
| <group> | <group> | |||
| <group-id>dualhomed-1</group-id> | <group-id>dualhomed-2</group-id> | |||
| </group> | </group> | |||
| </target> | </groups> | |||
| <constraints> | ||||
| <constraint> | ||||
| <constraint-type>pe-diverse</constraint-type> | ||||
| <target> | ||||
| <group> | ||||
| <group-id>dualhomed-1</group-id> | ||||
| </group> | ||||
| </target> | ||||
| </constraint> | ||||
| <constraint> | ||||
| <constraint-type>same-bearer</constraint-type> | ||||
| <target> | ||||
| <group> | ||||
| <group-id>dualhomed-2</group-id> | ||||
| </constraint> | </group> | |||
| <constraint> | </target> | |||
| <constraint-type>same-bearer</constraint-type> | </constraint> | |||
| <target> | </constraints> | |||
| <group> | </access-diversity> | |||
| <group-id>dualhomed-2</group-id> | <vpn-attachment> | |||
| </group> | <vpn-id>VPNB</vpn-id> | |||
| </target> | <site-role>spoke-role</site-role> | |||
| </constraint> | </vpn-attachment> | |||
| </constraints> | </site-network-access> | |||
| </access-diversity> | <site-network-access> | |||
| <vpn-attachment> | <site-network-access-id>4</site-network-access-id> | |||
| <vpn-id>VPNB</vpn-id> | <ip-connection> | |||
| <site-role>spoke-role</site-role> | <ipv4> | |||
| </vpn-attachment> | <address-allocation-type> | |||
| </site-network-access> | provider-dhcp | |||
| <site-network-access> | </address-allocation-type> | |||
| <site-network-access-id>4</site-network-access-id> | </ipv4> | |||
| <ip-connection> | <ipv6> | |||
| <ipv4> | <address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | provider-dhcp | |||
| </ipv4> | </address-allocation-type> | |||
| <ipv6> | </ipv6> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </ip-connection> | |||
| </ipv6> | <service> | |||
| </ip-connection> | <svc-mtu>1514</svc-mtu> | |||
| <service> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <svc-mtu>1514</svc-mtu> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | </service> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <security> | |||
| </service> | <encryption> | |||
| <security> | <layer>layer3</layer> | |||
| <encryption> | </encryption> | |||
| <layer>layer3</layer> | </security> | |||
| </encryption> | <location-reference>L1</location-reference> | |||
| </security> | <access-diversity> | |||
| <location-reference>L1</location-reference> | <groups> | |||
| <access-diversity> | <group> | |||
| <groups> | <group-id>dualhomed-2</group-id> | |||
| <group> | </group> | |||
| <group-id>dualhomed-2</group-id> | </groups> | |||
| </group> | <constraints> | |||
| </groups> | <constraint> | |||
| <constraints> | <constraint-type>pe-diverse</constraint-type> | |||
| <constraint> | <target> | |||
| <constraint-type>pe-diverse</constraint-type> | <group> | |||
| <target> | <group-id>dualhomed-1</group-id> | |||
| <group> | </group> | |||
| <group-id>dualhomed-1</group-id> | ||||
| </group> | </target> | |||
| </target> | </constraint> | |||
| </constraint> | <constraint> | |||
| <constraint> | <constraint-type>same-bearer</constraint-type> | |||
| <constraint-type>same-bearer</constraint-type> | <target> | |||
| <target> | <group> | |||
| <group> | <group-id>dualhomed-2</group-id> | |||
| <group-id>dualhomed-2</group-id> | </group> | |||
| </group> | </target> | |||
| </target> | </constraint> | |||
| </constraint> | </constraints> | |||
| </constraints> | </access-diversity> | |||
| </access-diversity> | <vpn-attachment> | |||
| <vpn-attachment> | <vpn-id>VPNC</vpn-id> | |||
| <vpn-id>VPNC</vpn-id> | <site-role>spoke-role</site-role> | |||
| <site-role>spoke-role</site-role> | </vpn-attachment> | |||
| </vpn-attachment> | </site-network-access> | |||
| </site-network-access> | </site-network-accesses> | |||
| </site-network-accesses> | </site> | |||
| </site> | </sites> | |||
| </sites> | </l3vpn-svc> | |||
| </l3vpn-svc> | ||||
| 6.6.7. Route Distinguisher and VRF Allocation | 6.6.7. Route Distinguisher and VRF Allocation | |||
| The route distinguisher (RD) is a critical parameter of PE-based | The route distinguisher (RD) is a critical parameter of PE-based | |||
| L3VPNs as described in [RFC4364] that provides the ability to | L3VPNs as described in [RFC4364] that provides the ability to | |||
| distinguish common addressing plans in different VPNs. As for route | distinguish common addressing plans in different VPNs. As for route | |||
| targets (RTs), a management system is expected to allocate a VRF on | targets (RTs), a management system is expected to allocate a VRF on | |||
| the target PE and an RD for this VRF. | the target PE and an RD for this VRF. | |||
| If a VRF already exists on the target PE and the VRF fulfills the | If a VRF already exists on the target PE and the VRF fulfills the | |||
| skipping to change at page 97, line 44 | skipping to change at page 99, line 44 | |||
| reservation) is out of scope for this document. | reservation) is out of scope for this document. | |||
| In addition, due to network conditions, some constraints may not be | In addition, due to network conditions, some constraints may not be | |||
| completely fulfilled by the SP; in this case, the SP should advise | completely fulfilled by the SP; in this case, the SP should advise | |||
| the customer about the limitations. How this communication is done | the customer about the limitations. How this communication is done | |||
| is out of scope for this document. | is out of scope for this document. | |||
| Example of service configuration using a standard QoS profile with | Example of service configuration using a standard QoS profile with | |||
| the following corresponding XML snippet: | the following corresponding XML snippet: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-profiles> | <vpn-profiles> | |||
| <valid-provider-identifiers> | <valid-provider-identifiers> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>GOLD</id> | <id>GOLD</id> | |||
| </qos-profile-identifier> | </qos-profile-identifier> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>PLATINUM</id> | <id>PLATINUM</id> | |||
| </qos-profile-identifier> | ||||
| </valid-provider-identifiers> | ||||
| </vpn-profiles> | ||||
| <vpn-services> | ||||
| <vpn-service> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| </vpn-service> | ||||
| </vpn-services> | ||||
| <sites> | ||||
| <site> | ||||
| <site-id>SITE1</site-id> | ||||
| <locations> | ||||
| <location> | ||||
| <location-id>L1</location-id> | ||||
| </location> | ||||
| </locations> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>1245HRTFGJGJ154654</site-network-access-id> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type>provider-dhcp</address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <service> | ||||
| <svc-input-bandwidth>100000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>100000000</svc-output-bandwidth> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <qos> | ||||
| <qos-profile> | ||||
| <profile>PLATINUM</profile> | ||||
| </qos-profile> | ||||
| </qos> | ||||
| </service> | ||||
| <location-reference>L1</location-reference> | ||||
| </site-network-access> | </qos-profile-identifier> | |||
| <site-network-access> | </valid-provider-identifiers> | |||
| <site-network-access-id>555555AAAA2344</site-network-access-id> | </vpn-profiles> | |||
| <vpn-attachment> | <vpn-services> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-service> | |||
| <site-role>spoke-role</site-role> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-attachment> | </vpn-service> | |||
| <ip-connection> | </vpn-services> | |||
| <ipv4> | <sites> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <site> | |||
| </ipv4> | <site-id>SITE1</site-id> | |||
| <ipv6> | <locations> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <location> | |||
| </ipv6> | <location-id>L1</location-id> | |||
| </ip-connection> | </location> | |||
| <security> | </locations> | |||
| <encryption> | <site-network-accesses> | |||
| <layer>layer3</layer> | <site-network-access> | |||
| </encryption> | <site-network-access-id> | |||
| </security> | 1245HRTFGJGJ154654 | |||
| <location-reference>L1</location-reference> | </site-network-access-id> | |||
| <service> | <vpn-attachment> | |||
| <svc-input-bandwidth>2000000</svc-input-bandwidth> | <vpn-id>VPNA</vpn-id> | |||
| <svc-output-bandwidth>2000000</svc-output-bandwidth> | <site-role>spoke-role</site-role> | |||
| <svc-mtu>1514</svc-mtu> | </vpn-attachment> | |||
| <qos> | <ip-connection> | |||
| <qos-profile> | <ipv4> | |||
| <profile>GOLD</profile> | <address-allocation-type> | |||
| </qos-profile> | provider-dhcp | |||
| </qos> | </address-allocation-type> | |||
| </service> | </ipv4> | |||
| </site-network-access> | <ipv6> | |||
| </site-network-accesses> | <address-allocation-type> | |||
| </site> | provider-dhcp | |||
| </sites> | </address-allocation-type> | |||
| </l3vpn-svc> | </ipv6> | |||
| </ip-connection> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <service> | ||||
| <svc-input-bandwidth>100000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>100000000</svc-output-bandwidth> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <qos> | ||||
| <qos-profile> | ||||
| <profile>PLATINUM</profile> | ||||
| </qos-profile> | ||||
| </qos> | ||||
| </service> | ||||
| </site-network-access> | ||||
| <site-network-access> | ||||
| <site-network-access-id> | ||||
| 555555AAAA2344 | ||||
| </site-network-access-id> | ||||
| <vpn-attachment> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| <site-role>spoke-role</site-role> | ||||
| </vpn-attachment> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <security> | ||||
| <encryption> | ||||
| <layer>layer3</layer> | ||||
| </encryption> | ||||
| </security> | ||||
| <location-reference>L1</location-reference> | ||||
| <service> | ||||
| <svc-input-bandwidth>2000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>2000000</svc-output-bandwidth> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <qos> | ||||
| <qos-profile> | ||||
| <profile>GOLD</profile> | ||||
| </qos-profile> | ||||
| </qos> | ||||
| </service> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| Example of service configuration using a custom QoS profile with the | Example of service configuration using a custom QoS profile with the | |||
| following corresponding XML snippet: | following corresponding XML snippet: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-profiles> | <vpn-profiles> | |||
| <valid-provider-identifiers> | <valid-provider-identifiers> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>GOLD</id> | <id>GOLD</id> | |||
| </qos-profile-identifier> | ||||
| <qos-profile-identifier> | ||||
| <id>PLATINUM</id> | ||||
| </qos-profile-identifier> | ||||
| </valid-provider-identifiers> | ||||
| </vpn-profiles> | ||||
| <vpn-services> | ||||
| <vpn-service> | ||||
| <vpn-id>VPNA</vpn-id> | ||||
| </vpn-service> | ||||
| </vpn-services> | ||||
| <sites> | ||||
| <site> | ||||
| <site-id>SITE1</site-id> | ||||
| <locations> | ||||
| <location> | ||||
| <location-id>L1</location-id> | ||||
| </location> | ||||
| </locations> | ||||
| <site-network-accesses> | ||||
| <site-network-access> | ||||
| <site-network-access-id>Site1</site-network-access-id> | ||||
| <location-reference>L1</location-reference> | ||||
| <ip-connection> | ||||
| <ipv4> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv4> | ||||
| <ipv6> | ||||
| <address-allocation-type> | ||||
| provider-dhcp | ||||
| </address-allocation-type> | ||||
| </ipv6> | ||||
| </ip-connection> | ||||
| <service> | ||||
| <svc-mtu>1514</svc-mtu> | ||||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | ||||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | ||||
| </qos-profile-identifier> | </service> | |||
| <qos-profile-identifier> | <security> | |||
| <id>PLATINUM</id> | <encryption> | |||
| </qos-profile-identifier> | <layer>layer3</layer> | |||
| </valid-provider-identifiers> | </encryption> | |||
| </vpn-profiles> | </security> | |||
| <vpn-services> | <location-reference>L1</location-reference> | |||
| <vpn-service> | <vpn-attachment> | |||
| <vpn-id>VPNA</vpn-id> | <vpn-id>VPNA</vpn-id> | |||
| </vpn-service> | <site-role>spoke-role</site-role> | |||
| </vpn-services> | </vpn-attachment> | |||
| <sites> | <service> | |||
| <site> | <svc-input-bandwidth>100000000</svc-input-bandwidth> | |||
| <site-id>SITE1</site-id> | <svc-output-bandwidth>100000000</svc-output-bandwidth> | |||
| <locations> | <qos> | |||
| <location> | <qos-profile> | |||
| <location-id>L1</location-id> | <classes> | |||
| </location> | <class> | |||
| </locations> | <class-id>REAL_TIME</class-id> | |||
| <site-network-accesses> | <direction>both</direction> | |||
| <site-network-access> | <rate-limit>10</rate-limit> | |||
| <site-network-access-id>Site1</site-network-access-id> | <latency> | |||
| <location-reference>L1</location-reference> | <use-lowest-latency/> | |||
| <ip-connection> | </latency> | |||
| <ipv4> | <bandwidth> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <guaranteed-bw-percent>80</guaranteed-bw-percent> | |||
| </ipv4> | </bandwidth> | |||
| <ipv6> | </class> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <class> | |||
| </ipv6> | <class-id>DATA1</class-id> | |||
| </ip-connection> | <latency> | |||
| <service> | <latency-boundary>70</latency-boundary> | |||
| <svc-mtu>1514</svc-mtu> | </latency> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | <bandwidth> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <guaranteed-bw-percent>80</guaranteed-bw-percent> | |||
| </service> | </bandwidth> | |||
| <security> | </class> | |||
| <encryption> | <class> | |||
| <layer>layer3</layer> | <class-id>DATA2</class-id> | |||
| </encryption> | <latency> | |||
| </security> | <latency-boundary>200</latency-boundary> | |||
| <location-reference>L1</location-reference> | </latency> | |||
| <vpn-attachment> | <bandwidth> | |||
| <vpn-id>VPNA</vpn-id> | <guaranteed-bw-percent>5</guaranteed-bw-percent> | |||
| <site-role>spoke-role</site-role> | <end-to-end/> | |||
| </vpn-attachment> | </bandwidth> | |||
| <service> | </class> | |||
| <svc-input-bandwidth>100000000</svc-input-bandwidth> | </classes> | |||
| <svc-output-bandwidth>100000000</svc-output-bandwidth> | ||||
| <qos> | </qos-profile> | |||
| <qos-profile> | </qos> | |||
| <classes> | </service> | |||
| <class> | </site-network-access> | |||
| <class-id>REAL_TIME</class-id> | </site-network-accesses> | |||
| <direction>both</direction> | </site> | |||
| <rate-limit>10</rate-limit> | </sites> | |||
| <latency> | </l3vpn-svc> | |||
| <use-lowest-latency/> | ||||
| </latency> | ||||
| <bandwidth> | ||||
| <guaranteed-bw-percent>80</guaranteed-bw-percent> | ||||
| </bandwidth> | ||||
| </class> | ||||
| <class> | ||||
| <class-id>DATA1</class-id> | ||||
| <latency> | ||||
| <latency-boundary>70</latency-boundary> | ||||
| </latency> | ||||
| <bandwidth> | ||||
| <guaranteed-bw-percent>80</guaranteed-bw-percent> | ||||
| </bandwidth> | ||||
| </class> | ||||
| <class> | ||||
| <class-id>DATA2</class-id> | ||||
| <latency> | ||||
| <latency-boundary>200</latency-boundary> | ||||
| </latency> | ||||
| <bandwidth> | ||||
| <guaranteed-bw-percent>5</guaranteed-bw-percent> | ||||
| <end-to-end/> | ||||
| </bandwidth> | ||||
| </class> | ||||
| </classes> | ||||
| </qos-profile> | ||||
| </qos> | ||||
| </service> | ||||
| </site-network-access> | ||||
| </site-network-accesses> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| The custom QoS profile for Site1 defines a REAL_TIME class with a | The custom QoS profile for Site1 defines a REAL_TIME class with a | |||
| latency constraint expressed as the lowest possible latency. It also | latency constraint expressed as the lowest possible latency. It also | |||
| defines two data classes -- DATA1 and DATA2. The two classes express | defines two data classes -- DATA1 and DATA2. The two classes express | |||
| a latency boundary constraint as well as a bandwidth reservation, as | a latency boundary constraint as well as a bandwidth reservation, as | |||
| the REAL_TIME class is rate-limited to 10% of the service bandwidth | the REAL_TIME class is rate-limited to 10% of the service bandwidth | |||
| (10% of 100 Mbps = 10 Mbps). In cases where congestion occurs, the | (10% of 100 Mbps = 10 Mbps). In cases where congestion occurs, the | |||
| REAL_TIME traffic can go up to 10 Mbps (let's assume that only 5 Mbps | REAL_TIME traffic can go up to 10 Mbps (let's assume that only 5 Mbps | |||
| are consumed). DATA1 and DATA2 will share the remaining bandwidth | are consumed). DATA1 and DATA2 will share the remaining bandwidth | |||
| (95 Mbps) according to their percentage. So, the DATA1 class will be | (95 Mbps) according to their percentage. So, the DATA1 class will be | |||
| skipping to change at page 107, line 41 | skipping to change at page 109, line 41 | |||
| To create the VPN connectivity, the CSP or the customer may use the | To create the VPN connectivity, the CSP or the customer may use the | |||
| L3VPN service model that SP B exposes. We could consider that, as | L3VPN service model that SP B exposes. We could consider that, as | |||
| the NNI is shared, the physical connection (bearer) between CSP A and | the NNI is shared, the physical connection (bearer) between CSP A and | |||
| SP B already exists. CSP A may request through a service model the | SP B already exists. CSP A may request through a service model the | |||
| creation of a new site with a single site-network-access (single- | creation of a new site with a single site-network-access (single- | |||
| homing is used in the figure). As a placement constraint, CSP A may | homing is used in the figure). As a placement constraint, CSP A may | |||
| use the existing bearer reference it has from SP A to force the | use the existing bearer reference it has from SP A to force the | |||
| placement of the VPN NNI on the existing link. The XML snippet below | placement of the VPN NNI on the existing link. The XML snippet below | |||
| illustrates a possible configuration request to SP B: | illustrates a possible configuration request to SP B: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-profiles> | <vpn-profiles> | |||
| <valid-provider-identifiers> | <valid-provider-identifiers> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>GOLD</id> | <id>GOLD</id> | |||
| </qos-profile-identifier> | </qos-profile-identifier> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>PLATINUM</id> | <id>PLATINUM</id> | |||
| </qos-profile-identifier> | </qos-profile-identifier> | |||
| </valid-provider-identifiers> | </valid-provider-identifiers> | |||
| </vpn-profiles> | </vpn-profiles> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPN1</vpn-id> | <vpn-id>VPN1</vpn-id> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>CSP_A_attachment</site-id> | <site-id>CSP_A_attachment</site-id> | |||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>1</location-id> | <location-id>1</location-id> | |||
| <city>NY</city> | <city>NY</city> | |||
| <country-code>US</country-code> | <country-code>US</country-code> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <site-vpn-flavor>site-vpn-flavor-nni</site-vpn-flavor> | <site-vpn-flavor>site-vpn-flavor-nni</site-vpn-flavor> | |||
| <routing-protocols> | <routing-protocols> | |||
| <routing-protocol> | <routing-protocol> | |||
| <type>bgp</type> | <type>bgp</type> | |||
| <bgp> | <bgp> | |||
| <autonomous-system>500</autonomous-system> | <autonomous-system>500</autonomous-system> | |||
| <address-family>ipv4</address-family> | <address-family>ipv4</address-family> | |||
| </bgp> | </bgp> | |||
| </routing-protocol> | </routing-protocol> | |||
| </routing-protocols> | </routing-protocols> | |||
| <site-network-accesses> | <site-network-accesses> | |||
| <site-network-access> | <site-network-access> | |||
| <site-network-access-id>CSP_A_VN1</site-network-access-id> | <site-network-access-id>CSP_A_VN1</site-network-access-id> | |||
| <location-reference>L1</location-reference> | <location-reference>L1</location-reference> | |||
| <ip-connection> | <ip-connection> | |||
| <ipv4> | <ipv4> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <address-allocation-type> | |||
| </ipv4> | provider-dhcp | |||
| <ipv6> | </address-allocation-type> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | </ipv4> | |||
| </ipv6> | <ipv6> | |||
| </ip-connection> | <address-allocation-type> | |||
| <ip-connection> | provider-dhcp | |||
| <ipv4> | </address-allocation-type> | |||
| <address-allocation-type> | </ipv6> | |||
| static-address | </ip-connection> | |||
| </address-allocation-type> | <ip-connection> | |||
| <addresses> | <ipv4> | |||
| <provider-address>203.0.113.1</provider-address> | <address-allocation-type> | |||
| <customer-address>203.0.113.2</customer-address> | static-address | |||
| <prefix-length>30</prefix-length> | </address-allocation-type> | |||
| </addresses> | <addresses> | |||
| </ipv4> | <provider-address>203.0.113.1</provider-address> | |||
| </ip-connection> | <customer-address>203.0.113.2</customer-address> | |||
| <service> | <prefix-length>30</prefix-length> | |||
| <svc-input-bandwidth>450000000</svc-input-bandwidth> | </addresses> | |||
| <svc-output-bandwidth>450000000</svc-output-bandwidth> | </ipv4> | |||
| <svc-mtu>1514</svc-mtu> | </ip-connection> | |||
| </service> | <service> | |||
| <security> | <svc-input-bandwidth>450000000</svc-input-bandwidth> | |||
| <encryption> | <svc-output-bandwidth>450000000</svc-output-bandwidth> | |||
| <layer>layer3</layer> | <svc-mtu>1514</svc-mtu> | |||
| </encryption> | </service> | |||
| </security> | <security> | |||
| <vpn-attachment> | <encryption> | |||
| <vpn-id>VPN1</vpn-id> | <layer>layer3</layer> | |||
| <site-role>any-to-any-role</site-role> | </encryption> | |||
| </vpn-attachment> | </security> | |||
| </site-network-access> | <vpn-attachment> | |||
| </site-network-accesses> | <vpn-id>VPN1</vpn-id> | |||
| <management> | <site-role>any-to-any-role</site-role> | |||
| <type>customer-managed</type> | </vpn-attachment> | |||
| </management> | </site-network-access> | |||
| </site> | </site-network-accesses> | |||
| </sites> | <management> | |||
| </l3vpn-svc> | <type>customer-managed</type> | |||
| </management> | ||||
| </site> | ||||
| </sites> | ||||
| </l3vpn-svc> | ||||
| The case described above is different from a scenario using the | The case described above is different from a scenario using the | |||
| cloud-accesses container, as the cloud-access provides a public cloud | cloud-accesses container, as the cloud-access provides a public cloud | |||
| access while this example enables access to private resources located | access while this example enables access to private resources located | |||
| in a CSP network. | in a CSP network. | |||
| 6.15.2. Defining an NNI with the Option B Flavor | 6.15.2. Defining an NNI with the Option B Flavor | |||
| AS A AS B | AS A AS B | |||
| ------------------- ------------------- | ------------------- ------------------- | |||
| / \ / \ | / \ / \ | |||
| | | | | | | | | | | |||
| | ++++++++ Inter-AS link ++++++++ | | | ++++++++ Inter-AS link ++++++++ | | |||
| | + +_______________+ + | | | + +_______________+ + | | |||
| | + + + + | | | + + + + | | |||
| | + ASBR +<---MP-BGP---->+ ASBR + | | | + ASBR +<---MP-BGP---->+ ASBR + | | |||
| | + + + + | | | + + + + | | |||
| | + +_______________+ + | | | + +_______________+ + | | |||
| skipping to change at page 120, line 43 | skipping to change at page 123, line 43 | |||
| lines. In the NETCONF/YANG ecosystem, we expect NETCONF/YANG to be | lines. In the NETCONF/YANG ecosystem, we expect NETCONF/YANG to be | |||
| used between the configuration component and network elements to | used between the configuration component and network elements to | |||
| configure the requested services on those elements. | configure the requested services on those elements. | |||
| In this framework, specifications are expected to provide specific | In this framework, specifications are expected to provide specific | |||
| YANG modeling of service components on network elements. There will | YANG modeling of service components on network elements. There will | |||
| be a strong relationship between the abstracted view provided by this | be a strong relationship between the abstracted view provided by this | |||
| service model and the detailed configuration view that will be | service model and the detailed configuration view that will be | |||
| provided by specific configuration models for network elements. | provided by specific configuration models for network elements. | |||
| The authors of this document anticipate definitions of YANG models | The authors of this document anticipate definitions of YANG modules | |||
| for the network elements listed below. Note that this list is not | for the network elements listed below. Note that this list is not | |||
| exhaustive: | exhaustive: | |||
| o VRF definition, including VPN policy expression. | o VRF definition, including VPN policy expression. | |||
| o Physical interface. | o Physical interface. | |||
| o IP layer (IPv4, IPv6). | o IP layer (IPv4, IPv6). | |||
| o QoS: classification, profiles, etc. | o QoS: classification, profiles, etc. | |||
| skipping to change at page 121, line 18 | skipping to change at page 124, line 18 | |||
| listed in the document, as well as routing policies associated | listed in the document, as well as routing policies associated | |||
| with those protocols. | with those protocols. | |||
| o Multicast VPN. | o Multicast VPN. | |||
| o Network address translation. | o Network address translation. | |||
| Example of a corresponding XML snippet with a VPN site request at the | Example of a corresponding XML snippet with a VPN site request at the | |||
| service level, using this model: | service level, using this model: | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | <l3vpn-svc xmlns="urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc"> | |||
| <vpn-profiles> | <vpn-profiles> | |||
| <valid-provider-identifiers> | <valid-provider-identifiers> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>GOLD</id> | <id>GOLD</id> | |||
| </qos-profile-identifier> | </qos-profile-identifier> | |||
| <qos-profile-identifier> | <qos-profile-identifier> | |||
| <id>PLATINUM</id> | <id>PLATINUM</id> | |||
| </qos-profile-identifier> | </qos-profile-identifier> | |||
| </valid-provider-identifiers> | </valid-provider-identifiers> | |||
| </vpn-profiles> | </vpn-profiles> | |||
| <vpn-services> | <vpn-services> | |||
| <vpn-service> | <vpn-service> | |||
| <vpn-id>VPN1</vpn-id> | <vpn-id>VPN1</vpn-id> | |||
| <vpn-service-topology>hub-spoke</vpn-service-topology> | <vpn-service-topology>hub-spoke</vpn-service-topology> | |||
| </vpn-service> | </vpn-service> | |||
| </vpn-services> | </vpn-services> | |||
| <sites> | <sites> | |||
| <site> | <site> | |||
| <site-id>Site A</site-id> | <site-id>Site A</site-id> | |||
| <security> | <security> | |||
| <encryption> | <encryption> | |||
| <layer>layer3</layer> | <layer>layer3</layer> | |||
| </encryption> | </encryption> | |||
| </security> | </security> | |||
| <locations> | <locations> | |||
| <location> | <location> | |||
| <location-id>L1</location-id> | <location-id>L1</location-id> | |||
| </location> | </location> | |||
| </locations> | </locations> | |||
| <site-network-accesses> | <site-network-accesses> | |||
| <site-network-access> | <site-network-access> | |||
| <site-network-access-id>1</site-network-access-id> | <site-network-access-id>1</site-network-access-id> | |||
| <ip-connection> | <ip-connection> | |||
| <ipv4> | <ipv4> | |||
| <address-allocation-type> | <address-allocation-type> | |||
| static-address | static-address | |||
| </address-allocation-type> | </address-allocation-type> | |||
| <addresses> | <addresses> | |||
| <provider-address>203.0.113.254</provider-address> | <provider-address>203.0.113.254</provider-address> | |||
| <customer-address>203.0.113.2</customer-address> | <customer-address>203.0.113.2</customer-address> | |||
| <prefix-length>24</prefix-length> | <prefix-length>24</prefix-length> | |||
| </addresses> | </addresses> | |||
| </ipv4> | </ipv4> | |||
| <ipv6> | <ipv6> | |||
| <address-allocation-type>provider-dhcp</address-allocation-type> | <address-allocation-type> | |||
| </ipv6> | provider-dhcp | |||
| </ip-connection> | </address-allocation-type> | |||
| <service> | </ipv6> | |||
| <svc-mtu>1514</svc-mtu> | </ip-connection> | |||
| <svc-input-bandwidth>10000000</svc-input-bandwidth> | <service> | |||
| <svc-output-bandwidth>10000000</svc-output-bandwidth> | <svc-mtu>1514</svc-mtu> | |||
| </service> | <svc-input-bandwidth>10000000</svc-input-bandwidth> | |||
| <location-reference>L1</location-reference> | <svc-output-bandwidth>10000000</svc-output-bandwidth> | |||
| <vpn-attachment> | </service> | |||
| <vpn-policy-id>VPNPOL1</vpn-policy-id> | <location-reference>L1</location-reference> | |||
| </vpn-attachment> | <vpn-attachment> | |||
| </site-network-access> | <vpn-policy-id>VPNPOL1</vpn-policy-id> | |||
| </site-network-accesses> | </vpn-attachment> | |||
| <routing-protocols> | </site-network-access> | |||
| <routing-protocol> | </site-network-accesses> | |||
| <type>static</type> | <routing-protocols> | |||
| <static> | <routing-protocol> | |||
| <cascaded-lan-prefixes> | <type>static</type> | |||
| <ipv4-lan-prefixes> | <static> | |||
| <lan>198.51.100.0/30</lan> | <cascaded-lan-prefixes> | |||
| <next-hop>203.0.113.2</next-hop> | <ipv4-lan-prefixes> | |||
| </ipv4-lan-prefixes> | <lan>198.51.100.0/30</lan> | |||
| </cascaded-lan-prefixes> | <next-hop>203.0.113.2</next-hop> | |||
| </static> | </ipv4-lan-prefixes> | |||
| </routing-protocol> | </cascaded-lan-prefixes> | |||
| </routing-protocols> | </static> | |||
| <management> | </routing-protocol> | |||
| <type>customer-managed</type> | </routing-protocols> | |||
| </management> | <management> | |||
| <vpn-policies> | <type>customer-managed</type> | |||
| <vpn-policy> | </management> | |||
| <vpn-policy-id>VPNPOL1</vpn-policy-id> | <vpn-policies> | |||
| <entries> | <vpn-policy> | |||
| <id>1</id> | <vpn-policy-id>VPNPOL1</vpn-policy-id> | |||
| <vpn> | <entries> | |||
| <vpn-id>VPN1</vpn-id> | <id>1</id> | |||
| <site-role>any-to-any-role</site-role> | <vpn> | |||
| </vpn> | <vpn-id>VPN1</vpn-id> | |||
| </entries> | <site-role>any-to-any-role</site-role> | |||
| </vpn-policy> | </vpn> | |||
| </vpn-policies> | </entries> | |||
| </site> | </vpn-policy> | |||
| </sites> | </vpn-policies> | |||
| </l3vpn-svc> | </site> | |||
| </sites> | ||||
| </l3vpn-svc> | ||||
| In the service example above, the service component is expected to | In the service example above, the service component is expected to | |||
| request that the configuration component of the management system | request that the configuration component of the management system | |||
| provide the configuration of the service elements. If we consider | provide the configuration of the service elements. If we consider | |||
| that the service component selected a PE (PE A) as the target PE for | that the service component selected a PE (PE A) as the target PE for | |||
| the site, the configuration component will need to push the | the site, the configuration component will need to push the | |||
| configuration to PE A. The configuration component will use several | configuration to PE A. The configuration component will use several | |||
| YANG data models to define the configuration to be applied to PE A. | YANG data models to define the configuration to be applied to PE A. | |||
| The XML snippet configuration of PE A might look like this: | The XML snippet configuration of PE A might look like this: | |||
| skipping to change at page 183, line 7 | skipping to change at page 186, line 8 | |||
| "Container for sites."; | "Container for sites."; | |||
| } | } | |||
| description | description | |||
| "Main container for L3VPN service configuration."; | "Main container for L3VPN service configuration."; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 10. Security Considerations | 10. Security Considerations | |||
| The YANG module defined in this document MAY be accessed via the | The YANG module specified in this document defines a schema for data | |||
| RESTCONF protocol [RFC8040] or the NETCONF protocol [RFC6241]. The | that is designed to be accessed via network management protocols such | |||
| lowest RESTCONF or NETCONF layer requires that the transport-layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| protocol provide both data integrity and confidentiality; see | is the secure transport layer, and the mandatory-to-implement secure | |||
| Section 2 in [RFC8040] and Section 2 in [RFC6241]. The client MUST | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
| carefully examine the certificate presented by the server to | is HTTPS, and the mandatory-to-implement secure transport is TLS | |||
| determine if it meets the client's expectations, and the server MUST | [RFC5246]. | |||
| authenticate client and authorize access to any protected resource. | ||||
| The client identity derived from the authentication mechanism used is | ||||
| subject to the NETCONF Access Control Model (NACM) [RFC6536]. Other | ||||
| protocols that are used to access this YANG module are also required | ||||
| to support similar security mechanisms. | ||||
| The data nodes defined in the "ietf-l3vpn-svc" YANG module MUST be | The NETCONF access control model [RFC6536]provides the means to | |||
| carefully created, read, updated, or deleted as appropriate, which | restrict access for particular NETCONF or RESTCONF users to a | |||
| indirectly lead to creation or modification of the network. The | preconfigured subset of all available NETCONF or RESTCONF protocol | |||
| entries in the lists below include customer-proprietary or | operations and content. | |||
| confidential information, e.g., customer-name; therefore, access to | ||||
| confidential information MUST be limited to authorized clients, and | There are a number of data nodes defined in this YANG module that are | |||
| other clients MUST NOT be permitted to access the information. | writable/creatable/deletable (i.e., config true, which is the | |||
| default). These data nodes may be considered sensitive or vulnerable | ||||
| in some network environments. Write operations (e.g., edit-config) | ||||
| to these data nodes without proper protection can have a negative | ||||
| effect on network operations. These are the subtrees and data nodes | ||||
| and their sensitivity/vulnerability: | ||||
| o /l3vpn-svc/vpn-services/vpn-service | o /l3vpn-svc/vpn-services/vpn-service | |||
| The entries in the list above include the whole vpn service | ||||
| configurations which the customer subscribes, and indirectly | ||||
| create or modify the PE and CE device configurations. These | ||||
| unexpected changes lead to the service disruption and/or network | ||||
| misbehavior. | ||||
| o /l3vpn-svc/sites/site | ||||
| The entries in the list above include the customer site | ||||
| configurations. As same as above, these unexpected changes lead | ||||
| to the service disruption and/or network misbehavior. | ||||
| 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. These are the subtrees and data | ||||
| nodes and their sensitivity/vulnerability: | ||||
| o /l3vpn-svc/vpn-services/vpn-service | ||||
| o /l3vpn-svc/sites/site | o /l3vpn-svc/sites/site | |||
| The entries in the lists above include customer-proprietary or | ||||
| confidential information, e.g., customer-name, site location, what | ||||
| service the customer subscribes. | ||||
| The data model defines some security parameters than can be extended | The data model defines some security parameters than can be extended | |||
| via augmentation as part of the customer service request; those | via augmentation as part of the customer service request; those | |||
| parameters are described in Section 6.9. | parameters are described in Section 6.9. | |||
| 11. IANA Considerations | 11. IANA Considerations | |||
| IANA has assigned a new URI from the "IETF XML Registry" [RFC3688]. | IANA has assigned a new URI from the "IETF XML Registry" [RFC3688]. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc | URI: urn:ietf:params:xml:ns:yang:ietf-l3vpn-svc | |||
| Registrant Contact: The IESG | Registrant Contact: The IESG | |||
| skipping to change at page 184, line 41 | skipping to change at page 188, line 23 | |||
| [RFC4577] Rosen, E., Psenak, P., and P. Pillay-Esnault, "OSPF as the | [RFC4577] Rosen, E., Psenak, P., and P. Pillay-Esnault, "OSPF as the | |||
| Provider/Customer Edge Protocol for BGP/MPLS IP Virtual | Provider/Customer Edge Protocol for BGP/MPLS IP Virtual | |||
| Private Networks (VPNs)", RFC 4577, DOI 10.17487/RFC4577, | Private Networks (VPNs)", RFC 4577, DOI 10.17487/RFC4577, | |||
| June 2006, <https://www.rfc-editor.org/info/rfc4577>. | June 2006, <https://www.rfc-editor.org/info/rfc4577>. | |||
| [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless | [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless | |||
| Address Autoconfiguration", RFC 4862, | Address Autoconfiguration", RFC 4862, | |||
| DOI 10.17487/RFC4862, September 2007, | DOI 10.17487/RFC4862, September 2007, | |||
| <https://www.rfc-editor.org/info/rfc4862>. | <https://www.rfc-editor.org/info/rfc4862>. | |||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | ||||
| (TLS) Protocol Version 1.2", RFC 5246, | ||||
| DOI 10.17487/RFC5246, August 2008, | ||||
| <https://www.rfc-editor.org/info/rfc5246>. | ||||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | ||||
| Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6242>. | ||||
| [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ | [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ | |||
| BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February | BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February | |||
| 2012, <https://www.rfc-editor.org/info/rfc6513>. | 2012, <https://www.rfc-editor.org/info/rfc6513>. | |||
| [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| Protocol (NETCONF) Access Control Model", RFC 6536, | Protocol (NETCONF) Access Control Model", RFC 6536, | |||
| DOI 10.17487/RFC6536, March 2012, | DOI 10.17487/RFC6536, March 2012, | |||
| <https://www.rfc-editor.org/info/rfc6536>. | <https://www.rfc-editor.org/info/rfc6536>. | |||
| [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
| End of changes. 52 change blocks. | ||||
| 1683 lines changed or deleted | 1801 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||