rfc8676v1.txt   rfc8676.txt 
skipping to change at line 53 skipping to change at line 53
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction 1. Introduction
2. Terminology 2. Terminology
3. Overview of the Modules 3. Overview of the Modules
3.1. Overall Structure 3.1. Overall Structure
3.2. Additional Components Configuration 3.2. Configuration for Additional Components
4. Softwire CE YANG Tree Diagram 4. Softwire CE YANG Tree Diagram
4.1. CE Tree Diagram 4.1. CE Tree Diagram
4.2. Softwire CE Tree Diagram Description 4.2. Softwire CE Tree Diagram Description
5. Softwire BR YANG Tree Diagram 5. Softwire BR YANG Tree Diagram
5.1. BR Tree Diagram 5.1. BR Tree Diagram
5.2. Softwire BR Tree Diagram Description 5.2. Softwire BR Tree Diagram Description
6. Softwire CE YANG Module 6. Softwire CE YANG Module
7. BR Softwire YANG Module 7. BR Softwire YANG Module
8. Common Softwire Element Groups YANG Module 8. Common Softwire Element Groups YANG Module
9. Security Considerations 9. Security Considerations
skipping to change at line 115 skipping to change at line 115
The reader should be familiar with the concepts and terms defined in The reader should be familiar with the concepts and terms defined in
[RFC7596], [RFC7597], [RFC7599], and the YANG data modeling language [RFC7596], [RFC7597], [RFC7599], and the YANG data modeling language
defined in [RFC7950]. defined in [RFC7950].
The YANG modules in this document adopt the Network Management The YANG modules in this document adopt the Network Management
Datastore Architecture (NMDA) [RFC8342]. The meanings of the symbols Datastore Architecture (NMDA) [RFC8342]. The meanings of the symbols
used in tree diagrams are defined in [RFC8340]. used in tree diagrams are defined in [RFC8340].
The document uses the abbreviation 'BR' as a general term for The document uses the abbreviation 'BR' as a general term for
softwire tunnel concentrators, including both MAP Border Routers softwire tunnel concentrators, including both MAP Border Routers
[RFC7597] and Lightweight 4over6 lWAFTRs [RFC7596]. [RFC7597] and Lightweight 4over6 lwAFTRs [RFC7596].
For brevity, "algorithm" is used to refer to the "mapping algorithm" For brevity, "algorithm" is used to refer to the "mapping algorithm"
defined in [RFC7597]. defined in [RFC7597].
A network element may support one or multiple instances of a softwire A network element may support one or multiple instances of a softwire
mechanism; each of these instances (i.e., binding instances, MAP-E mechanism; each of these instances (i.e., binding instances, MAP-E
instances, or MAP-T instances) may have its own configuration and instances, or MAP-T instances) may have its own configuration and
parameters. The term 'algo-instance' is used to denote both MAP-E parameters. The term 'algo-instance' is used to denote both MAP-E
and MAP-T instances. and MAP-T instances.
skipping to change at line 186 skipping to change at line 186
NETCONF notifications are also included. NETCONF notifications are also included.
| Earlier draft versions of this specification combined the | Earlier draft versions of this specification combined the
| softwire mechanisms by their associated technologies rather | softwire mechanisms by their associated technologies rather
| than their function in the architecture. As the document was | than their function in the architecture. As the document was
| revised, it became apparent that dividing the modules by their | revised, it became apparent that dividing the modules by their
| role in the architecture (CE or BR) was a better approach as | role in the architecture (CE or BR) was a better approach as
| this follows the intended function and existing implementation | this follows the intended function and existing implementation
| approaches more closely. | approaches more closely.
3.2. Additional Components Configuration 3.2. Configuration for Additional Components
The softwire modules only aim to provide configuration relevant for The softwire modules only aim to provide configuration relevant for
softwires. In order to fully provision a CE element, the following softwires. In order to fully provision a CE element, the following
may also be necessary: may also be necessary:
* IPv6 forwarding and routing configuration, to enable the CE to * IPv6 forwarding and routing configuration, to enable the CE to
obtain one or more IPv6 prefixes for softwire usage. A YANG obtain one or more IPv6 prefixes for softwire usage. A YANG
module for routing management is described in [RFC8349]. module for routing management is described in [RFC8349].
* IPv4 routing configuration, to add one or more IPv4 destination * IPv4 routing configuration, to add one or more IPv4 destination
skipping to change at line 389 skipping to change at line 389
5.1. BR Tree Diagram 5.1. BR Tree Diagram
The BR YANG module provides configuration and monitoring for all of The BR YANG module provides configuration and monitoring for all of
the softwire mechanisms covered in this document (i.e., Lightweight the softwire mechanisms covered in this document (i.e., Lightweight
4over6, MAP-E, and MAP-T). 4over6, MAP-E, and MAP-T).
Figure 2 provides the tree structure of this module: Figure 2 provides the tree structure of this module:
module: ietf-softwire-br module: ietf-softwire-br
+--rw br-instances +--rw br-instances
+--rw (br-type)? +--rw (br-type)?
+--:(binding) {binding-mode}? +--:(binding) {binding-mode}?
| +--rw binding | +--rw binding
| +--rw bind-instance* [name] | +--rw bind-instance* [name]
| +--rw name string | +--rw name string
| +--rw binding-table-versioning | +--rw binding-table-versioning
| | +--rw version? uint64 | | +--rw version? uint64
| | +--rw date? yang:date-and-time | | +--rw date? yang:date-and-time
| +--rw softwire-num-max uint32 | +--rw softwire-num-max uint32
| +--rw softwire-payload-mtu uint16 | +--rw softwire-payload-mtu uint16
| +--rw softwire-path-mru uint16 | +--rw softwire-path-mru uint16
| +--rw enable-hairpinning? boolean | +--rw enable-hairpinning? boolean
| +--rw binding-table | +--rw binding-table
| | +--rw binding-entry* [binding-ipv6info] | | +--rw binding-entry* [binding-ipv6info]
| | +--rw binding-ipv6info union | | +--rw binding-ipv6info union
| | +--rw binding-ipv4-addr? | | +--rw binding-ipv4-addr?
| | | inet:ipv4-address | | | inet:ipv4-address
| | +--rw port-set | | +--rw port-set
| | | +--rw psid-offset? uint8 | | | +--rw psid-offset? uint8
| | | +--rw psid-len uint8 | | | +--rw psid-len uint8
| | | +--rw psid uint16 | | | +--rw psid uint16
| | +--rw br-ipv6-addr? | | +--rw br-ipv6-addr?
| | inet:ipv6-address | | inet:ipv6-address
| +--rw icmp-policy | +--rw icmp-policy
| | +--rw icmpv4-errors | | +--rw icmpv4-errors
| | | +--rw allow-incoming-icmpv4? boolean | | | +--rw allow-incoming-icmpv4? boolean
| | | +--rw icmpv4-rate? uint32 | | | +--rw icmpv4-rate? uint32
| | | +--rw generate-icmpv4-errors? boolean | | | +--rw generate-icmpv4-errors? boolean
| | +--rw icmpv6-errors | | +--rw icmpv6-errors
| | +--rw generate-icmpv6-errors? boolean | | +--rw generate-icmpv6-errors? boolean
| | +--rw icmpv6-rate? uint32 | | +--rw icmpv6-rate? uint32
| +--ro traffic-stat | +--ro traffic-stat
| +--ro discontinuity-time yang:date-and-time | +--ro discontinuity-time yang:date-and-time
| +--ro sent-ipv4-packets? | +--ro sent-ipv4-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro sent-ipv4-bytes? | +--ro sent-ipv4-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro sent-ipv6-packets? | +--ro sent-ipv6-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro sent-ipv6-bytes? | +--ro sent-ipv6-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro rcvd-ipv4-packets? | +--ro rcvd-ipv4-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro rcvd-ipv4-bytes? | +--ro rcvd-ipv4-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro rcvd-ipv6-packets? | +--ro rcvd-ipv6-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro rcvd-ipv6-bytes? | +--ro rcvd-ipv6-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-ipv4-packets? | +--ro dropped-ipv4-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-ipv4-bytes? | +--ro dropped-ipv4-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-ipv6-packets? | +--ro dropped-ipv6-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-ipv6-bytes? | +--ro dropped-ipv6-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-ipv4-fragments? | +--ro dropped-ipv4-fragments?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-ipv4-fragment-bytes? | +--ro dropped-ipv4-fragment-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro ipv6-fragments-reassembled? | +--ro ipv6-fragments-reassembled?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro ipv6-fragments-bytes-reassembled? | +--ro ipv6-fragments-bytes-reassembled?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro out-icmpv4-error-packets? | +--ro out-icmpv4-error-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro out-icmpv4-error-bytes? | +--ro out-icmpv4-error-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro out-icmpv6-error-packets? | +--ro out-icmpv6-error-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro out-icmpv6-error-bytes? | +--ro out-icmpv6-error-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-icmpv4-packets? | +--ro dropped-icmpv4-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro dropped-icmpv4-bytes? | +--ro dropped-icmpv4-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro hairpin-ipv4-packets? | +--ro hairpin-ipv4-packets?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro hairpin-ipv4-bytes? | +--ro hairpin-ipv4-bytes?
| | yang:zero-based-counter64 | | yang:zero-based-counter64
| +--ro active-softwire-num? | +--ro active-softwire-num?
| uint32 | uint32
+--:(algo) {map-e or map-t}? +--:(algo) {map-e or map-t}?
+--rw algorithm +--rw algorithm
+--rw algo-instance* [name] +--rw algo-instance* [name]
+--rw name string +--rw name string
+--rw enable? boolean +--rw enable? boolean
+--rw algo-versioning +--rw algo-versioning
| +--rw version? uint64 | +--rw version? uint64
| +--rw date? yang:date-and-time | +--rw date? yang:date-and-time
+--rw (data-plane)? +--rw (data-plane)?
| +--:(encapsulation) {map-e}? | +--:(encapsulation) {map-e}?
| | +--rw br-ipv6-addr inet:ipv6-address | | +--rw br-ipv6-addr inet:ipv6-address
| +--:(translation) {map-t}? | +--:(translation) {map-t}?
| +--rw dmr-ipv6-prefix? inet:ipv6-prefix | +--rw dmr-ipv6-prefix? inet:ipv6-prefix
+--rw ea-len uint8 +--rw ea-len uint8
+--rw rule-ipv6-prefix inet:ipv6-prefix +--rw rule-ipv6-prefix inet:ipv6-prefix
+--rw rule-ipv4-prefix inet:ipv4-prefix +--rw rule-ipv4-prefix inet:ipv4-prefix
+--rw forwarding boolean +--rw forwarding boolean
+--rw port-set +--rw port-set
| +--rw psid-offset? uint8 | +--rw psid-offset? uint8
| +--rw psid-len uint8 | +--rw psid-len uint8
| +--rw psid uint16 | +--rw psid uint16
+--ro traffic-stat +--ro traffic-stat
+--ro discontinuity-time yang:date-and-time +--ro discontinuity-time yang:date-and-time
+--ro sent-ipv4-packets? +--ro sent-ipv4-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro sent-ipv4-bytes? +--ro sent-ipv4-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro sent-ipv6-packets? +--ro sent-ipv6-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro sent-ipv6-bytes? +--ro sent-ipv6-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro rcvd-ipv4-packets? +--ro rcvd-ipv4-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro rcvd-ipv4-bytes? +--ro rcvd-ipv4-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro rcvd-ipv6-packets? +--ro rcvd-ipv6-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro rcvd-ipv6-bytes? +--ro rcvd-ipv6-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro dropped-ipv4-packets? +--ro dropped-ipv4-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro dropped-ipv4-bytes? +--ro dropped-ipv4-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro dropped-ipv6-packets? +--ro dropped-ipv6-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro dropped-ipv6-bytes? +--ro dropped-ipv6-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro dropped-ipv4-fragments? +--ro dropped-ipv4-fragments?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro dropped-ipv4-fragment-bytes? +--ro dropped-ipv4-fragment-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro ipv6-fragments-reassembled? +--ro ipv6-fragments-reassembled?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro ipv6-fragments-bytes-reassembled? +--ro ipv6-fragments-bytes-reassembled?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro out-icmpv4-error-packets? +--ro out-icmpv4-error-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro out-icmpv4-error-bytes? +--ro out-icmpv4-error-bytes?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro out-icmpv6-error-packets? +--ro out-icmpv6-error-packets?
| yang:zero-based-counter64 | yang:zero-based-counter64
+--ro out-icmpv6-error-bytes? +--ro out-icmpv6-error-bytes?
yang:zero-based-counter64 yang:zero-based-counter64
notifications: notifications:
+---n softwire-binding-instance-event {binding-mode}? +---n softwire-binding-instance-event {binding-mode}?
| +--ro bind-name? | +--ro bind-name?
| | -> /br-instances/binding/bind-instance/name | | -> /br-instances/binding/bind-instance/name
| +--ro invalid-entry* leafref | +--ro invalid-entry* leafref
| +--ro added-entry* inet:ipv6-address | +--ro added-entry* inet:ipv6-address
| +--ro modified-entry* leafref | +--ro modified-entry* leafref
+---n softwire-algorithm-instance-event {map-e, map-t}? +---n softwire-algorithm-instance-event {map-e, map-t}?
+--ro algo-name +--ro algo-name
skipping to change at line 625 skipping to change at line 625
} }
import ietf-softwire-common { import ietf-softwire-common {
prefix softwire-common; prefix softwire-common;
reference reference
"RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port
Softwires"; Softwires";
} }
import iana-tunnel-type { import iana-tunnel-type {
prefix iana-tunnel-type; prefix iana-tunnel-type;
reference reference
"RFC 8675: Tunnel Interface Types YANG Module"; "RFC 8675: A YANG Data Model for Tunnel Interface Types";
} }
organization organization
"IETF Softwire Working Group"; "IETF Softwire Working Group";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/softwire/> "WG Web: <https://datatracker.ietf.org/wg/softwire/>
WG List: <mailto:softwire@ietf.org> WG List: <mailto:softwire@ietf.org>
Author: Qi Sun Author: Qi Sun
<mailto:sunqi.ietf@gmail.com> <mailto:sunqi.ietf@gmail.com>
skipping to change at line 1232 skipping to change at line 1232
description description
"ICMPv6 error processing configuration"; "ICMPv6 error processing configuration";
leaf generate-icmpv6-errors { leaf generate-icmpv6-errors {
type boolean; type boolean;
default "true"; default "true";
description description
"Enables the generation of ICMPv6 error messages if "Enables the generation of ICMPv6 error messages if
no matching binding table entry is found for a no matching binding table entry is found for a
received packet."; received packet.";
reference reference
"RFC 7596: Lightweight 4over 6: "RFC 7596: Lightweight 4over6:
4over 6: An Extension to the Dual-Stack Lite 4over6: An Extension to the Dual-Stack Lite
Architecture, Section 6.2"; Architecture, Section 6.2";
} }
leaf icmpv6-rate { leaf icmpv6-rate {
type uint32; type uint32;
description description
"Rate limit threshold in messages per second "Rate limit threshold in messages per second
for sending ICMPv6 errors messages"; for sending ICMPv6 errors messages";
reference reference
"RFC 7596: Lightweight 4over6: An Extension "RFC 7596: Lightweight 4over6: An Extension
to the Dual-Stack Lite Architecture, Section 9"; to the Dual-Stack Lite Architecture, Section 9";
skipping to change at line 1417 skipping to change at line 1417
gets other information from the binding BR about the entry gets other information from the binding BR about the entry
indexed by that ipv6 address."; indexed by that ipv6 address.";
} }
leaf-list modified-entry { leaf-list modified-entry {
type leafref { type leafref {
path "/br-instances/binding/" path "/br-instances/binding/"
+ "bind-instance[name=current()/../bind-name]/" + "bind-instance[name=current()/../bind-name]/"
+ "binding-table/binding-entry/binding-ipv6info"; + "binding-table/binding-entry/binding-ipv6info";
} }
description description
"The binding-table entry that has been modified."; "The binding table entry that has been modified.";
} }
} }
notification softwire-algorithm-instance-event { notification softwire-algorithm-instance-event {
if-feature "map-e or map-t"; if-feature "map-e or map-t";
description description
"Notifications for an algorithm instance when an entry is "Notifications for an algorithm instance when an entry is
added, modified, or is not valid anymore."; added, modified, or is not valid anymore.";
leaf algo-name { leaf algo-name {
type leafref { type leafref {
path "/br-instances/algorithm/algo-instance/name"; path "/br-instances/algorithm/algo-instance/name";
} }
mandatory true; mandatory true;
description description
"algorithmic instance event."; "Algorithmic instance event.";
} }
leaf-list invalid-entry { leaf-list invalid-entry {
type leafref { type leafref {
path "/br-instances/algorithm/algo-instance/name"; path "/br-instances/algorithm/algo-instance/name";
} }
description description
"Invalid entry event"; "Invalid entry.";
} }
leaf-list added-entry { leaf-list added-entry {
type leafref { type leafref {
path "/br-instances/algorithm/algo-instance/name"; path "/br-instances/algorithm/algo-instance/name";
} }
description description
"Added entry.f"; "Added entry.";
} }
leaf-list modified-entry { leaf-list modified-entry {
type leafref { type leafref {
path "/br-instances/algorithm/algo-instance/name"; path "/br-instances/algorithm/algo-instance/name";
} }
description description
"Modified entry."; "Modified entry.";
} }
} }
} }
skipping to change at line 1656 skipping to change at line 1656
leaf rule-ipv4-prefix { leaf rule-ipv4-prefix {
type inet:ipv4-prefix; type inet:ipv4-prefix;
mandatory true; mandatory true;
description description
"The Rule IPv4 prefix defined in the mapping rule."; "The Rule IPv4 prefix defined in the mapping rule.";
} }
leaf forwarding { leaf forwarding {
type boolean; type boolean;
mandatory true; mandatory true;
description description
"This parameter specifies whether the rule may be used as a "This parameter specifies whether the rule may be used for
Forward Mapping Rule (FMR). If set, this rule is used as forwarding; if set, this rule is used as a Forwarding
an FMR; if not set, this rule is a Basic Mapping Rule (BMR) Mapping Rule (FMR); if not set, this rule is a Basic
only and must not be used for forwarding."; Mapping Rule (BMR) only and must not be used for forwarding.";
} }
} }
grouping traffic-stat { grouping traffic-stat {
description description
"Traffic statistics"; "Traffic statistics";
leaf sent-ipv4-packets { leaf sent-ipv4-packets {
type yang:zero-based-counter64; type yang:zero-based-counter64;
description description
"Number of decapsulated and forwarded IPv4 packets. "Number of decapsulated and forwarded IPv4 packets.
skipping to change at line 1954 skipping to change at line 1954
URI: urn:ietf:params:xml:ns:yang:ietf-softwire-br URI: urn:ietf:params:xml:ns:yang:ietf-softwire-br
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace. XML: N/A; the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-softwire-common URI: urn:ietf:params:xml:ns:yang:ietf-softwire-common
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace. XML: N/A; the requested URI is an XML namespace.
IANA has registered the following YANG modules in the "YANG Module IANA has registered the following YANG modules in the "YANG Module
Names" subregistry [RFC7950] within the "YANG Parameters" registry. Names" subregistry [RFC6020] within the "YANG Parameters" registry.
name: ietf-softwire-ce name: ietf-softwire-ce
namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-ce namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-ce
prefix: softwire-ce prefix: softwire-ce
reference: RFC 8676 reference: RFC 8676
name: ietf-softwire-br name: ietf-softwire-br
namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-br namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-br
prefix: softwire-br prefix: softwire-br
reference: RFC 8676 reference: RFC 8676
skipping to change at line 2160 skipping to change at line 2160
<br-ipv6-addr>2001:db8:1::2</br-ipv6-addr> <br-ipv6-addr>2001:db8:1::2</br-ipv6-addr>
</binding-entry> </binding-entry>
</binding-table> </binding-table>
<softwire-num-max>1024</softwire-num-max> <softwire-num-max>1024</softwire-num-max>
<softwire-path-mru>1540</softwire-path-mru> <softwire-path-mru>1540</softwire-path-mru>
<softwire-payload-mtu>1500</softwire-payload-mtu> <softwire-payload-mtu>1500</softwire-payload-mtu>
</bind-instance> </bind-instance>
</binding> </binding>
</br-instances> </br-instances>
Figure 3: lw4o6 Binding-Table Configuration XML Figure 3: lw4o6 Binding Table Configuration XML
A.2. Configuration Example for a MAP-E BR A.2. Configuration Example for a MAP-E BR
A MAP-E BR is configured with forward mapping rules for the CEs it is A MAP-E BR is configured with forward mapping rules for the CEs it is
serving. In this example (taken from [RFC7597], Appendix A, Example serving. In this example (taken from [RFC7597], Appendix A, Example
2), the following parameters are required: 2), the following parameters are required:
* Rule IPv6 Prefix * Rule IPv6 Prefix
* Rule IPv4 Prefix * Rule IPv4 Prefix
skipping to change at line 2369 skipping to change at line 2369
Special thanks to Tom Petch and Martin Bjorklund for the detailed Special thanks to Tom Petch and Martin Bjorklund for the detailed
review and suggestions. review and suggestions.
Contributors Contributors
The following individuals are co-authors: The following individuals are co-authors:
Yong Cui Yong Cui
Tsinghua University Tsinghua University
Beijing 100084
P.R. China P.R. China
Phone: +86-10-6260-3059 Phone: +86-10-6260-3059
Email: cuiyong@tsinghua.edu.cn Email: cuiyong@tsinghua.edu.cn
Qi Sun Qi Sun
Tsinghua University Tsinghua University
Beijing 100084
P.R. China P.R. China
Phone: +86-10-6278-5822 Phone: +86-10-6278-5822
Email: sunqi.ietf@gmail.com Email: sunqi.ietf@gmail.com
Linhui Sun Linhui Sun
Tsinghua University Tsinghua University
Beijing 100084
P.R. China P.R. China
Phone: +86-10-6278-5822 Phone: +86-10-6278-5822
Email: lh.sunlinh@gmail.com Email: lh.sunlinh@gmail.com
Sladjana Zechlin Sladjana Zechlin
Deutsche Telekom AG Deutsche Telekom AG
Landgrabenweg 151
Bonn, NRW 53227
Germany Germany
Email: sladjana.zechlin@telekom.de Email: sladjana.zechlin@telekom.de
Rajiv Asati Rajiv Asati
Cisco Systems, Inc. Cisco Systems, Inc.
7025 Kit Creek Rd.
RTP, NC 27709
United States of America United States of America
Email: Rajiva@cisco.com Email: Rajiva@cisco.com
The following individual contributed to this document:
Hao Wang Hao Wang
Tsinghua University Tsinghua University
Beijing 100084
P.R. China P.R. China
Phone: +86-10-6278-5822 Phone: +86-10-6278-5822
Email: wangh13@mails.tsinghua.edu.cn Email: wangh13@mails.tsinghua.edu.cn
Authors' Addresses Authors' Addresses
Ian Farrer (editor) Ian Farrer (editor)
Deutsche Telekom AG Deutsche Telekom AG
CTO-ATI, Landgrabenweg 151 CTO-ATI, Landgrabenweg 151
53227 Bonn 53227 Bonn
 End of changes. 20 change blocks. 
173 lines changed or deleted 163 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/