| < draft-xie-bier-ipv6-encapsulation-02.txt | draft-xie-bier-ipv6-encapsulation-03.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Xie | Network Working Group J. Xie | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track L. Geng | Intended status: Standards Track L. Geng | |||
| Expires: January 2, 2020 China Mobile | Expires: January 21, 2020 China Mobile | |||
| M. McBride | M. McBride | |||
| Futurewei | Futurewei | |||
| R. Asati | R. Asati | |||
| Cisco | Cisco | |||
| S. Dhanaraj | S. Dhanaraj | |||
| G. Yan | ||||
| Y. Xia | ||||
| Huawei | Huawei | |||
| July 1, 2019 | July 20, 2019 | |||
| Encapsulation for BIER in Non-MPLS IPv6 Networks | Encapsulation for BIER in Non-MPLS IPv6 Networks | |||
| draft-xie-bier-ipv6-encapsulation-02 | draft-xie-bier-ipv6-encapsulation-03 | |||
| Abstract | Abstract | |||
| This document proposes a BIER IPv6 (BIERv6) encapsulation for Non- | This document proposes a BIER IPv6 (BIERv6) encapsulation for Non- | |||
| MPLS IPv6 Networks using the IPv6 Destination Option extension | MPLS IPv6 Networks using the IPv6 Destination Option extension | |||
| header. | header. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 46 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 2, 2020. | This Internet-Draft will expire on January 21, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. BIER IPv6 Encapsulation . . . . . . . . . . . . . . . . . . . 3 | 3. BIER IPv6 Encapsulation . . . . . . . . . . . . . . . . . . . 3 | |||
| 3.1. BIER Option in IPv6 Destination Options Header . . . . . 3 | 3.1. BIER Option in IPv6 Destination Options Header . . . . . 3 | |||
| 3.2. Multicast and Unicast Destination Address . . . . . . . . 6 | 3.2. Multicast and Unicast Destination Address . . . . . . . . 6 | |||
| 3.3. BIERv6 Packet Format . . . . . . . . . . . . . . . . . . 8 | 3.3. BIERv6 Packet Format . . . . . . . . . . . . . . . . . . 8 | |||
| 4. BIERv6 Packet Processing . . . . . . . . . . . . . . . . . . 9 | 4. BIERv6 Packet Processing . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6.1. BIER Option Type . . . . . . . . . . . . . . . . . . . . 11 | 6.1. BIER Option Type . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6.2. BIER Multicast Address . . . . . . . . . . . . . . . . . 11 | 6.2. End.BIER Function . . . . . . . . . . . . . . . . . . . . 11 | |||
| 6.3. End.BIER Function . . . . . . . . . . . . . . . . . . . . 12 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 13 | 9.2. Informative References . . . . . . . . . . . . . . . . . 12 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 1. Introduction | 1. Introduction | |||
| Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | |||
| that provides optimal multicast forwarding without requiring | that provides optimal multicast forwarding without requiring | |||
| intermediate routers to maintain any per-flow state by using a | intermediate routers to maintain any per-flow state by using a | |||
| multicast-specific BIER header. | multicast-specific BIER header. | |||
| [RFC8296] defines a common BIER Header format for MPLS and Non-MPLS | [RFC8296] defines a common BIER Header format for MPLS and Non-MPLS | |||
| skipping to change at page 3, line 39 ¶ | skipping to change at page 3, line 39 ¶ | |||
| o BIER Option - An Option type carried in IPv6 Destination Options | o BIER Option - An Option type carried in IPv6 Destination Options | |||
| Header which includes the standard Non-MPLS BIER Header. | Header which includes the standard Non-MPLS BIER Header. | |||
| o BIERv6 Header - An IPv6 Header with BIER Option. | o BIERv6 Header - An IPv6 Header with BIER Option. | |||
| o BIERv6 Packet - An IPv6 packet with BIERv6 Header. Such an IPv6 | o BIERv6 Packet - An IPv6 packet with BIERv6 Header. Such an IPv6 | |||
| packet typically carries the user multicast payload and is | packet typically carries the user multicast payload and is | |||
| forwarded by BFRs in the BIERv6 network towards the multicast | forwarded by BFRs in the BIERv6 network towards the multicast | |||
| receivers. | receivers. | |||
| o BIER Multicast Address - A well-known multicast address used as a | ||||
| Destination Address in the BIERv6 Header to forward the packets to | ||||
| other BFRs in BIERv6 network. | ||||
| 3. BIER IPv6 Encapsulation | 3. BIER IPv6 Encapsulation | |||
| 3.1. BIER Option in IPv6 Destination Options Header | 3.1. BIER Option in IPv6 Destination Options Header | |||
| Destination Options Header and the Options that can be carried under | Destination Options Header and the Options that can be carried under | |||
| this extension header is defined in [RFC8200]. This document defines | this extension header is defined in [RFC8200]. This document defines | |||
| a new Option type - BIER Option, to encode the Non-MPLS BIER header. | a new Option type - BIER Option, to encode the Non-MPLS BIER header. | |||
| As specified in Section 4.2 [RFC8200], the BIER Option follows type- | As specified in Section 4.2 [RFC8200], the BIER Option follows type- | |||
| length-value (TLV) encoding format and the standard Non-MPLS BIER | length-value (TLV) encoding format and the standard Non-MPLS BIER | |||
| header [RFC8296] is encoded in the value portion of the BIER Option | header [RFC8296] is encoded in the value portion of the BIER Option | |||
| skipping to change at page 6, line 25 ¶ | skipping to change at page 6, line 22 ¶ | |||
| For BIER Proto 6, indicating an IPv6 payload, use Next Header | For BIER Proto 6, indicating an IPv6 payload, use Next Header | |||
| value 41. | value 41. | |||
| BFIR-id: See Section 2.1.2 of RFC 8296. | BFIR-id: See Section 2.1.2 of RFC 8296. | |||
| BitString: See Section 2.1.2 of RFC 8296. | BitString: See Section 2.1.2 of RFC 8296. | |||
| 3.2. Multicast and Unicast Destination Address | 3.2. Multicast and Unicast Destination Address | |||
| BIER is generally a hop-by-hop and one-to-many architecture, and thus | BIER is generally a hop-by-hop and one-to-many architecture, and thus | |||
| the IPv6 Destination Address (DA) being a Multicast Address is a | the IPv6 Destination Address (DA) being a Multicast Address is a way | |||
| proper approach for both the two paradigms in BIERv6 encapsulation. | one may think of as an approach for both the two paradigms in BIERv6 | |||
| encapsulation. | ||||
| This document proposes to use multicast address FF0X::AB37 (to be | ||||
| allocated and reserved by IANA - See Section 6.2) as the IPv6 | ||||
| destination address for the BIERv6 packets to be forwarded in the | ||||
| BIER domain. | ||||
| All the interfaces of the BFRs supporting the BIERv6 encapsulation | ||||
| defined in this document MUST subscribe and listen to BIER multicast | ||||
| address FF0X::AB37 belong to scopes [1, 2, 3, 4, 5, E] defined in | ||||
| [RFC7346]. However it is RECOMMENDED to use Realm-Local scope (scope | ||||
| value 3), that is FF03:AB37 as a destination address while forwarding | ||||
| the BIERv6 packet, as this scope zone is exactly the BIERv6 Domain. | ||||
| The use of other scopes is outside the scope of this document. | ||||
| Use of a Unicast Address as a IPv6 Destination Address is permissible | However using a unicast address has the following benefits: | |||
| and useful in certain cases. | ||||
| 1. Tunneling a BIERv6 packet over a non-BIER capable router. | 1. Tunneling a BIERv6 packet over a non-BIER capable router. | |||
| 2. Fast rerouting a BIERv6 packet using a unicast by-pass tunnel. | 2. Fast rerouting a BIERv6 packet using a unicast by-pass tunnel. | |||
| 3. Forwarding a BIERv6 packet to one of the many BFR neighbors | 3. Forwarding a BIERv6 packet to one of the many BFR neighbors | |||
| connected on a LAN. | connected on a LAN. | |||
| 4. Connecting BIER domains, for example Data Center domains, in an | 4. Connecting BIER domains, for example Data Center domains, in an | |||
| overlay manner. | overlay manner. | |||
| Some of the above functions are assumed very basic requirements and | ||||
| part of BIER architecture as described in [RFC8279]. This document | ||||
| uses unicast address for both one-hop replication and multi-hop | ||||
| replication. | ||||
| The unicast address used in BIERv6 packet targeting a BFR SHOULD be | The unicast address used in BIERv6 packet targeting a BFR SHOULD be | |||
| the IPv6 BFR-Prefix advertised from this BFR. When a BFR advertises | the IPv6 BFR-Prefix advertised from this BFR. When a BFR advertises | |||
| the BIER information with BIERv6 encapsulation capability, the IPv6 | the BIER information with BIERv6 encapsulation capability, the IPv6 | |||
| BFR-prefix of this BFR MUST be selected specifically for BIERv6 | BFR-prefix of this BFR MUST be selected specifically for BIERv6 | |||
| packet forwarding. Locally this "BIER Specific" IPv6 address is | packet forwarding. Locally this "BIER Specific" IPv6 address is | |||
| initialized in FIB with a flag of "BIER specific handling", | initialized in FIB with a flag of "BIER specific handling", | |||
| represented as End.BIER function. For convenience, the indication in | represented as End.BIER function. For convenience, the indication in | |||
| FIB share the same space as SRv6 Endpoints Behaviors defined in | FIB share the same space as SRv6 Endpoints Behaviors defined in | |||
| [I-D.ietf-spring-srv6-network-programming]. Apart from this sharing | [I-D.ietf-spring-srv6-network-programming]. Apart from this sharing | |||
| of code space, there is nothing dependent on SRv6. The co-existance | of code space, there is nothing dependent on SRv6. The co-existance | |||
| of BIERv6 and SRv6 is outside the scope of this document. | of BIERv6 and SRv6 is outside the scope of this document. | |||
| BFR Prefix is used only in control plane in BIER MPLS encapsulation | BFR Prefix is used only in control plane in BIER MPLS encapsulation | |||
| but not used in data plane. While in BIERv6, BFR prefix is used in | but not used in data plane. While in BIERv6, BFR prefix is used in | |||
| both control plane and data plane. The "BIER Specific" IPv6 address | both control plane and data plane. For the convinence of migration | |||
| can be used for BIER MPLS in control plane too. So it is RECOMMENDED | to BIERv6, it is RECOMMENDED to use an "exclusive" IPv6 address as | |||
| to use a "BIER specific" IPv6 address as BFR prefix when deploying | BFR prefix when deploying BIER-MPLS in IPv6 networks. The | |||
| BIER in IPv6 network from the scratch. One should be careful not use | "exclusive" IPv6 address should not be used for general purpose like | |||
| the IPv6 address selected as BFR prefix for other purpose like BGP | BGP session establishment, but for "BIER specific" function. For | |||
| session until the "BIER specific handling" can do more general | Non-BIER IPv6 routers, the IPv6 address is a regular IPv6 prefix | |||
| process. | reachable through IPv6 unicast routing. | |||
| The following is an example of configuring a BIER specific IPv6 | The following is an example of configuring a BIER specific IPv6 | |||
| address and using this address as BFR prefix: | address and using this address as BFR prefix: | |||
| # Config a BIER specific IPv6 address with 128-bit mask on loopback0. | # Config a BIER specific IPv6 address with 128-bit mask on loopback0. | |||
| interface loopback0 | interface loopback0 | |||
| ipv6 address 2019::AB37 128 End.BIER | ipv6 address 2001:DB8::AB37 128 End.BIER | |||
| # Config the BIER-specific IPv6 address on loopback0 as BFR Prefix. | # Config the BIER-specific IPv6 address on loopback0 as BFR Prefix. | |||
| bier sub-domain 6 ipv6-underlay | bier sub-domain 6 ipv6-underlay | |||
| bfr-prefix interface loopback0 | bfr-prefix interface loopback0 | |||
| The address used as "BIER specific" IPv6 address can be from inside | The address used as "BIER specific" IPv6 address can be from inside | |||
| the scope of an SRv6 Locator or outside the scope of the SRv6 | the scope of an SRv6 Locator or outside the scope of the SRv6 | |||
| Locator(s) since it is a host prefix (128-bit prefix-length prefix). | Locator(s) since it is a host prefix (128-bit prefix-length prefix). | |||
| Each "BIER specific" address can be used in one or many sub-domains | Each "BIER specific" address can be used in one or many sub-domains | |||
| as BFR-prefix, such that it can be associated with one or many Multi- | as BFR-prefix, such that it can be associated with one or many Multi- | |||
| Topologies (MTs) or algorithms. | Topologies (MTs) or algorithms. | |||
| More than one "BIER specific" address are also allowed as different | More than one "BIER specific" address are also allowed as different | |||
| BFR-prefix of more than one sub-domain, as described in section 2 of | BFR-prefix of more than one sub-domain, as described in section 2 of | |||
| [RFC8279]. | [RFC8279]. | |||
| The following is an example pseudo-code of the End.BIER function: | The following is an example pseudo-code of the End.BIER function: | |||
| 1. IF NH = 60 AND HopLimit > 0 ;;Ref1 | 1. IF NH = 60 and HopLimit > 0 ;;Ref1 | |||
| 2. IF (OptType1 = BIER) and (OptLength1 = HdrExtLen*8 + 4) ;;Ref2 | 2. IF (OptType1 = BIER) and (OptLength1 = HdrExtLen*8 + 4) ;;Ref2 | |||
| 3. Lookup the BIER Header inside the BIER option TLV. | 3. Lookup the BIER Header inside the BIER option TLV. | |||
| 4. Forward via the matched entry. | 4. Forward via the matched entry. | |||
| 5. ELSE | 5. ELSE ;;Ref3 | |||
| 6. Drop the packet. | 6. Drop the packet and end the process. | |||
| 7. ELSE IF Last_NH = ICMPv6 ;;Ref3 | 7. ELSE IF NH=ICMPv6 or (NH=60 and Dest_NH=ICMPv6) ;;Ref4 | |||
| 8. Send to CPU. | 8. Send to CPU. | |||
| 9. ELSE | 9. ELSE ;;Ref5 | |||
| 10. Drop the packet. | 10. Drop the packet. | |||
| Ref1: Destination options header follows the IPv6 header directly and | Ref1: Destination options header follows the IPv6 header directly and | |||
| HopLimit is bigger than zero. | HopLimit is bigger than zero. | |||
| Ref2: The first TLV is BIER type and is the only one in Destination | Ref2: The first TLV is BIER type and is the only TLV present in | |||
| options header. | Destination options header. | |||
| Ref3: An ICMPv6 packet using End.BIER as destination address. | Ref3/Ref5: Undesired packet is droped because the destination address | |||
| is the BIER specific IPv6 address (End.BIER function). | ||||
| Ref4: An ICMPv6 packet using End.BIER as destination address. | ||||
| 3.3. BIERv6 Packet Format | 3.3. BIERv6 Packet Format | |||
| As a multicast packet enters the BIER domain in a Non-MPLS IPv6 | As a multicast packet enters the BIER domain in a Non-MPLS IPv6 | |||
| network, the multicast packet will be encapsulated with BIERv6 | network, the multicast packet will be encapsulated with BIERv6 | |||
| Header. | Header. | |||
| Typically a BIERv6 header would contain the Destination Options | Typically a BIERv6 header would contain the Destination Options | |||
| Header as the only Extensions Header besides IPv6 Header. However, | Header as the only Extensions Header besides IPv6 Header. However, | |||
| it is allowed and possible for other extension headers to appear | it is allowed and possible for other extension headers to appear | |||
| skipping to change at page 9, line 43 ¶ | skipping to change at page 9, line 36 ¶ | |||
| some IPv6-specific processing procedures due to the base and general | some IPv6-specific processing procedures due to the base and general | |||
| procedures of IPv6. | procedures of IPv6. | |||
| On the overlay layer, when a multicast packet enters the BIER domain | On the overlay layer, when a multicast packet enters the BIER domain | |||
| in a Non-MPLS IPv6 network, the Ingress BFR (BFIR) encapsulates the | in a Non-MPLS IPv6 network, the Ingress BFR (BFIR) encapsulates the | |||
| multicast packet with a BIERv6 Header, transforming it to a BIERv6 | multicast packet with a BIERv6 Header, transforming it to a BIERv6 | |||
| packet. The BIERv6 header includes an IPv6 header and IPv6 | packet. The BIERv6 header includes an IPv6 header and IPv6 | |||
| Destination Options Header within a standard Non-MPLS BIER header. | Destination Options Header within a standard Non-MPLS BIER header. | |||
| Source Address field in the IPv6 header MUST be set to a routable | Source Address field in the IPv6 header MUST be set to a routable | |||
| IPv6 unicast address of the BFIR. Destination Address field in the | IPv6 unicast address of the BFIR. Destination Address field in the | |||
| IPv6 header is set to a BIER multicast address, FF0X::AB37, if the | IPv6 header is set to the BFR prefix of the next-hop BFR the BIERv6 | |||
| next-hop BFR is directly connected, or MAY be set to a unicast | packet replicating to, no matter next-hop BFR is directly connected | |||
| address in case of the scenarios discussed in section 3.2. | (one-hop) or not directly connected (multi-hop). | |||
| On the BIER layer, upon receiving an BIERv6 packet, the BFR processes | On the BIER layer, upon receiving an BIERv6 packet, the BFR processes | |||
| the IPv6 header first. This is the general procedure of IPv6. | the IPv6 header first. This is the general procedure of IPv6. | |||
| If the IPv6 Destination address is the BIER multicast address, a | ||||
| 'BIER Specific Handling' indication will be obtained by the preceding | ||||
| Multicast DA lookup (MFIB lookup). The BIER option, if exists, will | ||||
| be checked to decide which neighbor(s) to replicate the BIERv6 packet | ||||
| to. | ||||
| If the IPv6 Destination address is an IPv6 BFR-Prefix unicast address | If the IPv6 Destination address is an IPv6 BFR-Prefix unicast address | |||
| of this BFR, a 'BIER Specific Handling' indication will be obtained | of this BFR, a 'BIER Specific Handling' indication will be obtained | |||
| by the preceding Unicast DA lookup (FIB lookup). The BIER option, if | by the preceding Unicast DA lookup (FIB lookup). The BIER option, if | |||
| exists, will be checked to decide which neighbor(s) to replicate the | exists, will be checked to decide which neighbor(s) to replicate the | |||
| BIERv6 packet to. | BIERv6 packet to. | |||
| It is a local behavior to handle the combination of extension | It is a local behavior to handle the combination of extension | |||
| headers, options and the BIER option(s) in destination options header | headers, options and the BIER option(s) in destination options header | |||
| when a 'BIER Specific Handling' indication is got by the preceding | when a 'BIER Specific Handling' indication is got by the preceding | |||
| MFIB or FIB lookup. Early deployment of BIERv6 may require there is | FIB lookup. Early deployment of BIERv6 may require there is only one | |||
| only one BIER option TLV in the destination options header followed | BIER option TLV in the destination options header followed the IPv6 | |||
| the IPv6 header. How other extension headers or more BIER option | header. How other extension headers or more BIER option TLVs in a | |||
| TLVs in a BIERv6 packet is handled is outside the scope of this | BIERv6 packet is handled is outside the scope of this document. | |||
| document. | ||||
| A packet having a 'BIER Specific Handling' indication but not having | A packet having a 'BIER Specific Handling' indication but not having | |||
| a BIER option MAY be processed normally as normal multicast or | a BIER option is supposed to be a wrong packet or an ICMPv6 packet, | |||
| unicast forwarding procedures do, or MAY be dropped. | and the process can be refered to the example in section 3.2. | |||
| A packet not having a 'BIER Specific Handling' indication but having | A packet not having a 'BIER Specific Handling' indication but having | |||
| a BIER option SHOULD be processed normally as normal multicast or | a BIER option SHOULD be processed normally as unicast forwarding | |||
| unicast forwarding procedures, which may be a behavior of drop, or | procedures, which may be a behavior of drop, or send to CPU, or other | |||
| send to CPU, or other behaviors in existing implementations. | behaviors in existing implementations. | |||
| The Destination Address field in the IPv6 Header MUST change to the | The Destination Address field in the IPv6 Header MUST change to the | |||
| nexthop BFR's BFR Prefix if Unicast address is used in BIERv6. | nexthop BFR's BFR Prefix if Unicast address is used in BIERv6. | |||
| The Hop Limit field of IPv6 header MUST decrease by 1 when sending | The Hop Limit field of IPv6 header MUST decrease by 1 when sending | |||
| packets to a BFR neighbor, while the TTL in the BIER header MUST be | packets to a BFR neighbor, while the TTL in the BIER header MUST be | |||
| unchanged. | unchanged. | |||
| The BitString in the BIER header in the Destination Options Header | The BitString in the BIER header in the Destination Options Header | |||
| may change when sending packets to a neighbor. Such change of | may change when sending packets to a neighbor. Such change of | |||
| skipping to change at page 11, line 4 ¶ | skipping to change at page 10, line 38 ¶ | |||
| Because of the requirement to change the content of the option when | Because of the requirement to change the content of the option when | |||
| forwarding BIERv6 packet, the BIER option type should have chg flag 1 | forwarding BIERv6 packet, the BIER option type should have chg flag 1 | |||
| per section 4.2 of RFC8200. | per section 4.2 of RFC8200. | |||
| The procedures applies normally if a bit corresponding to the self | The procedures applies normally if a bit corresponding to the self | |||
| bfr-id is set in the bit-string field of the Non-MPLS BIER header of | bfr-id is set in the bit-string field of the Non-MPLS BIER header of | |||
| the BIERv6 packet. The node is considered to be an Egress BFR (BFER) | the BIERv6 packet. The node is considered to be an Egress BFR (BFER) | |||
| in this case. The BFER removes the BIERv6 header, including the IPv6 | in this case. The BFER removes the BIERv6 header, including the IPv6 | |||
| header and the Destination Options header, and copies the packet to | header and the Destination Options header, and copies the packet to | |||
| the multicast flow overlay. The egress VRF of a packet may be | the multicast flow overlay. The egress VRF of a packet may be | |||
| determined by a single MFIB lookup on the BFER using both the IPv6 SA | determined by a further lookup on the IPv6 source address instead of | |||
| and IPv6 DA. | the upstream-assigned MPLS Label as described in [RFC8556]. | |||
| 5. Security Considerations | The Fragment Header, AH Header or ESP Header, if exists after the | |||
| BIER options header, can be processed on BFER only as part of the | ||||
| multicast flow overlay process. | ||||
| A BIERv6 packet with a special IPv6 Destination Address, either | 5. Security Considerations | |||
| multicast or unicast, would be processed by BIER forwarding procedure | ||||
| only when the 'BIER valid' flag has been obtained ahead of time in | ||||
| the normal MFIB or FIB lookup of the IPv6 header. Otherwise the | ||||
| packet with an IPv6 BIER Option will be dropped, as if the Option is | ||||
| not recognize by the node. | ||||
| An IPv6 packet with BIER multicast address FF0X::AB37 as destination | A BIERv6 packet with a special IPv6 Destination Address, the BFR | |||
| address, but does not carry IPv6 BIER Option will be dropped. | prefix functioning as End.BIER, would be processed by BIER forwarding | |||
| procedure only when the 'BIER Specific Handling' flag has been | ||||
| obtained ahead in the FIB lookup of the IPv6 header. Otherwise the | ||||
| packet with an IPv6 BIER Option will not be processed by the | ||||
| procedure but be processed as normal IPv6 packet. A possible way of | ||||
| handling IPv6 packets with extension may be send to CPU for slow path | ||||
| processing. | ||||
| 6. IANA Considerations | 6. IANA Considerations | |||
| 6.1. BIER Option Type | 6.1. BIER Option Type | |||
| Allocation is expected from IANA for a BIER Option Type codepoint | Allocation is expected from IANA for a BIER Option Type codepoint | |||
| from the "Destination Options and Hop-by-Hop Options" sub-registry of | from the "Destination Options and Hop-by-Hop Options" sub-registry of | |||
| the "Internet Protocol Version 6 (IPv6) Parameters" registry. The | the "Internet Protocol Version 6 (IPv6) Parameters" registry. The | |||
| value 0x70 is suggested. | value 0x70 is suggested. | |||
| +-----------+-----+-----+-------+-------------+------------+ | +-----------+-----+-----+-------+-------------+------------+ | |||
| | Hex Value | act | chg | rest | Description | Reference | | | Hex Value | act | chg | rest | Description | Reference | | |||
| +-----------+-----+-----+-------+-------------+------------+ | +-----------+-----+-----+-------+-------------+------------+ | |||
| | 0x70 | 01 | 1 | 10000 | BIER Option | This draft | | | 0x70 | 01 | 1 | 10000 | BIER Option | This draft | | |||
| +-----------+-----+-----+-------+-------------+------------+ | +-----------+-----+-----+-------+-------------+------------+ | |||
| Figure 1: IPv6 Option Type Suggested | 6.2. End.BIER Function | |||
| 6.2. BIER Multicast Address | ||||
| Allocation is expected from IANA for a BIER Multicast Address from | ||||
| the "Variable Scope Multicast Addresses" sub-registry of the "IPv6 | ||||
| Multicast Address Space Registry" registry. The address 'FF0X::AB37' | ||||
| is suggested. | ||||
| +-----------------------+---------------------+------------+ | ||||
| | Address(es) | Description | Reference | | ||||
| | | | | | ||||
| +-----------------------+---------------------+------------+ | ||||
| | FF0X:0:0:0:0:0:0:AB37 | ALL_BIER_FORWARDERS | This draft | | ||||
| +-----------------------+---------------------+------------+ | ||||
| Figure 2: Multicast Address Suggested | ||||
| 6.3. End.BIER Function | ||||
| Allocation is expected from IANA for an End.BIER function codepoint | Allocation is expected from IANA for an End.BIER function codepoint | |||
| from the "SRv6 Endpoint Behaviors" sub-registry. The value 60 is | from the "SRv6 Endpoint Behaviors" sub-registry. The value 60 is | |||
| suggested. | suggested. | |||
| +-------+--------+--------------------------+------------+ | +-------+--------+--------------------------+------------+ | |||
| | Value | Hex | Endpoint function | Reference | | | Value | Hex | Endpoint function | Reference | | |||
| +-------+--------+--------------------------+------------+ | +-------+--------+--------------------------+------------+ | |||
| | TBD | TBD | End.BIER | This draft | | | TBD | TBD | End.BIER | This draft | | |||
| +-------+--------+--------------------------+------------+ | +-------+--------+--------------------------+------------+ | |||
| Figure 3: End.BIER Function | ||||
| 7. Acknowledgements | 7. Acknowledgements | |||
| The authors would like to thank Stig Venaas for his valuable | The authors would like to thank Stig Venaas for his valuable | |||
| comments. Thanks IJsbrand Wijnands, Greg Shepherd, Tony Przygienda, | comments. Thanks IJsbrand Wijnands, Greg Shepherd, Tony Przygienda, | |||
| Toerless Eckert, Jeffrey Zhang for the helpful comments to improve | Toerless Eckert, Jeffrey Zhang for the helpful comments to improve | |||
| this document. | this document. | |||
| 8. References | 8. Contributors | |||
| Gang Yan | ||||
| Huawei Technologies | ||||
| China | ||||
| Email: yangang@huawei.com | ||||
| 8.1. Normative References | Yang(Yolanda) Xia | |||
| Huawei Technologies | ||||
| China | ||||
| Email: yolanda.xia@huawei.com | ||||
| 9. References | ||||
| 9.1. Normative References | ||||
| [RFC6275] Perkins, C., Ed., Johnson, D., and J. Arkko, "Mobility | [RFC6275] Perkins, C., Ed., Johnson, D., and J. Arkko, "Mobility | |||
| Support in IPv6", RFC 6275, DOI 10.17487/RFC6275, July | Support in IPv6", RFC 6275, DOI 10.17487/RFC6275, July | |||
| 2011, <https://www.rfc-editor.org/info/rfc6275>. | 2011, <https://www.rfc-editor.org/info/rfc6275>. | |||
| [RFC7346] Droms, R., "IPv6 Multicast Address Scopes", RFC 7346, | ||||
| DOI 10.17487/RFC7346, August 2014, | ||||
| <https://www.rfc-editor.org/info/rfc7346>. | ||||
| [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
| (IPv6) Specification", STD 86, RFC 8200, | (IPv6) Specification", STD 86, RFC 8200, | |||
| DOI 10.17487/RFC8200, July 2017, | DOI 10.17487/RFC8200, July 2017, | |||
| <https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
| [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | Przygienda, T., and S. Aldrin, "Multicast Using Bit Index | |||
| Explicit Replication (BIER)", RFC 8279, | Explicit Replication (BIER)", RFC 8279, | |||
| DOI 10.17487/RFC8279, November 2017, | DOI 10.17487/RFC8279, November 2017, | |||
| <https://www.rfc-editor.org/info/rfc8279>. | <https://www.rfc-editor.org/info/rfc8279>. | |||
| [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | |||
| for Bit Index Explicit Replication (BIER) in MPLS and Non- | for Bit Index Explicit Replication (BIER) in MPLS and Non- | |||
| MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | |||
| 2018, <https://www.rfc-editor.org/info/rfc8296>. | 2018, <https://www.rfc-editor.org/info/rfc8296>. | |||
| 8.2. Informative References | [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., | |||
| and A. Dolganow, "Multicast VPN Using Bit Index Explicit | ||||
| Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April | ||||
| 2019, <https://www.rfc-editor.org/info/rfc8556>. | ||||
| 9.2. Informative References | ||||
| [I-D.ietf-bier-ipv6-requirements] | [I-D.ietf-bier-ipv6-requirements] | |||
| McBride, M., Xie, J., Dhanaraj, S., and R. Asati, "BIER | McBride, M., Xie, J., Dhanaraj, S., and R. Asati, "BIER | |||
| IPv6 Requirements", draft-ietf-bier-ipv6-requirements-00 | IPv6 Requirements", draft-ietf-bier-ipv6-requirements-01 | |||
| (work in progress), May 2019. | (work in progress), July 2019. | |||
| [I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
| Filsfils, C., Camarillo, P., Leddy, J., | Filsfils, C., Camarillo, P., Leddy, J., | |||
| daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | |||
| Network Programming", draft-ietf-spring-srv6-network- | Network Programming", draft-ietf-spring-srv6-network- | |||
| programming-00 (work in progress), April 2019. | programming-01 (work in progress), July 2019. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| skipping to change at page 14, line 4 ¶ | skipping to change at page 13, line 37 ¶ | |||
| Liang Geng | Liang Geng | |||
| China Mobile | China Mobile | |||
| Beijing 10053 | Beijing 10053 | |||
| Email: gengliang@chinamobile.com | Email: gengliang@chinamobile.com | |||
| Mike McBride | Mike McBride | |||
| Futurewei | Futurewei | |||
| Email: mmcbride7@gmail.com | Email: mmcbride7@gmail.com | |||
| Rajiv Asati | Rajiv Asati | |||
| Cisco | Cisco | |||
| Email: rajiva@cisco.com | Email: rajiva@cisco.com | |||
| Senthil Dhanaraj | Senthil Dhanaraj | |||
| Huawei | Huawei | |||
| Email: senthil.dhanaraj@huawei.com | Email: senthil.dhanaraj@huawei.com | |||
| Gang Yan | ||||
| Huawei | ||||
| Email: yangang@huawei.com | ||||
| Yang Xia | ||||
| Huawei | ||||
| Email: yolanda.xia@huawei.com | ||||
| End of changes. 37 change blocks. | ||||
| 111 lines changed or deleted | 89 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||