- Table of Contents
- Related Documents
-
Title | Size | Download |
---|---|---|
01-BIER configuration | 1.21 MB |
Contents
Restrictions: Hardware compatibility with BIER
Assigning the device to a sub-domain
Specifying a BFR ID for a BIER edge device
Configuring BIER encapsulation
Configuring the encapsulation type, BSL, and maximum SI
Configuring a multicast policy reserved address for a BFR in G-BIER
Configuring an End.BIER SID for a BFR in BIERv6
Configuring an End.RGB SID for a BFR in MSR6
Configuring a TTL processing mode on a BIER edge device
Configuring static cross-AS BIER
Configuring BGP-based cross-AS BIER
Enabling the device to exchange routes with BIER path attributes with a peer or peer group
Enabling BGP BFR prefix proxying
Enabling BGP to redistribute the BIER information from an IGP
Display and maintenance commands for BIER
Example: Configuring intra-AS BIER-based MVPN (G-BIER encapsulation)
Example: Configuring intra-AS BIER-based MVPN (BIERv6 encapsulation)
Example: Configuring intra-AS BIER-based MVPN (MSR6 encapsulation)
Example: Configuring BIER-based MVPN for the public instance (G-BIER encapsulation)
Example: Configuring BIER-based MVPN for the public instance (BIERv6 encapsulation)
Example: Configuring BIER-based MVPN for the public instance (MSR6 encapsulation)
Configuring BIER
About BIER
Background
In traditional IP multicast and multicast VPN technologies, devices need to establish a multicast distribution tree for each multicast flow, with each node in the tree maintaining multicast flow state. For example, in public PIM multicast, it requires establishing a PIM multicast distribution tree for each multicast flow. In NG MVPN, it requires creating P2MP tunnels for each multicast flow, equivalent to creating a P2MP multicast tree. With the large-scale deployment of multicast services, the number of maintained multicast distribution trees increases sharply, resulting in a large number of multicast state entries on multicast nodes. When the network changes, this can cause slow convergence of multicast entries.
In addition, the coexistence of unicast routing protocols, multicast routing protocols, MPLS protocols, and multiple protocols in the transport network increases the complexity of the control plane, leading to slow fault convergence and operational difficulties, making it challenging to evolve towards an SDN architecture network.
Definition
Bit Index Explicit Replication (BIER) is a new architecture for the forwarding of multicast data packets. BIER encapsulates the destination nodes of multicast packets in a bit string. It does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state.
BIER benefits
BIER has the following benefits:
· Reduced control plane complexity—Intermediate nodes do not need to run specialized multicast control protocols such as PIM, and the control plane only needs to run unicast routing protocols such as IGP and BGP, simplifying the network's control plane.
· Enhanced multicast service scalability—BIER can establish a common forwarding table independent of specific multicast services, enabling both public and private multicast packets to be forwarded through this table. This eliminates the need for intermediate nodes to maintain multicast flow states or be aware of multicast services, thereby enhancing the scalability of multicast services.
· Improved multicast network stability—Because intermediate nodes do not need to be aware of multicast services, changes in multicast services do not affect these nodes. This enhances the stability of multicast networks, simplifying service deployment and network maintenance.
· Reduced coupling between services and networks—Using a layered architecture, BIER reduces the coupling with traditional link-state routing protocols. This not only facilitates a smooth transition of existing networks to BIER technology but also supports the evolution of service networks to SDN architecture.
BIER network structure
A router that supports BIER is known as a Bit-Forwarding Router (BFR). As shown in Figure 1, a BIER network consists of the following BFRs:
· Bit Forwarding Ingress Router (BFIR)—A multicast data packet enters a BIER domain at a BFIR. A BFIR encapsulates the multicast data packet as a BFIR packet.
· Transit BFR—A transit BFR receives a multicast data packet from one BFR to another BFR in the same BIER domain.
· Bit Forwarding Egress Router (BFER)—A multicast data packet leaves a BIER domain at a BFER. A BFER decapsulates the multicast data packet and sends it to multicast receivers.
Figure 1 BIER network structure
Basic concepts
BIER domain and BIER sub-domain
All BFRs in a network are referred to as a BIER domain. A BIER domain can contain one or more sub-domains. Each sub-domain is identified by a sub-domain ID. All BFIRs and BFERs in a sub-domain are called BIER edge devices.
BFR ID
A BFR ID uniquely identifies a BIER edge device in a sub-domain. A transit BFR does not need to have a BFR ID.
BFR prefix
A BFR prefix is an IP address that uniquely identifies a BFR in a sub-domain. A BFR prefix must be routable in the sub-domain.
Bit string
A bit string represents a set of BIER edge devices, with each bit corresponding to a BFR ID, starting from the rightmost position. The bit string length (BSL) refers to the number of bits in the bit string. A bit string with three bits can identify a maximum of three BIER edge devices. The BIER edge device with BFR ID 1 is represented as 001.
Set identifier and Max-SI
When the number of BFR IDs is greater than the number of bits in the bit string, the bit string needs to be divided into sets identified by set identifiers (SI). The start SI value is 0.
The Max-Set Identifier (Max-SI) can used to set the number of Sis. The Max-SI is (Maximum BFR ID–1)/BSL rounded down to the nearest integer. If the BFR IDs start with 1 and are contiguous, the maximum BFR ID is the number of edge devices.
For example, if a BIER sub-domain has 10 edge devices and BFR IDs start with 1 and are contiguous, the maximum BFR ID is 10. If the bit string length is 4, the bit string needs to be divided into three SIs (SI 0, SI 1, and SI 2). The Max-SI is 2: (Maximum BFR ID–1)/BSL rounded down to the nearest integer.
Bit Index Routing Table
The Bit Index Routing Table (BIRT) is generated based on the BIER information ((sub-domain, BSL, and BFR ID) and routing information carried by IGP. The BIRT is used to guide the forwarding of BIER packets in a BIER sub-domain.
Forwarding Bit Mask
The Forwarding Bit Mask (F-BM) represents a set of edge nodes in a BIER sub-domain that are reachable through a BFR neighbor (BFR-NBR). The bit mask is obtained by taking the logical OR of the bit strings of all reachable edge nodes.
Bit Index Forwarding Table
The Bit Index Forwarding Table (BIFT) can guide the per-hop forwarding of multicast traffic in a BIER sub-domain.
The BIFT is used to map from the BFR ID of a BFER to the corresponding F-BM and BFR-NBR. Multiple BIFT can exist on a BFR. Each BIFT is identified by a combination of the BSL, SD, and SI).
Layering
As specified in RFC 8279, the BIER architecture consists of three layers: routing underlay, BIER layer, and multicast flow overlay, as shown in Figure 2.
Routing underlay
The routing underlay uses an IGP (only IS-IS is supported) to flood BIER information through extended TLVs in a BIER sub-domain. A BFR generates routes to all BFR prefixes (BFR IDs) based on the IGP. Therefore, the routing underlay establishes adjacencies between pairs of BFRs and determines one or more best paths from a given BFR to a given set of BFRs.
BIER layer
The BIER layer consists of the protocols and procedures that are used in order to transmit a multicast data packet across a BIER domain.
1. A BFR advertises the BIER information to other BFRs in the BIER domain through IGP.
2. Other BFRs generate a BIRT and a BIFT according to the advertised information.
3. An intermediate BFR forwards a BIER-encapsulated packet by looking up the BIFT table.
Multicast flow overlay
The multicast flow overlay is responsible for control plane processing. It collects join and leave messages of multicast groups between BFIRs and BFERs. When a BFIR receives a multicast data packet from outside the BIER domain, the BFIR determines the set of BFERs for that packet. When a BFER receives a BIER-encapsulated packet from inside the BIER domain, the BFER decapsulates the packet and forwards it.
BIER control plane
The BIER information (inlcuding SD, BFR prefix, BFR ID) configured on BFRs is flooded within the BIER domain through the IGP protocol. The IGP calculates a BIER shortest path tree, with the BFIR as the root, and transit BFRs and BFERs as leaves, based on the flooded BIER information from neighboring nodes. BFRs generate BIRTs based on the BIER shortest path tree and further generate BIFTs to guide BIER forwarding.
As shown in Figure 3, when a node (Device G) in the BIER domain does not support BIER, it joins all its child nodes to the BIER shortest path tree as leaf nodes. If a child node does not support BIER, it continues to iterate down to child nodes that do support BIER. For example, if Device G does not support BIER, it will pass the BIER information of its child nodes, Device C and Device E, to Device B, which then generates BIFT table entries indicating non-directly-connected neighbors (Device C and Device E).
BIER encapsulation types
Overview
BIER encapsulates a multicast data packet as a BIER packet by adding a new IPv6 header, as shown in Figure 4. The Next Header field in the new IPv6 header is 60, which indicates that the next header is Destination Options Header (DOH). The DOH contains four fields and the BIER header. Table 1 shows the meanings of the four fields.
Field |
Length |
Description |
Next Header |
8 bits |
Type of the next header. |
Hdr Ext Len |
8 bits |
Length of the IPv6 extension header. |
Option Type |
8 bits |
Option type of the DOH (encapsulation type of the BIER header): · Generalized BIER (G-BIER) · Bit Index Explicit Replication IPv6 Encapsulation (BIERv6) · Multicast Source Routing over IPv6 (MSR6) |
Option Length |
8 bits |
Option length in bytes, the length of the BIER header. |
Table 2 describes BIER header encapsulation types supported. Different encapsulation types have different packet formats.
Encapsulation type |
Description |
G-BIER |
Proposed by China Mobile, G-BIER revised the BIER header to adapt to IPv6. |
BIERv6 |
As a new multicast scheme based on native IPv6, BIERv6 combines the advantages of both IPv6 and BIER, can integrate into an SRv6 network seamlessly, and simplifies protocol complexity. To use BIERv6 encapsulation, make sure all BFRs in a sub-domain support SRv6. |
MSR6 |
MSR6 uses the IPv6 data plane to integrate unicast and multicast services within the MSR6 BE domain. Leveraging the IPv6 unicast reachability feature, MSR6 BE can penetrate non-BIER nodes. In early MSR6 BE deployments, routers that do not support MSR6 BE forwarding but support IPv6 forwarding will route traffic based on the IPv6 destination address. The data plane and control plane can run MSR6 BE in scenarios where SRv6 is not deployed. |
G-BIER
G-BIER is proposed by China Mobile. G-BIER revised the BIER header to adapt to IPv6.
IPv6 basic header
G-BIER uses the following conventions related to the following fields in the IPv6 basic header:
· Source Address—The source address is the multicast service source address and remains unchanged when a multicast packet is transmitted over a public network. For more information about multicast service source address, see multicast VPN configuration in IP Multicast Configuration Guide.
· Destination Address—The destination address is the multicast policy reserved address for BIER forwarding. This address must be routable in a sub-domain.
G-BIER header
As shown in Figure 5, the G-BIER header is included in the DOH, and the Option Type is G-BIER.
Table 3 describes the fields in the G-BIER header.
Field |
Length |
Description |
BSL |
4 bits |
Identifies the length in bits of the BitString. The value range is 1 to 7. · 1—The bit string length is 64. · 2—The bit string length is 128. · 3—The bit string length is 256. · 4—The bit string length is 512. · 5—The bit string length is 1024. · 6—The bit string length is 2048. · 7—The bit string length is 4096. |
SD |
8 bits |
Indicates the ID of the BIER sub-domain. |
SI |
8 bits |
Indicates the set identifier. |
Rsv |
4 bits |
Reserved field. It should be set to all 0s for outgoing packets and ignored for incoming packets. |
TTL |
8 bits |
Time to Live field to prevent loops. |
Version |
4 bits |
Identifies the version of the BIER header, which is fixed at 0. |
Entropy |
20 bits |
Indicates the entropy value used for load-balancing purposes when there are ECMP paths. The load-balancing procedure will choose the same path for any two packets that have the same entropy value and the same BitString. |
OAM |
2 bits |
Used for OAM purposes. The default value of this field is 0. |
DSCP |
6 bits |
Indicates the forwarding priority of the packet. |
Bit String |
Depends on the BSL value |
Bit string. |
BIERv6
As a new multicast scheme based on native IPv6, BIERv6 combines the advantages of both IPv6 and BIER, can integrate into an SRv6 network seamlessly, and simplifies protocol complexity.
To use BIERv6 encapsulation, make sure all BFRs in a sub-domain support SRv6. For more information about SRv6, see Segment Routing Configuration Guide.
IPv6 basic header
BIERv6 uses the following conventions related to the following fields in the IPv6 basic header:
· Source Address—The source address is the source address of the BIERv6 tunnel and remains unchanged when a multicast packet is transmitted over a public network.
· Destination Address—The destination address is an End.BIER SID used for BIER forwarding. This address must be routable in a sub-domain. If the destination address of an IPv6 packet is an End.BIER SID, an BFR will perform BIERv6 forwarding for the packet.
BIERv6 header
As shown in Figure 6, the DOH contains the BIERv6 header, and the Option Type is BIERv6. The BIERv6 header complies with the non-MPLS encapsulation specifications in RFC 8296. The fields in deep color are different fields from the G-BIER header.
Table 4 describes the fields in the BIERv6 header.
Field |
Length |
Description |
BIFT ID |
20 bits |
Uniquely identifies a BIFT. |
TC |
3 bits |
Traffic class field used for QoS. |
S |
1 bit |
Reserved field. It should be set to 1 for outgoing packets and ignored for incoming packets. |
TTL |
8 bits |
Time to Live field to indicate the number of hops a BIERv6 packet can traverse. The TTL is decreased by 1 when a packet traverses a BIERv6 node. When a node receives a packet with TTL 0, it will discard the packet. |
Nibble |
4 bits |
Reserved field. It should be set to 0000 for outgoing packets and ignored for incoming packets. |
Version |
4 bits |
Identifies the version of the BIER header, which is fixed at 0. |
BSL |
4 bits |
Identifies the length in bits of the BitString. The value range is 1 to 7. · 1—The bit string length is 64. · 2—The bit string length is 128. · 3—The bit string length is 256. · 4—The bit string length is 512. · 5—The bit string length is 1024. · 6—The bit string length is 2048. · 7—The bit string length is 4096. |
Entropy |
20 bits |
Indicates the entropy value used for load-balancing purposes when there are ECMP paths. The load-balancing procedure will choose the same path for any two packets that have the same entropy value and the same BitString. |
OAM |
2 bits |
Used for OAM purposes. The default value of this field is 0. |
Rsv |
2 bits |
Reserved field. It should be set to all 0s for outgoing packets and ignored for incoming packets. |
DSCP |
6 bits |
Indicates the forwarding priority of the packet. |
Proto |
6 bits |
Indicates the payload type (lower-level protocol) after the BIERv6 header. |
BFIR ID |
16 bits |
BFIR ID. |
Bit String |
Depends on the BSL value |
Bit string. |
MSR6
MSR6 uses the IPv6 data plane to integrate unicast and multicast services within the MSR6 BE domain. Leveraging the IPv6 unicast reachability feature, MSR6 BE can penetrate non-BIER nodes. In early MSR6 BE deployments, routers that do not support MSR6 BE forwarding but support IPv6 forwarding will route traffic based on the IPv6 destination address.
The data plane and control plane can run MSR6 BE in scenarios where SRv6 is not deployed.
IPv6 basic header
MSR6 uses the following conventions related to the following fields in the IPv6 basic header:
· Source Address—The source address is the source address of the MSR6 tunnel and remains unchanged when a multicast packet is transmitted over a public network.
· Destination Address—The destination address is an End.RGB SID used for BIER forwarding. This address must be routable in a sub-domain. If the destination address of an IPv6 packet is an End.RGB SID, an BFR will perform MSR6 forwarding for the packet.
MSR6 header
As shown in Figure 7, the DOH contains the MSR6 header, and the Option Type is MSR6. The BIERv6 header is similar to the non-MPLS BIER header in RFC 8296, but some fields such as Nibble and Proto are replaced with reserved fields. A reserved field should be set to 0 for outgoing packets and ignored for incoming packets. The fields in deep color are different fields from the BIERv6 header.
Table 5 describes the fields in the MSR6 header.
Field |
Length |
Description |
BIFT ID |
20 bits |
Uniquely identifies a BIFT. |
TTL |
8 bits |
Time to Live field to indicate the number of hops an MSR6 packet can traverse. The TTL is decreased by 1 when a packet traverses an MSR6 node. When a node receives a packet with TTL 0, it will discard the packet. |
Version |
4 bits |
Identifies the version of the BIER header, which is fixed at 0. |
BSL |
4 bits |
Identifies the length in bits of the BitString. The value range is 1 to 7. · 1—The bit string length is 64. · 2—The bit string length is 128. · 3—The bit string length is 256. · 4—The bit string length is 512. · 5—The bit string length is 1024. · 6—The bit string length is 2048. · 7—The bit string length is 4096. |
Entropy |
20 bits |
Indicates the entropy value used for load-balancing purposes when there are ECMP paths. The load-balancing procedure will choose the same path for any two packets that have the same entropy value and the same BitString. |
OAM |
2 bits |
Used for OAM purposes. The default value of this field is 0. |
DSCP |
6 bits |
Indicates the forwarding priority of the packet. |
Proto |
6 bits |
Indicates the payload type (lower-level protocol) after the MSR6 header. |
Bit String |
Depends on the BSL value |
Bit string. |
BIER forwarding plane
To facilitate description and understanding, this section introduces the BIER forwarding plane using an example where Max-SI is 1 and BSL is 4 bits.
According to the definition in RFC 8279, if a device needs to forward multicast data encapsulated with BIER, the device should execute the following actions:
1. Identify the corresponding BIER sub-domain, BSL, BS, and SI to determine which BFERs need to receive the multicast data.
2. The routing underlay determines the next hop to each BFER.
3. Assign BFERs with the same next hop to one group.
4. For each BFER group, replicate multicast data and forward it to the next hop. If the next hop is empty (such as when the route is unreachable), discard the multicast data.
BIRT and BIFT
To ensure smooth forwarding actions, RFC 8279 defines the BIRT and BIFT.
A Bit Index Routing Table (BIRT) records mappings between the BFR IDs, destination node BFR prefixes, and the next-hop BFR neighbors (BFR-NBR). As shown in Figure 8, BFR E can look up the BIFT based on the BFR ID, SI, and BS information in BIER multicast data, to obtain the corresponding destination node BFR prefixes and next-hop BFR neighbors.
To facilitate forwarding statistics collection, BIER groups rows in the BIRT with identical SI and BFR-NBR values. Therefore, the corresponding BS rows can be combined by using a bitwise logical OR operation to obtain the F-BM, which guides the next forwarding action. The BIFT records the BFR ID information and the mappings between F-BM and BFR-NBR. It is a derivative of the BIRT.
For example, on BFR E, as shown in Figure 8, the SI and BFR-NBR in the second and third rows are identical, so group them by calculating the F-BM. This allows the creation of a BIFT on BFR E, as shown in Figure 9.
Forwarding process
As shown in Figure 10, Device A acts as the BFIR, Devices B, C, and D act as BFERs, and Devices E and F act as transit BFRs. For devices A, B, C, and D, the BFR IDs are 1, 2, 3, and 4, respectively.
Figure 10 BIER traffic forwarding
Each BFER has downstream receivers, and the three receivers belong to the same multicast group. Device A, acting as a BFIR, collects the MVPN information from BFERs in the same BIER sub-domain through BGP MVPN routes. Each device in the BIER sub-domain calculates and generates a BIFT based on the IGP protocol.
BFIR forwarding process
As shown in Figure 11, when Device A, acting as a BFIR, receives an IP multicast packet sent by a multicast source to the multicast group, it will execute the following actions:
1. Examine the encapsulated information in the BIER header to obtain the BIFT ID and BS (0111). Note that BIERv6 and MSR6 headers directly include the BIFT ID, while the G-BIER header does not contain the BIFT ID. The BIFT ID is determined based on the BS, BSL, and SI tuple.
2. Search for the corresponding BIFT using the BIFT ID to determine that the next-hop neighbor to all three BFERs is Device F.
3. Perform a bitwise AND logical operation between the BS and the F-BM entry in each row of the BIFT table. The result for each row is 0111.
4. Copy multicast packets and encapsulate them according to the BIER packet format, using the BS value obtained from the bitwise AND logical operation.
5. Transmit the duplicated multicast packet to the next-hop neighbor, Device F.
Figure 11 BFIR forwarding process
Transit BFR forwarding process
As shown in Figure 12, when Device F, acting as a Transit BFR, receives an IP multicast packet forwarded by Device A, it will execute the following actions:
1. Examine the encapsulated information in the BIER header to obtain the BIFT ID and BS (0111).
2. To find the corresponding BIFT based on the BIFT ID, identify Device E as the next-hop neighbor for reaching Devices B, C, and D.
3. Perform a bitwise AND logical operation between the BS and the F-BM entry in each row of the BIFT table.
¡ For Device B (BFR ID 2), the calculated result is 0010.
¡ For Device C (BFR ID 3) and Device D (BFR ID 4), the calculated result is 1100.
4. Copy two multicast packets and encapsulate them according to the BIER packet format, using the BS value obtained from the bitwise AND operation during encapsulation.
5. Transmit the copied multicast packets to the next-hop neighbors Device B and Device E.
Figure 12 Transit BFR forwarding process
When Device E, also a Transit BFR, receives an IP multicast packet forwarded by Device F, it performs similar operations, which are not reiterated here.
BFER forwarding process
When Device B, acting as a BFER, receives an IP multicast packet forwarded by Device F, it will execute the following actions:
1. By examining the encapsulated information in the BIER header, obtain the BIFT ID and BS (0010).
2. Use the BIFT ID to locate the corresponding BIFT. If only the F-BM of this node, after performing a bitwise AND logical operation with BS in the packet, has a result of a non-zero value, this node is a Bit-Forwarding Egress Router (BFER) and must terminate BIER forwarding.
3. After decapsulating the multicast packet from the BIER header, Device B forwards it to downstream receivers according to the multicast routing table.
The operations on Device E and Device F are similar to those on Device D, and will not be repeated.
Cross-AS BIER
Cross-AS BIER indicates that a BIER network spans multiple ASs and multicast traffic passes through multiple ASs during BIER forwarding. An IGP can flood BIER information within an AS and cannot generate cross-AS BIER forwarding entries. Cross-AS BIER requires that a BIER node can obtain the BIER information (such as BFR ID) of BIER nodes in another AS. The device supports implementing cross-AS BIER through static configuration and BGP advertisement.
Static cross-AS BIER
You implement cross-AS BIER by manually specifying the BFR neighbor in another domain and the BFR ID range of BIER edge devices that can be reached through the BFR neighbor.
BGP-based cross-AS BIER
BGP can transfer BIER information between ASs. The BIER information can guide the forwarding of BIER packets. BGP encapsulates the following BIER information in UPDATE messages:
· BFR prefix—Encapsulated in the NLRI field.
· BIER Path Attribute—A new attribute that contains information such as BIER sub-domain, BFR ID, BSL, and destination address.
As shown in Figure 13, the BIER network spans AS 10 and AS 20. IS-IS is used to transfer BIER information in AS 20, and IBGP is used to transfer BIER information in AS 10. On ASBR 2, BIER information collected by IS-IS in AS 20 can be imported to BGP and then sent to ASBR 1 through an EBGP session. ASBR 1 forwards an EBGP route to the BFIR. The BFIR generates a cross-AS BIRT entry based on the BIER information carried in the received IBGP route. The BFR prefix of the BFR ID of the BFER is the BFR prefix of ASBR 2 (2::2). The BFIR uses ASBR 2 as the next hop when forwarding multicast packets.
|
NOTE: Carried in a BGP route, the BFR ID range is used by the BIER to learn BFR IDs in another BIER domain. |
Figure 13 BGP-based cross-AS BIER
To successfully forward BIER packets, the BFIR must obtain the route information of ASBR 2. The BGP BFR prefix proxy function enables the BFIR successfully forward BIER packets without the route information of ASBR 2. A node enabled with BGP BFR prefix proxying is called a BFR proxy node. A BFR proxy node advertises cross-AS BFR ID range information. The nodes in BIER domain use the BFR proxy node as the next hop when forwarding BIER packets across ASs.
A BFR proxy node does not directly forward routes carrying BIER information learned from a BGP peer to other BGP peers and advertises them as follows:
1. Advertises the BIER information (including BFR ID range information) in learned routes to the BIER module.
2. The BIER module modifies the BFR prefix in the BIER information as the BFR prefix of the local node and summarizes received BFR ID range information.
|
NOTE: Modifying the BFR prefix can prevent BFR prefix information from being leaked out of a BIER domain. For example, an ISP deploys a BIER network that spans the provincial headquarters and the MANs. If BGP BFR prefix proxying is enabled on the edge devices at the provincial headquarters, devices in the MANs can obtain only the BFR prefix information of the BFR proxy nodes. This prevents the BFR prefix information of other nodes at the provincial headquarters from being leaked out to the MANs. |
3. The BIER module advertises the modified BIER information to the BGP module. The BGP module generates a BGP route that carries the modified BIER information (including BFR ID range information) and sends it to BGP peers.
4. After receiving the BGP route, an IBGP or EBPG peer generates cross-AS BIRT entry. The BRF prefix of the edge node is the BRF prefix of the BFR proxy node.
When a device forwards a cross-AS packet, it will encapsulate the address of the BFR proxy node and sends the packet to the BFR proxy node. The BFR proxy node forwards the received packet according to the BIFT.
As shown in Figure 14, after being enabled with BGP BFR prefix proxying, ASBR 1 generates an IBGP route based on the BGP route received from ASBR 2 and send the IBGP route to the BFIR. The IBGP route retains the BFR ID range information in the received BGP route and encapsulates the BFR prefix of the local node (in place of the BFR prefix in the received BGP route) in the NLRI field. In the cross-AS BIRT entry generated by the BFIR, the BFR prefix of the BFR ID of the BFER is the BFR prefix of ASBR 1 (2::2). The BFIR uses ASBR 1 as the next hop when forwarding multicast packets.
Figure 14 BGP BFR prefix proxying
BIER application scenarios
BIER is used in the following scenarios:
· Large-scale multicast network—BIER does not need to build a multicast distribution tree for each multicast flow or maintain per-flow state. BIER, as a public network tunneling technology to carry private network traffic, replaces the traditional P2MP tunneling or public network PIM. For more information about BIER-based multicast VPN, see multicast VPN in IP Multicast Configuration Guide.
· SDN network—A multicast user does not need to join the multicast distribution tree hop by hop. It sends join messages only to the leaf node and root node. BIER is applicable to a SDN network where the controller distributes multicast traffic after collecting multicast destinations.
Protocols and standards
· RFC 8279, Multicast Using Bit Index Explicit Replication (BIER)
· RFC 8296, Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non-MPLS Networks
· RFC 8401, Bit Index Explicit Replication (BIER) Support via IS-IS
· RFC 8556, Multicast VPN Using Bit Index Explicit Replication
· draft-ietf-bier-idr-extensions-07
Configuring BIER
Restrictions: Hardware compatibility with BIER
This feature is available only for the following cards:
Card category |
Cards |
CEPC |
CEPC-CQ8L, CEPC-CQ16L1, CEPC-DQ2L1-G |
CSPEX |
CSPEX-1802XB, CSPEX-1802X, CSPEX-1812X-E, CSPEX-2304X-G, CSPEX-2304X-LG, CSPEX-2612X-E |
SPE |
RX-SPE200-E |
BIER tasks at a glance
To configure BIER, perform the following tasks:
2. Assigning the device to a sub-domain
3. Specifying a BFR ID for a BIER edge device
5. Configuring BIER encapsulation
¡ Configuring the encapsulation type, BSL, and maximum SI
¡ Configuring a multicast policy reserved address for a BFR in G-BIER
¡ Configuring an End.BIER SID for a BFR in BIERv6
¡ Configuring an End.RGB SID for a BFR in MSR6
6. (Optional.) Configuring a TTL processing mode on a BIER edge device
7. (Optional.) Configuring static cross-AS BIER
8. (Optional.) Configuring BGP-based cross-AS BIER
¡ Enabling the device to exchange routes with BIER path attributes with a peer or peer group
¡ Enabling BGP BFR prefix proxying
¡ Enabling BGP to redistribute the BIER information from an IGP
Enabling BIER
About this task
Perform this task on BFRs in the public network in BIER-based MVPN to transmit multicast traffic over a BIER tunnel.
Procedure
1. Enter system view.
system-view
2. Enable BIER and enter BIER view.
bier
By default, BIER is disabled.
Assigning the device to a sub-domain
About this task
In a BIER domain, BIER forwarding is performed in a sub-domain. You must add a device to a sub-domain.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Assign the device to a sub-domain.
sub-domain sub-domain-id ipv6
By default, the device does not belong to any sub-domain.
Specifying a BFR ID for a BIER edge device
About this task
In a BIER sub-domain, a BFIR or BFER must have a unique BFR ID. If a BIER edge device belongs to more than one sub-domain, it can have the same or different BFR IDs in different sub-domains.
Restrictions and guidelines
As a best practice to reduce the number of Sis and the number of encapsulated packets, configure contiguous BFR IDs.
Procedure
1. Enter system view.
system-view
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Specify a BFR ID for the device.
bfr-id bfr-id
By default, the device does not have a BFR ID.
Specifying a BFR prefix
About this task
As an equivalent to a router ID in a routing protocol, a BFR prefix identifies a BFR in a sub-domain. In a sub-domain, a BFR must have a unique BFR prefix that is routable.
Restrictions and guidelines
Only the IP address of a loopback interface can be configured as a BFR prefix. After the IP address of a loopback interface is configured as a BFR prefix, the loopback interface cannot be deleted.
If a BFR belongs to more than one sub-domain, it can have the same or different BFR prefixes in different sub-domains.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Specify a BFR prefix for the device.
bfr-prefix interface interface-type interface-number
By default, the device does not have a BFR prefix.
Configuring BIER encapsulation
Configuring the encapsulation type, BSL, and maximum SI
Restrictions and guidelines
BFRs in the same sub-domain must have the same BSL.
The maximum SI is (Maximum BFR ID–1)/BSL rounded down to the nearest integer. For example, if the maximum BFR ID is 10 in a BIER sub-domain and the bit string length is 4, the bit string needs to be divided into three SIs (SI 0, SI 1, and SI 2).
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Configure the encapsulation type, BSL, and maximum SI.
encapsulation-type { bierv6 | g-bier | msr6 } bsl bsl-value max-si max-si-value
By default, the encapsulation type, BSL, and maximum SI are not configured.
Configuring a multicast policy reserved address for a BFR in G-BIER
About this task
When the encapsulation type is G-BIER, you must configure a routable IPv6 address reserved for the G-BIER multicast policy in a sub-domain. The IPv6 address is carried in the IS-IS sub-sub-TLV to be advertised to neighbors as the destination IPv6 address in G-BIER packets.
When a BFR receives a G-BIER packet, it compares the destination IPv6 address in the packet with the configured IPv6 address. If they are the same, the BFR performs BIER forwarding on the packet. If they are different, the BFR performs IP forwarding on the packet.
Preprequisites
Before configuring a reserved address, you must configure the encapsulation type as G-BIER by using the encapsulation-type command.
Restrictions and guidelines
A BFR must have a unique reserved address in a sub-domain.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Configure a multicast policy reserved address for a BFR in G-BIER.
g-bier mpra ipv6-address
By default, no multicast policy reserved address is configured for a BFR in G-BIER.
Configuring an End.BIER SID for a BFR in BIERv6
About this task
An End.BIER SID is a SID defined in BIERv6 and represented as an IPv6 address. When the encapsulation type is BIERv6, you must configure a routable IPv6 address (End.BIER SID) used for BIERv6 forwarding in a sub-domain. The IPv6 address is carried in the IS-IS sub-sub-TLV to be advertised to neighbors as the destination IPv6 address in BIERv6 packets.
When a BFR receives a BIERv6 packet, it compares the destination IPv6 address in the packet with the configured End.BIER SID. If they are the same, the BFR performs BIERv6 forwarding on the packet. If they are different, the BFR performs IPv6 forwarding on the packet.
Prerequisites
Before configuring an End.BIER SID, you must configure the encapsulation type as BIERv6 by using the encapsulation-type command.
Restrictions and guidelines
For the sid bierv6-sid option to take effect, you must configure the static length (the static static-length option) for the specified locator.
For the specified End.BIER SID to take effect, it must be in the range of the static start SRv6 SID to the static end SRv6 SID of the locator. To view the static start SRv6 SID and the static end SRv6 SID, see the Static SID start and Static SID end fields, respectively, in the display segment-routing ipv6 locator command output. For more information about the display segment-routing ipv6 locator command, see SRv6 commands in Segment Routing Command Reference.
A BFR must have a unique End.BIER SID in a sub-domain.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Configure an End.BIER SID for a BFR in BIERv6.
end-bier locator locator-name sid bierv6-sid
By default, no End.BIER SID is configured for a BFR in BIERv6.
Configuring an End.RGB SID for a BFR in MSR6
About this task
An End.BIER SID is a SID defined in MSR6 and represented as an IPv6 address. When the encapsulation type is MSR6, you must configure a routable IPv6 address (End.RGB SID) used for MSR6 forwarding in a sub-domain. The IPv6 address is carried in the IS-IS sub-sub-TLV to be advertised to neighbors as the destination IPv6 address in MSR6 packets.
When a BFR receives an MSR6 packet, it compares the destination IPv6 address in the packet with the configured End.RGB SID. If they are the same, the BFR performs MSR6 forwarding on the packet. If they are different, the BFR performs IPv6 forwarding on the packet.
Prerequisites
Before configuring an End.RGB SID, you must configure the encapsulation type as MSR6 by using the encapsulation-type command.
Restrictions and guidelines
For the sid msr6-sid option to take effect, you must configure the static length (the static static-length option) for the specified locator.
For the specified End.RGB SID to take effect, it must be in the range of the static start SRv6 SID to the static end SRv6 SID of the locator. To view the static start SRv6 SID and the static end SRv6 SID, see the Static SID start and Static SID end fields, respectively, in the display segment-routing ipv6 locator command output. For more information about the display segment-routing ipv6 locator command, see SRv6 commands in Segment Routing Command Reference.
A BFR must have a unique End.RGB SID in a sub-domain.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Configure an End.RGB SID for a BFR in MSR6.
end-bier locator locator-name sid msr6-sid
By default, no End.RGB SID is configured for a BFR in MSR6.
Configuring a TTL processing mode on a BIER edge device
About this task
When acting as a public network tunnel, BIER can process TTLs in the following modes:
· uniform—When the ingress node of a public network tunnel adds a BIER header to a multicast packet, it copies the TTL value to the TTL field of the BIER packet. When a BFER decapsulates the BIER packet, it copies the TTL value back to the TTL field of the multicast packet. In this mode, nodes in the public network are visible to packets in the user network. The TTL value of the BIER packet decreases by 1 per hop in the BIER tunnel. A tracert operation can display the actual path that the packet travels.
· pipe—When the ingress node of a public network tunnel adds a BIER header to a multicast packet, it populates the TTL field in the BIER with the configured TTL value instead of copying the TTL value of the multicast packet. When a BFER decapsulates the BIER packet, it does not modify the TTL value the multicast packet. In this mode, nodes in the public network are invisible to packets in the user network. The TTL value of the BIER packet decreases by 1 per hop in the BIER tunnel. A tracert operation does not display each node in the public network so the public network structure is hidden.
Restrictions and guidelines
The BFIR and BFERs must be configured with the same TTL processing mode.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Configure a TTL processing mode.
ttl-mode { pipe ttl ttl-value | uniform }
The default setting is pipe on a BFIR and uniform on a BFER.
Configuring static cross-AS BIER
About this task
In a cross-AS BIER deployment, if the ASBR in an AS does not support BIER forwarding, BIER packets cannot be forwarded among ASs. To solve this problem, you can specify the BFR neighbor on the BFR directly connected to the ASBR and the BFR ID range of BIER edge devices that can be reached through the BFR neighbor.
Figure 15 Static cross-AS BIER
Restrictions and guidelines
In the same BIER sub-domain, the BFR ID ranges for different BFR neighbors cannot be overlapping. The configuration performed later does not take effect.
The configuration takes effect only on the BIRT of the local node and will not be advertised to other nodes.
The total number of BFR neighbors in all BIER sub-domains on the device cannot exceed 2000. The number of BFR IDs reachable through one BFR neighbor cannot exceed 256.
The maximum number of BFR IDs with the same priority reachable through one BFR neighbor is 4.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Specify a BFR neighbor and the BFR ID range of BIER edge devices that can be reached through the BFR neighbor.
bfr-neighbor { end-bier bierv6-sid | end-rgb msr6-sid | mpra ipv6-address } bfr-id bfr-id-start [ to bfr-id-end ] [ preference preference-value ]
By default, no BFR neighbor and BFR ID range are specified.
Configuring BGP-based cross-AS BIER
Enabling BIER for BGP
About this task
If BIER is enabled for BGP, BGP imports the BFR IDs and BFR prefixes from the BIER module and generates BGP routes carrying BIER information (excluding BFR ID range information).
The device generates a BGP IPv6 unicast route without BIER information and advertises the route to the BGP IPv6 unicast peers. The BGP IPv6 unicast route uses the locally configured MPRA and BFR prefix as the reachability prefix information of the NLRI field. The BGP IPv6 unicast route can guide the forwarding of BIER packets on devices that do not support BIER forwarding. If the peer capability bier command is also executed, the BGP routes generated by the local BFR prefix carry BIER path attributes can be advertised to the specified peer or peer group.
Restrictions and guidelines
You must perform this task before performing the following tasks:
· Enable the device to exchange routes with BIER path attributes with a peer or peer group.
· Enable BGP BFR prefix proxying.
· Enable BGP to redistribute routes from an IGP.
For more information about configuring BGP instances and address families, see BGP in Layer 3—IP Services Configuration Guide and Layer 3—IP Services Command Reference.
Procedure
1. Enter system view.
system-view
2. Enter BIER view.
bier
3. Enter sub-domain view.
sub-domain sub-domain-id ipv6
4. Configure the encapsulation type, BSL, and maximum SI.
encapsulation-type g-bier bsl bsl-value max-si max-si-value
By default, the encapsulation type, BSL, and maximum SI are not configured.
Enabling the device to exchange routes with BIER path attributes with a peer or peer group
About this task
With this feature configured, BGP will advertise received BIER information to the BIER module for it to generate a BIRT.
The device cannot exchange routes with BIER path attributes with peers or peer groups other than the specified peer or peer group.
Preprequisites
Before performing this task, you must enable BIER for BGP.
Procedure
1. Enter system view.
system-view
2. Enter BGP instance view.
bgp as-number [ instance instance-name ]
3. Enter BGP IPv6 unicast address family view.
address-family ipv6 [ unicast ]
4. Enable BGP to exchange routes with BIER path attributes with a peer or peer group.
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability bier
By default, the device cannot exchange routes with BIER path attributes with any peers or peer groups.
Enabling BGP BFR prefix proxying
Restrictions and guidelines
To avoid loops and ensure correct BIRT entries, perform this task only on one end of an EBGP session.
Preprequisites
Before performing this task, you must enable BIER for BGP.
Procedure
1. Enter system view.
system-view
2. Enter BGP instance view.
bgp as-number [ instance instance-name ]
3. Enter BGP IPv6 unicast address family view.
address-family ipv6 [ unicast ]
4. Enable BGP BFR prefix proxying.
bier bfr-prefix proxy
By default, BGP BFR prefix proxying is disabled.
Enabling BGP to redistribute the BIER information from an IGP
About this task
Perform this task to redistribute the BIER information from an IGP to the BGP routing table for distribution.
Restrictions and guidelines
The redistributed BIER information includes the BFR ID range information. The following rules apply to the inclusion of BFR ID range information when BGP routes generated based on the BIER information are advertised:
· If BGP BFR prefix proxying is not enabled:
¡ The BFR ID range information is not included when BGP routes are advertised to an IBGP peer.
¡ The BFR ID range information is included when BGP routes are advertised to an EBGP peer.
· If BGP BFR prefix proxying is enabled, the BFR ID range information is included when BGP routes are advertised to either an EBGP peer or an IBGP peer.
Preprequisites
Before performing this task, you must enable BIER for BGP.
Procedure
1. Enter system view.
system-view
2. Enter BGP instance view.
bgp as-number [ instance instance-name ]
3. Enter BGP IPv6 unicast address family view.
address-family ipv6 [ unicast ]
4. Enable BGP to redistribute the BIER information from an IGP.
import-bier isisv6 { process-id | all-processes }
By default, BGP does not redistribute the BIER information from an IGP.
After you redistribute the BIER information from all processes of a routing protocol by using the all-processes keyword, this command does not take effect on any processes of the protocol.
Display and maintenance commands for BIER
Execute the display commands in any view and the reset commands in user view.
Task |
Command |
Display BFR prefix information. |
display bier prefix [ prefix-ip ] [ sub-domain sub-domain-id [ bsl bsl-value ] ] |
Display BIER routing table information. |
display bier routing-table [ sub-domain sub-domain-id [ bsl bsl-value ] ] [ prefix prefix-ip ] [ verbose ] |
Display BIER sub-domain information. |
display bier sub-domain [ sub-domain-id ] |
Display the unicast routing protocols that registered with BIER. |
display bier protocol |
Display BIER packet statistics. |
In standalone mode: display bier forward ipv6 statistics slot slot-number [ cpu cpu-number ] In IRF mode: display bier forward ipv6 statistics chassis chassis-number slot slot-number [ cpu cpu-number ] |
Clear BIER packet statistics. |
In standalone mode: reset bier forward ipv6 statistics [ slot slot-number [ cpu cpu-number ] ] In IRF mode: reset bier forward ipv6 statistics [ chassis chassis-number slot slot-number [ cpu cpu-number ] ] |
BIER configuration examples
Example: Configuring intra-AS BIER-based MVPN (G-BIER encapsulation)
Network configuration
As shown in Figure 16, configure intra-AS BIER-based MVPN to meet the following requirements:
Item |
Network configuration |
Multicast sources and receivers |
· In VPN instance a, S 1 is a multicast source, and R 1, R 2, and R 3 are receivers. · In VPN instance b, S 2 is a multicast source, and R 4 is a receiver. |
VPN instances to which PE interfaces belong |
· PE 1: Ten-GigabitEthernet 3/1/2 and Ten-GigabitEthernet 3/1/3 belong to VPN instance a. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. · PE 2: Ten-GigabitEthernet 3/1/2 belongs to VPN instance b. Ten-GigabitEthernet 3/1/3 belongs to VPN instance a. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. · PE 3: Ten-GigabitEthernet 3/1/2 belongs to VPN instance a. Ten-GigabitEthernet 3/1/3 and Loopback 2 belong to VPN instance b. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. |
Unicast routing protocols and BIER |
· Configure IS-IS on the public network, and configure RIP between the PEs and the CEs. · Establish BGP peer connections between PE 1, PE 2, and PE 3 on their respective Loopback 1. · Configure BIER on the public network. |
IP multicast routing |
· Enable IP multicast routing for VPN instance a on PE 1, PE 2, and PE 3. · Enable IP multicast routing for VPN instance b on PE 2 and PE 3. · Enable IP multicast routing on CE a1, CE a2, CE a3, CE b1, and CE b2. |
IGMP |
· Enable IGMPv2 on Ten-GigabitEthernet 3/1/2 of PE 1. · Enable IGMPv2 on Ten-GigabitEthernet 3/1/1 of CE a2, CE a3, and CE b2. |
PIM |
· Enable PIM-SM on all interfaces that do not have attached receiver hosts on PE 1, PE 2, and PE 3. · Enable PIM-SM on all interfaces that do not have attached receiver hosts on CE a1, CE a2, CE a3, CE b1, and CE b2. · Configure Loopback 1 of CE a2 as a C-BSR and a C-RP for VPN instance a to provide services for all multicast groups. · Configure Loopback 2 of PE 3 as a C-BSR and a C-RP for VPN instance b to provide services for all multicast groups. |
MSDP |
When the RP is configured on a CE, the CE uses an MSDP peer to receive type-5 routes from PEs. · Enable MSDP on CE a2, and specify Ten-GigabitEthernet 3/1/2 as the local MSDP connection interface. · Enable MSDP on PE 2 for VPN instance a, and specify Ten-GigabitEthernet 3/1/3 as the local MSDP connection interface. |
Table 6 Interface and IP address assignment
Device |
Interface |
IP address |
Device |
Interface |
IP address |
S 1 |
— |
10.110.7.2/24 |
PE 3 |
XGE3/1/1 |
192.168.8.1/24 |
S 2 |
— |
10.110.8.2/24 |
PE 3 |
XGE3/1/2 |
10.110.5.1/24 |
R 1 |
— |
10.110.1.2/24 |
PE 3 |
XGE3/1/3 |
10.110.6.1/24 |
R 2 |
— |
10.110.9.2/24 |
PE 3 |
Loop1 |
1.1.1.3/32 |
R 3 |
— |
10.110.10.2/24 |
PE 3 |
Loop2 |
33.33.33.33/32 |
R 4 |
— |
10.110.11.2/24 |
CE a1 |
XGE3/1/1 |
10.110.7.1/24 |
P |
XGE3/1/1 |
192.168.6.2/24 |
CE a1 |
XGE3/1/2 |
10.110.2.2/24 |
P |
XGE3/1/2 |
192.168.7.2/24 |
CE a2 |
XGE3/1/1 |
10.110.9.1/24 |
P |
XGE3/1/3 |
192.168.8.2/24 |
CE a2 |
XGE3/1/2 |
10.110.4.2/24 |
P |
Loop1 |
2.2.2.2/32 |
CE a2 |
XGE3/1/3 |
10.110.12.1/24 |
PE 1 |
XGE3/1/1 |
192.168.6.1/24 |
CE a2 |
Loop1 |
22.22.22.22/32 |
PE 1 |
XGE3/1/2 |
10.110.1.1/24 |
CE a3 |
XGE3/1/1 |
10.110.10.1/24 |
PE 1 |
XGE3/1/3 |
10.110.2.1/24 |
CE a3 |
XGE3/1/2 |
10.110.5.2/24 |
PE 1 |
Loop1 |
1.1.1.1/32 |
CE a3 |
XGE3/1/3 |
10.110.12.2/24 |
PE 2 |
XGE3/1/1 |
192.168.7.1/24 |
CE b1 |
XGE3/1/1 |
10.110.8.1/24 |
PE 2 |
XGE3/1/2 |
10.110.3.1/24 |
CE b1 |
XGE3/1/2 |
10.110.3.2/24 |
PE 2 |
XGE3/1/3 |
10.110.4.1/24 |
CE b2 |
XGE3/1/1 |
10.110.11.1/24 |
PE 2 |
Loop1 |
1.1.1.2/32 |
CE b2 |
XGE3/1/2 |
10.110.6.2/24 |
Procedure
1. Configure PE 1:
# Configure a global router ID.
<PE1> system-view
[PE1] router id 1.1.1.1
# Assign PE 1 to sub-domain 0, configure the BFR ID as 1, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[PE1-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5001::1 as the multicast policy reserved address.
[PE1-bier-sub-domain-0-ipv6] g-bier mpra 5001::1
# Configure a multicast service prefix.
[PE1] multicast-service-prefix ms1 ipv6-prefix 1234:1:: 64 service-id-length 10
# Configure SRv6.
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 11::11
[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2:: 96 static 8
[PE1-segment-routing-ipv6] quit
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE1] ip vpn-instance a
[PE1-vpn-instance-a] route-distinguisher 100:1
[PE1-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE1-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE1-vpn-instance-a] quit
# Enable IP multicast routing in VPN instance a.
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE1] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE1-mvpn-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE1-mvpn-a-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for VPN instance a.
[PE1-mvpn-a-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-a-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-a-ipv4] tunnel-source multicast-service-prefix ms1 service-id 12
[PE1-mvpn-a-ipv4] quit
[PE1-mvpn-a] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on Ten-GigabitEthernet 3/1/1.
[PE1] interface ten-gigabitethernet 3/1/1
[PE1-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance a, assign an IP address to the interface, and enable IGMP on the interface.
[PE1] interface ten-gigabitethernet 3/1/2
[PE1-Ten-GigabitEthernet3/1/2] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/1/2] ip address 10.110.1.1 24
[PE1-Ten-GigabitEthernet3/1/2] igmp enable
[PE1-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE1] interface ten-gigabitethernet 3/1/3
[PE1-Ten-GigabitEthernet3/1/3] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/1/3] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/1/3] pim sm
[PE1-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# Configure BGP.
[PE1] bgp 100
[PE1-bgp-default] peer 1112::1112 as-number 100
[PE1-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1112::1112 enable
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE1-bgp-default-vpnv4] peer 1112::1112 enable
[PE1-bgp-default-vpnv4] peer 1113::1113 enable
[PE1-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE1-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE1-bgp-default-vpnv4] quit
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4 unicast
[PE1-bgp-default-ipv4-a] import-route rip 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE1-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] quit
# Configure IS-IS.
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE1-isis-1-ipv6] quit
[PE1-isis] quit
# Configure RIP.
[PE1] rip 2 vpn-instance a
[PE1-rip-2] network 10.110.1.0 0.0.0.255
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
2. Configure PE 2:
# Configure a global router ID.
<PE2> system-view
[PE2] router id 1.1.1.2
# Assign PE 2 to sub-domain 0, configure the BFR ID as 2, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 2
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[PE2-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5002::1 as the multicast policy reserved address.
[PE2-bier-sub-domain-0-ipv6] g-bier mpra 5002::1
# Configure SRv6.
[PE2] segment-routing ipv6
[PE2-segment-routing-ipv6] encapsulation source-address 22::22
[PE2-segment-routing-ipv6] locator aaa ipv6-prefix 2:2:: 96 static 8
[PE2-segment-routing-ipv6] quit
# Configure a multicast service prefix.
[PE2] multicast-service-prefix ms1 ipv6-prefix 1234:2:: 64 service-id-length 10
# Create a VPN instance named b, and configure an RD and route targets for the VPN instance.
[PE2] ip vpn-instance b
[PE2-vpn-instance-b] route-distinguisher 200:1
[PE2-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE2-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE2-vpn-instance-b] quit
# Enable IP multicast routing for VPN instance b.
[PE2] multicast routing vpn-instance b
[PE2-mrib-b] quit
# Create a BIER-based MVPN for VPN instance b.
[PE2] multicast-vpn vpn-instance b mode bier
# Create an MVPN IPv4 address family for VPN instance b.
[PE2-mvpn-b] address-family ipv4
# Specify the MVPN source interface for VPN instance b.
[PE2-mvpn-b-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for VPN instance b.
[PE2-mvpn-b-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-b-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-b-ipv4] tunnel-source multicast-service-prefix ms1 service-id 12
[PE2-mvpn-b-ipv4] quit
[PE2-mvpn-b] quit
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE2] ip vpn-instance a
[PE2-vpn-instance-a] route-distinguisher 100:1
[PE2-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE2-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE2-vpn-instance-a] quit
# Enable IP multicast routing for VPN instance a.
[PE2] multicast routing vpn-instance a
[PE2-mrib-a] quit
# Configure MSDP for VPN instance a.
[PE2] msdp vpn-instance a
[PE2-msdp-a] peer 10.110.4.2 connect-interface Ten-GigabitEthernet3/1/3
[PE2-msdp-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE2] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE2-mvpn-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE2-mvpn-a-ipv4] source loopback 1
[PE2-mvpn-a-ipv4] quit
[PE2-mvpn-a] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[PE2] interface ten-gigabitethernet 3/1/1
[PE2-Ten-GigabitEthernet3/1/1] ipv6 address 9000:7::1 64
[PE2-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE2] interface ten-gigabitethernet 3/1/2
[PE2-Ten-GigabitEthernet3/1/2] ip binding vpn-instance b
[PE2-Ten-GigabitEthernet3/1/2] ip address 10.110.3.1 24
[PE2-Ten-GigabitEthernet3/1/2] pim sm
[PE2-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE2] interface ten-gigabitethernet 3/1/3
[PE2-Ten-GigabitEthernet3/1/3] ip binding vpn-instance a
[PE2-Ten-GigabitEthernet3/1/3] ip address 10.110.4.1 24
[PE2-Ten-GigabitEthernet3/1/3] pim sm
[PE2-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.2 32
[PE2-LoopBack1] ipv6 address 1112::1112 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# Configure BGP.
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] peer 1113::1113 as-number 100
[PE2-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] peer 1113::1113 enable
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE2-bgp-default-vpnv4] peer 1111::1111 enable
[PE2-bgp-default-vpnv4] peer 1113::1113 enable
[PE2-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE2-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE2-bgp-default-vpnv4] quit
[PE2–bgp-default] ip vpn-instance a
[PE2-bgp-default-a] address-family ipv4 unicast
[PE2-bgp-default-ipv4-a] import-route rip 2
[PE2-bgp-default-ipv4-a] import-route direct
[PE2-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE2-bgp-default-ipv4-a] quit
[PE2-bgp-default-a] quit
[PE2–bgp-default] ip vpn-instance b
[PE2-bgp-default-b] address-family ipv4 unicast
[PE2-bgp-default-ipv4-b] import-route rip 3
[PE2-bgp-default-ipv4-b] import-route direct
[PE2-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-b] segment-routing ipv6 locator aaa
[PE2-bgp-default-ipv4-b] quit
[PE2-bgp-default-b] quit
[PE2–bgp-default] quit
# Configure IS-IS.
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0002.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE2-isis-1-ipv6] quit
[PE2-isis] quit
# Configure RIP.
[PE2] rip 2 vpn-instance a
[PE2-rip-2] network 10.110.4.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
[PE2] rip 3 vpn-instance b
[PE2-rip-3] network 10.110.3.0 0.0.0.255
[PE2-rip-3] import-route bgp
[PE2-rip-3] quit
3. Configure PE 3:
# Configure a global router ID.
<PE3> system-view
[PE3] router id 1.1.1.3
# Assign PE 3 to sub-domain 0, configure the BFR ID as 3, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE3] bier
[PE3-bier] sub-domain 0 ipv6
[PE3-bier-sub-domain-0-ipv6] bfr-id 3
[PE3-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[PE3-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5003::1 as the multicast policy reserved address.
PE3-bier-sub-domain-0-ipv6] g-bier mpra 5003::1
# Configure SRv6.
[PE3] segment-routing ipv6
[PE3-segment-routing-ipv6] encapsulation source-address 33::33
[PE3-segment-routing-ipv6] locator aaa ipv6-prefix 3:2:: 96 static 8
[PE3-segment-routing-ipv6] quit
# Configure a multicast service prefix.
[PE3] multicast-service-prefix ms1 ipv6-prefix 1234:3:: 64 service-id-length 10
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE3] ip vpn-instance a
[PE3-vpn-instance-a] route-distinguisher 100:1
[PE3-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE3-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE3-vpn-instance-a] quit
# Enable IP multicast routing for VPN instance a.
[PE3] multicast routing vpn-instance a
[PE3-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE3] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE3-mvpn-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE3-mvpn-a-ipv4] source loopback 1
[PE3-mvpn-a-ipv4] quit
[PE3-mvpn-a] quit
# Create a VPN instance named b, and configure an RD and route targets for the VPN instance.
[PE3] ip vpn-instance b
[PE3-vpn-instance-b] route-distinguisher 200:1
[PE3-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE3-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE3-vpn-instance-b] quit
# Enable IP multicast routing for VPN instance b.
[PE3] multicast routing vpn-instance b
[PE3-mrib-b] quit
# Create a BIER-based MVPN for VPN instance b.
[PE3] multicast-vpn vpn-instance b mode bier
# Create an MVPN IPv4 address family for VPN instance b.
[PE3-mvpn-b] address-family ipv4
# Specify the MVPN source interface for VPN instance b.
[PE3-mvpn-b-ipv4] source loopback 1
[PE3-mvpn-b-ipv4] quit
[PE3-mvpn-b] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[PE3] interface ten-gigabitethernet 3/1/1
[PE3-Ten-GigabitEthernet3/1/1] ipv6 address 9000:8::1 64
[PE3-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE3-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface ten-gigabitethernet 3/1/2
[PE3-Ten-GigabitEthernet3/1/2] ip binding vpn-instance a
[PE3-Ten-GigabitEthernet3/1/2] ip address 10.110.5.1 24
[PE3-Ten-GigabitEthernet3/1/2] pim sm
[PE3-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface ten-gigabitethernet 3/1/3
[PE3-Ten-GigabitEthernet3/1/3] ip binding vpn-instance b
[PE3-Ten-GigabitEthernet3/1/3] ip address 10.110.6.1 24
[PE3-Ten-GigabitEthernet3/1/3] pim sm
[PE3-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 1.1.1.3 32
[PE3-LoopBack1] ipv6 address 1113::1113 128
[PE3-LoopBack1] isis ipv6 enable 1
[PE3-LoopBack1] quit
# Associate Loopback 2 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface loopback 2
[PE3-LoopBack2] ip binding vpn-instance b
[PE3-LoopBack2] ip address 33.33.33.33 32
[PE3-LoopBack2] pim sm
[PE3-LoopBack2] quit
# Configure Loopback 2 as a C-BSR and a C-RP.
[PE3] pim vpn-instance b
[PE3-pim-b] c-bsr 33.33.33.33
[PE3-pim-b] c-rp 33.33.33.33
[PE3-pim-b] quit
# Configure BGP.
[PE3] bgp 100
[PE3-bgp-default] peer 1.1.1.1 as-number 100
[PE3-bgp-default] peer 1.1.1.1 connect-interface loopback 1
[PE3-bgp-default] peer 1.1.1.2 as-number 100
[PE3-bgp-default] peer 1.1.1.2 connect-interface loopback 1
[PE3-bgp-default] address-family ipv4 mvpn
[PE3-bgp-default-mvpn] peer 1.1.1.1 enable
[PE3-bgp-default-mvpn] peer 1.1.1.2 enable
[PE3-bgp-default-mvpn] quit
[PE3-bgp-default] address-family vpnv4
[PE3-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE3-bgp-default-vpnv4] peer 1.1.1.1 enable
[PE3-bgp-default-vpnv4] peer 1.1.1.2 enable
[PE3-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE3-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE3-bgp-default-vpnv4] quit
[PE3–bgp-default] ip vpn-instance a
[PE3-bgp-default-a] address-family ipv4 unicast
[PE3-bgp-default-ipv4-a] import-route rip 2
[PE3-bgp-default-ipv4-a] import-route direct
[PE3-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE3-bgp-default-ipv4-a] quit
[PE3-bgp-default-a] quit
[PE3–bgp-default] ip vpn-instance b
[PE3-bgp-default-b] address-family ipv4 unicast
[PE3-bgp-default-ipv4-b] import-route rip 3
[PE3-bgp-default-ipv4-b] import-route direct
[PE3-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-b] segment-routing ipv6 locator aaa
[PE3-bgp-default-ipv4-b] quit
[PE3-bgp-default-b] quit
[PE3–bgp-default] quit
# Configure IS-IS.
[PE3] isis 1
[PE3-isis-1] is-level level-1
[PE3-isis-1] cost-style wide
[PE3-isis-1] bier enable
[PE3-isis-1] network-entity 10.0000.0000.0003.00
[PE3-isis-1] address-family ipv6 unicast
[PE3-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE3-isis-1-ipv6] quit
[PE3-isis] quit
# Configure RIP.
[PE3] rip 2 vpn-instance a
[PE3-rip-2] network 10.110.5.0 0.0.0.255
[PE3-rip-2] import-route bgp
[PE3-rip-2] quit
[PE3] rip 3 vpn-instance b
[PE3-rip-3] network 10.110.6.0 0.0.0.255
[PE3-rip-3] network 33.33.33.33 0.0.0.0
[PE3-rip-3] import-route bgp
[PE3-rip-3] quit
4. Configure P:
# Assign P to sub-domain 0, configure the BFR ID as 4, and configure the BFR prefix as the IPv6 address of Loopback 1.
<P> system-view
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[P-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5004::1 as the multicast policy reserved address.
[P-bier-sub-domain-0-ipv6] g-bier mpra 5004::1
# Configure SRv6.
[P] segment-routing ipv6
[P-segment-routing-ipv6] encapsulation source-address 44::44
[P-segment-routing-ipv6] locator aaa ipv6-prefix 4:2:: 96 static 8
[P-segment-routing-ipv6] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/1
[P-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::2 64
[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/2
[P-Ten-GigabitEthernet3/1/2] ipv6 address 9000:7::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet3/1/3, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/3
[P-Ten-GigabitEthernet3/1/3] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 64
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
# Configure IS-IS.
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator aaa
[P-isis-1-ipv6] quit
[P-isis-1] quit
5. Configure CE a1:
# Enable IP multicast routing.
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable PIM-SM on the interface.
[CEa1] interface ten-gigabitethernet 3/1/1
[CEa1-Ten-GigabitEthernet3/1/1] ip address 10.110.7.1 24
[CEa1-Ten-GigabitEthernet3/1/1] pim sm
[CEa1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa1] interface ten-gigabitethernet 3/1/2
[CEa1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.2 24
[CEa1-Ten-GigabitEthernet3/1/2] pim sm
[CEa1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEa1] rip 2
[CEa1-rip-2] network 10.110.2.0 0.0.0.255
[CEa1-rip-2] network 10.110.7.0 0.0.0.255
[CEa1-rip-2] quit
6. Configure CE b1:
# Enable IP multicast routing.
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable PIM-SM on the interface.
[CEb1] interface ten-gigabitethernet 3/1/1
[CEb1-Ten-GigabitEthernet3/1/1] ip address 10.110.8.1 24
[CEb1-Ten-GigabitEthernet3/1/1] pim sm
[CEb1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEb1] interface ten-gigabitethernet 3/1/2
[CEb1-Ten-GigabitEthernet3/1/2] ip address 10.110.3.2 24
[CEb1-Ten-GigabitEthernet3/1/2] pim sm
[CEb1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEb1] rip 3
[CEb1-rip-3] network 10.110.3.0 0.0.0.255
[CEb1-rip-3] network 10.110.8.0 0.0.0.255
[CEb1-rip-2] quit
7. Configure CE a2:
# Enable IP multicast routing.
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEa2] interface ten-gigabitethernet 3/1/1
[CEa2-Ten-GigabitEthernet3/1/1] ip address 10.110.9.1 24
[CEa2-Ten-GigabitEthernet3/1/1] igmp enable
[CEa2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa2] interface ten-gigabitethernet 3/1/2
[CEa2-Ten-GigabitEthernet3/1/2] ip address 10.110.4.2 24
[CEa2-Ten-GigabitEthernet3/1/2] pim sm
[CEa2-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/3, and enable PIM-SM on the interface.
[CEa2] interface ten-gigabitethernet 3/1/3
[CEa2-Ten-GigabitEthernet3/1/3] ip address 10.110.12.1 24
[CEa2-Ten-GigabitEthernet3/1/3] pim sm
[CEa2-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1, and enable PIM-SM on the interface.
[CEa2] interface loopback 1
[CEa2-LoopBack1] ip address 22.22.22.22 32
[CEa2-LoopBack1] pim sm
[CEa2-LoopBack1] quit
# Configure Loopback 1 as a C-BSR and a C-RP.
[CEa2] pim vpn-instance a
[CEa2-pim] c-bsr 22.22.22.22
[CEa2-pim] c-rp 22.22.22.22
[CEa2-pim] quit
# Configure MSDP.
[CEa2] msdp
[CEa2-msdp] peer 10.110.4.1 connect-interface ten-gigabitethernet 3/1/2
[CEa2-msdp] quit
# Configure RIP.
[CEa2] rip 2
[CEa2-rip-2] network 10.110.4.0 0.0.0.255
[CEa2-rip-2] network 10.110.9.0 0.0.0.255
[CEa2-rip-2] network 10.110.12.0 0.0.0.255
[CEa2-rip-2] network 22.22.22.22 0.0.0.0
[CEa2-rip-2] quit
8. Configure CE a3:
# Enable IP multicast routing.
<CEa3> system-view
[CEa3] multicast routing
[CEa3-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEa3] interface ten-gigabitethernet 3/1/1
[CEa3-Ten-GigabitEthernet3/1/1] ip address 10.110.10.1 24
[CEa3-Ten-GigabitEthernet3/1/1] igmp enable
[CEa3-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa3] interface ten-gigabitethernet 3/1/2
[CEa3-Ten-GigabitEthernet3/1/2] ip address 10.110.5.2 24
[CEa3-Ten-GigabitEthernet3/1/2] pim sm
[CEa3-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/3, and enable PIM-SM on the interface.
[CEa3] interface ten-gigabitethernet 3/1/3
[CEa3-Ten-GigabitEthernet3/1/3] ip address 10.110.12.2 24
[CEa3-Ten-GigabitEthernet3/1/3] pim sm
[CEa3-Ten-GigabitEthernet3/1/3] quit
# Configure RIP.
[CEa3] rip 2
[CEa3-rip-2] network 10.110.5.0 0.0.0.255
[CEa3-rip-2] network 10.110.10.0 0.0.0.255
[CEa3-rip-2] network 10.110.12.0 0.0.0.255
[CEa3-rip-2] quit
9. Configure CE b2:
# Enable IP multicast routing.
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEb2] interface ten-gigabitethernet 3/1/1
[CEb2-Ten-GigabitEthernet3/1/1] ip address 10.110.11.1 24
[CEb2-Ten-GigabitEthernet3/1/1] igmp enable
[CEb2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEb2] interface ten-gigabitethernet 3/1/2
[CEb2-Ten-GigabitEthernet3/1/2] ip address 10.110.6.2 24
[CEb2-Ten-GigabitEthernet3/1/2] pim sm
[CEb2-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEb2] rip 3
[CEb2-rip-3] network 10.110.6.0 0.0.0.255
[CEb2-rip-3] network 10.110.11.0 0.0.0.255
[CEb2-rip-2] quit
Verifying the configuration
# Display information about the BIER inclusive tunnel for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: 00:10:05 Originating router: 1.1.1.2
2: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: 00:00:23 Originating router: 1.1.1.2
# Display C-multicast A-D route information for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for VPN instance a on PE 2.
[PE2] display multicast-vpn vpn-instance a inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: -- Originating router: 1.1.1.2
# Display information about BIER selective tunnels for VPN instance a on PE 2.
[PE2] display multicast-vpn vpn-instance a selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: -- Originating router: 1.1.1.2
# Display information about the BIER inclusive tunnel for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 1112::1112
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 1 BFR prefix: 1111::1111
Uptime: 00:10:05 Originating router: 1.1.1.1
2: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 1112::1112
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:00:23 Originating router: 1.1.1.3
# Display C-multicast A-D route information for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.8.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for VPN instance b on PE 3.
[PE3] display multicast-vpn vpn-instance b inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 2
BFR prefix: 1112::1112
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance b on PE 3.
[PE3] display multicast-vpn vpn-instance b selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 2
BFR prefix: 1112::1112
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
Example: Configuring intra-AS BIER-based MVPN (BIERv6 encapsulation)
Network configuration
As shown in Figure 17, configure intra-AS BIER-based MVPN with the BIERv6 encapsulation to meet the following requirements:
Item |
Network configuration |
Multicast sources and receivers |
· In VPN instance a, S 1 is a multicast source, and R 1, R 2, and R 3 are receivers. · In VPN instance b, S 2 is a multicast source, and R 4 is a receiver. |
VPN instances to which PE interfaces belong |
· PE 1: Ten-GigabitEthernet 3/1/2 and Ten-GigabitEthernet 3/1/3 belong to VPN instance a. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. · PE 2: Ten-GigabitEthernet 3/1/2 belongs to VPN instance b. Ten-GigabitEthernet 3/1/3 belongs to VPN instance a. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. · PE 3: Ten-GigabitEthernet 3/1/2 belongs to VPN instance a. Ten-GigabitEthernet 3/1/3 and Loopback 2 belong to VPN instance b. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. |
Unicast routing protocols and BIER |
· Configure IS-IS on the public network, and configure RIP between the PEs and the CEs. · Establish BGP peer connections between PE 1, PE 2, and PE 3 on their respective Loopback 1. · Configure BIER on the public network: sub-domain 0, BSL 128, and max-SI 32. · Configure the BFR prefix of PE 1, PE 2, PE 3, and P as the IPv6 addresses for their respective Loopback 1, and configure the End.BIER SID for each device. |
IP multicast routing |
· Enable IP multicast routing for VPN instance a on PE 1, PE 2, and PE 3. · Enable IP multicast routing for VPN instance b on PE 2 and PE 3. · Enable IP multicast routing on CE a1, CE a2, CE a3, CE b1, and CE b2. |
IGMP |
· Enable IGMPv2 on Ten-GigabitEthernet 3/1/2 of PE 1. · Enable IGMPv2 on Ten-GigabitEthernet 3/1/1 of CE a2, CE a3, and CE b2. |
PIM |
· Enable PIM-SM on all interfaces that do not have attached receiver hosts on PE 1, PE 2, and PE 3. · Enable PIM-SM on all interfaces that do not have attached receiver hosts on CE a1, CE a2, CE a3, CE b1, and CE b2. · Configure Loopback 1 of CE a2 as a C-BSR and a C-RP for VPN instance a to provide services for all multicast groups. · Configure Loopback 2 of PE 3 as a C-BSR and a C-RP for VPN instance b to provide services for all multicast groups. |
MSDP |
When the RP is configured on a CE, the CE uses an MSDP peer to receive type-5 routes from PEs. · Enable MSDP on CE a2, and specify Ten-GigabitEthernet 3/1/2 as the local MSDP connection interface. · Enable MSDP on PE 2 for VPN instance a, and specify Ten-GigabitEthernet 3/1/3 as the local MSDP connection interface. |
Table 7 Interface and IP address assignment
Device |
Interface |
IP address |
Device |
Interface |
IP address |
S 1 |
— |
10.110.7.2/24 |
PE 3 |
XGE3/1/1 |
192.168.8.1/24 |
S 2 |
— |
10.110.8.2/24 |
PE 3 |
XGE3/1/2 |
10.110.5.1/24 |
R 1 |
— |
10.110.1.2/24 |
PE 3 |
XGE3/1/3 |
10.110.6.1/24 |
R 2 |
— |
10.110.9.2/24 |
PE 3 |
Loop1 |
1.1.1.3/32 |
R 3 |
— |
10.110.10.2/24 |
PE 3 |
Loop2 |
33.33.33.33/32 |
R 4 |
— |
10.110.11.2/24 |
CE a1 |
XGE3/1/1 |
10.110.7.1/24 |
P |
XGE3/1/1 |
192.168.6.2/24 |
CE a1 |
XGE3/1/2 |
10.110.2.2/24 |
P |
XGE3/1/2 |
192.168.7.2/24 |
CE a2 |
XGE3/1/1 |
10.110.9.1/24 |
P |
XGE3/1/3 |
192.168.8.2/24 |
CE a2 |
XGE3/1/2 |
10.110.4.2/24 |
P |
Loop1 |
2.2.2.2/32 |
CE a2 |
XGE3/1/3 |
10.110.12.1/24 |
PE 1 |
XGE3/1/1 |
192.168.6.1/24 |
CE a2 |
Loop1 |
22.22.22.22/32 |
PE 1 |
XGE3/1/2 |
10.110.1.1/24 |
CE a3 |
XGE3/1/1 |
10.110.10.1/24 |
PE 1 |
XGE3/1/3 |
10.110.2.1/24 |
CE a3 |
XGE3/1/2 |
10.110.5.2/24 |
PE 1 |
Loop1 |
1.1.1.1/32 |
CE a3 |
XGE3/1/3 |
10.110.12.2/24 |
PE 2 |
XGE3/1/1 |
192.168.7.1/24 |
CE b1 |
XGE3/1/1 |
10.110.8.1/24 |
PE 2 |
XGE3/1/2 |
10.110.3.1/24 |
CE b1 |
XGE3/1/2 |
10.110.3.2/24 |
PE 2 |
XGE3/1/3 |
10.110.4.1/24 |
CE b2 |
XGE3/1/1 |
10.110.11.1/24 |
PE 2 |
Loop1 |
1.1.1.2/32 |
CE b2 |
XGE3/1/2 |
10.110.6.2/24 |
Procedure
1. Configure PE 1:
# Configure a global router ID.
<PE1> system-view
[PE1] router id 1.1.1.1
# Configure SRv6.
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 11::11
[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:1:: 96 static 8
[PE1-segment-routing-ipv6] locator a ipv6-prefix 1:2:: 64 static 32
[PE1-segment-routing-ipv6] quit
# Assign PE 1 to sub-domain 0, configure the BFR ID as 1, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[PE1-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 1:2::1 as the End.BIER SID.
[PE1-bier-sub-domain-0-ipv6] end-bier locator a sid 1:2::1
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE1] ip vpn-instance a
[PE1-vpn-instance-a] route-distinguisher 100:1
[PE1-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE1-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE1-vpn-instance-a] quit
# Enable IP multicast routing in VPN instance a.
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE1] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE1-mvpn-vpn-instance-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE1-mvpn-vpn-instance-a-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for VPN instance a.
[PE1-mvpn-vpn-instance-a-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-vpn-instance-a-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-vpn-instance-a-ipv4] src-dt4 locator a sid 1:2::2
[PE1-mvpn-vpn-instance-a-ipv4] quit
[PE1-mvpn-vpn-instance-a] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on Ten-GigabitEthernet 3/1/1.
[PE1] interface ten-gigabitethernet 3/1/1
[PE1-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance a, assign an IP address to the interface, and enable IGMP on the interface.
[PE1] interface ten-gigabitethernet 3/1/2
[PE1-Ten-GigabitEthernet3/1/2] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/1/2] ip address 10.110.1.1 24
[PE1-Ten-GigabitEthernet3/1/2] igmp enable
[PE1-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE1] interface ten-gigabitethernet 3/1/3
[PE1-Ten-GigabitEthernet3/1/3] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/1/3] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/1/3] pim sm
[PE1-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# Configure BGP.
[PE1] bgp 100
[PE1-bgp-default] peer 1112::1112 as-number 100
[PE1-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1112::1112 enable
[PE1-bgp-default-mvpn] peer 1112::1112 prefix-sid
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] peer 1113::1113 prefix-sid
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE1-bgp-default-vpnv4] peer 1112::1112 enable
[PE1-bgp-default-vpnv4] peer 1113::1113 enable
[PE1-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE1-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE1-bgp-default-vpnv4] quit
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4 unicast
[PE1-bgp-default-ipv4-a] import-route rip 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE1-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] quit
# Configure IS-IS.
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# Configure RIP.
[PE1] rip 2 vpn-instance a
[PE1-rip-2] network 10.110.1.0 0.0.0.255
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
2. Configure PE 2:
# Configure a global router ID.
<PE2> system-view
[PE2] router id 1.1.1.2
# Configure SRv6.
[PE2] segment-routing ipv6
[PE2-segment-routing-ipv6] encapsulation source-address 22::22
[PE2-segment-routing-ipv6] locator aaa ipv6-prefix 2:2:: 96 static 8
[PE2-segment-routing-ipv6] locator a ipv6-prefix 2:1:: 64 static 32
[PE2-segment-routing-ipv6] quit
# Assign PE 2 to sub-domain 0, configure the BFR ID as 2, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 2
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[PE2-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 2:1::1 as the End.BIER SID.
[PE2-bier-sub-domain-0-ipv6] end-bier locator a sid 2:1::1
# Create a VPN instance named b, and configure an RD and route targets for the VPN instance.
[PE2] ip vpn-instance b
[PE2-vpn-instance-b] route-distinguisher 200:1
[PE2-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE2-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE2-vpn-instance-b] quit
# Enable IP multicast routing for VPN instance b.
[PE2] multicast routing vpn-instance b
[PE2-mrib-b] quit
# Create an MSDP peer in VPN instance a.
[PE2] msdp vpn-instance a
[PE2-msdp-a] peer 10.110.4.2 connect-interface ten-gigabitethernet 3/1/3
[PE2-msdp-a] quit
# Create a BIER-based MVPN for VPN instance b.
[PE2] multicast-vpn vpn-instance b mode bier
# Create an MVPN IPv4 address family for VPN instance b.
[PE2-mvpn-vpn-instance-b] address-family ipv4
# Specify the MVPN source interface for VPN instance b.
[PE2-mvpn-vpn-instance-b-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for VPN instance b.
[PE2-mvpn-vpn-instance-b-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-vpn-instance-b-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-vpn-instance-b-ipv4] src-dt4 locator a sid 2:1::2
[PE2-mvpn-vpn-instance-b-ipv4] quit
[PE2-mvpn-vpn-instance-b] quit
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE2] ip vpn-instance a
[PE2-vpn-instance-a] route-distinguisher 100:1
[PE2-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE2-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE2-vpn-instance-a] quit
# Enable IP multicast routing for VPN instance a.
[PE2] multicast routing vpn-instance a
[PE2-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE2] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE2-mvpn-vpn-instance-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE2-mvpn-vpn-instance-a-ipv4] source loopback 1
[PE2-mvpn-vpn-instance-a-ipv4] quit
[PE2-mvpn-vpn-instance-a] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[PE2] interface ten-gigabitethernet 3/1/1
[PE2-Ten-GigabitEthernet3/1/1] ipv6 address 9000:7::1 64
[PE2-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE2] interface ten-gigabitethernet 3/1/2
[PE2-Ten-GigabitEthernet3/1/2] ip binding vpn-instance b
[PE2-Ten-GigabitEthernet3/1/2] ip address 10.110.3.1 24
[PE2-Ten-GigabitEthernet3/1/2] pim sm
[PE2-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE2] interface ten-gigabitethernet 3/1/3
[PE2-Ten-GigabitEthernet3/1/3] ip binding vpn-instance a
[PE2-Ten-GigabitEthernet3/1/3] ip address 10.110.4.1 24
[PE2-Ten-GigabitEthernet3/1/3] pim sm
[PE2-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.2 32
[PE2-LoopBack1] ipv6 address 1112::1112 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# Configure BGP.
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] peer 1113::1113 as-number 100
[PE2-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] peer 1113::1113 enable
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE2-bgp-default-vpnv4] peer 1111::1111 enable
[PE2-bgp-default-vpnv4] peer 1113::1113 enable
[PE2-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE2-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE2-bgp-default-vpnv4] quit
[PE2–bgp-default] ip vpn-instance a
[PE2-bgp-default-a] address-family ipv4 unicast
[PE2-bgp-default-ipv4-a] import-route rip 2
[PE2-bgp-default-ipv4-a] import-route direct
[PE2-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE2-bgp-default-ipv4-a] quit
[PE2-bgp-default-a] quit
[PE2–bgp-default] ip vpn-instance b
[PE2-bgp-default-b] address-family ipv4 unicast
[PE2-bgp-default-ipv4-b] import-route rip 3
[PE2-bgp-default-ipv4-b] import-route direct
[PE2-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-b] segment-routing ipv6 locator aaa
[PE2-bgp-default-ipv4-b] quit
[PE2-bgp-default-b] quit
[PE2–bgp-default] quit
# Configure IS-IS.
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0002.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
# Configure RIP.
[PE2] rip 2 vpn-instance a
[PE2-rip-2] network 10.110.4.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
[PE2] rip 3 vpn-instance b
[PE2-rip-3] network 10.110.3.0 0.0.0.255
[PE2-rip-3] import-route bgp
[PE2-rip-3] quit
3. Configure PE 3:
# Configure a global router ID.
<PE3> system-view
[PE3] router id 1.1.1.3
# Configure SRv6.
[PE3] segment-routing ipv6
[PE3-segment-routing-ipv6] encapsulation source-address 33::33
[PE3-segment-routing-ipv6] locator aaa ipv6-prefix 3:3:: 96 static 8
[PE3-segment-routing-ipv6] locator a ipv6-prefix 3:2:: 64 static 32
[PE3-segment-routing-ipv6] quit
# Assign PE 3 to sub-domain 0, configure the BFR ID as 3, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE3] bier
[PE3-bier] sub-domain 0 ipv6
[PE3-bier-sub-domain-0-ipv6] bfr-id 3
[PE3-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[PE3-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 3:2::1 as the End.BIER SID.
[PE3-bier-sub-domain-0-ipv6] end-bier locator a sid 3:2::1
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE3] ip vpn-instance a
[PE3-vpn-instance-a] route-distinguisher 100:1
[PE3-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE3-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE3-vpn-instance-a] quit
# Enable IP multicast routing for VPN instance a.
[PE3] multicast routing vpn-instance a
[PE3-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE3] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE3-mvpn-vpn-instance-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE3-mvpn-vpn-instance-a-ipv4] source loopback 1
[PE3-mvpn-vpn-instance-a-ipv4] quit
[PE3-mvpn-vpn-instance-a] quit
# Create a VPN instance named b, and configure an RD and route targets for the VPN instance.
[PE3] ip vpn-instance b
[PE3-vpn-instance-b] route-distinguisher 200:1
[PE3-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE3-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE3-vpn-instance-b] quit
# Enable IP multicast routing for VPN instance b.
[PE3] multicast routing vpn-instance b
[PE3-mrib-b] quit
# Create a BIER-based MVPN for VPN instance b.
[PE3] multicast-vpn vpn-instance b mode bier
# Create an MVPN IPv4 address family for VPN instance b.
[PE3-mvpn-vpn-instance-b] address-family ipv4
# Specify the MVPN source interface for VPN instance b.
[PE3-mvpn-vpn-instance-b-ipv4] source loopback 1
[PE3-mvpn-vpn-instance-b-ipv4] quit
[PE3-mvpn-vpn-instance-b] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[PE3] interface ten-gigabitethernet 3/1/1
[PE3-Ten-GigabitEthernet3/1/1] ipv6 address 9000:8::1 64
[PE3-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE3-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface ten-gigabitethernet 3/1/2
[PE3-Ten-GigabitEthernet3/1/2] ip binding vpn-instance a
[PE3-Ten-GigabitEthernet3/1/2] ip address 10.110.5.1 24
[PE3-Ten-GigabitEthernet3/1/2] pim sm
[PE3-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface ten-gigabitethernet 3/1/3
[PE3-Ten-GigabitEthernet3/1/3] ip binding vpn-instance b
[PE3-Ten-GigabitEthernet3/1/3] ip address 10.110.6.1 24
[PE3-Ten-GigabitEthernet3/1/3] pim sm
[PE3-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 1.1.1.3 32
[PE3-LoopBack1] ipv6 address 1113::1113 128
[PE3-LoopBack1] isis ipv6 enable 1
[PE3-LoopBack1] quit
# Associate Loopback 2 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface loopback 2
[PE3-LoopBack2] ip binding vpn-instance b
[PE3-LoopBack2] ip address 33.33.33.33 32
[PE3-LoopBack2] pim sm
[PE3-LoopBack2] quit
# Configure Loopback 2 as a C-BSR and a C-RP.
[PE3] pim vpn-instance b
[PE3-pim-b] c-bsr 33.33.33.33
[PE3-pim-b] c-rp 33.33.33.33
[PE3-pim-b] quit
# Configure BGP.
[PE3] bgp 100
[PE3-bgp-default] peer 1111::1111 as-number 100
[PE3-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE3-bgp-default] peer 1112::1112 as-number 100
[PE3-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE3-bgp-default] address-family ipv4 mvpn
[PE3-bgp-default-mvpn] peer 1111::1111 enable
[PE3-bgp-default-mvpn] peer 1111::1111 prefix-sid
[PE3-bgp-default-mvpn] peer 1112::1112 enable
[PE3-bgp-default-mvpn] peer 1112::1112 prefix-sid
[PE3-bgp-default-mvpn] quit
[PE3-bgp-default] address-family vpnv4
[PE3-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE3-bgp-default-vpnv4] peer 1111::1111 enable
[PE3-bgp-default-vpnv4] peer 1112::1112 enable
[PE3-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE3-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE3-bgp-default-vpnv4] quit
[PE3–bgp-default] ip vpn-instance a
[PE3-bgp-default-a] address-family ipv4 unicast
[PE3-bgp-default-ipv4-a] import-route rip 2
[PE3-bgp-default-ipv4-a] import-route direct
[PE3-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE3-bgp-default-ipv4-a] quit
[PE3-bgp-default-a] quit
[PE3–bgp-default] ip vpn-instance b
[PE3-bgp-default-b] address-family ipv4 unicast
[PE3-bgp-default-ipv4-b] import-route rip 3
[PE3-bgp-default-ipv4-b] import-route direct
[PE3-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-b] segment-routing ipv6 locator aaa
[PE3-bgp-default-ipv4-b] quit
[PE3-bgp-default-b] quit
[PE3–bgp-default] quit
# Configure IS-IS.
[PE3] isis 1
[PE3-isis-1] is-level level-1
[PE3-isis-1] cost-style wide
[PE3-isis-1] bier enable
[PE3-isis-1] network-entity 10.0000.0000.0003.00
[PE3-isis-1] address-family ipv6 unicast
[PE3-isis-1-ipv6] segment-routing ipv6 locator aaa
[PE3-isis-1-ipv6] quit
[PE3-isis-1] quit
# Configure RIP.
[PE3] rip 2 vpn-instance a
[PE3-rip-2] network 10.110.5.0 0.0.0.255
[PE3-rip-2] import-route bgp
[PE3-rip-2] quit
[PE3] rip 3 vpn-instance b
[PE3-rip-3] network 10.110.6.0 0.0.0.255
[PE3-rip-3] network 33.33.33.33 0.0.0.0
[PE3-rip-3] import-route bgp
[PE3-rip-3] quit
4. Configure P:
# Configure SRv6.
<P> system-view
[P] segment-routing ipv6
[P-segment-routing-ipv6] encapsulation source-address 44::44
[P-segment-routing-ipv6] locator aaa ipv6-prefix 4:2:: 96 static 8
[P-segment-routing-ipv6] locator a ipv6-prefix 4:1:: 64 static 32
[P-segment-routing-ipv6] quit
# Assign P to sub-domain 0, configure the BFR ID as 4, and configure the BFR prefix as the IPv6 address of Loopback 1.
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[P-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 4:1::1 as the End.BIER SID.
[P-bier-sub-domain-0-ipv6] end-bier locator a sid 4:1::1
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/1
[P-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::2 128
[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/2
[P-Ten-GigabitEthernet3/1/2] ipv6 address 9000:7::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet3/1/3, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/3
[P-Ten-GigabitEthernet3/1/3] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 64
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
# Configure IS-IS.
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator aaa
[P-isis-1-ipv6] quit
[P-isis-1] quit
5. Configure CE a1:
# Enable IP multicast routing.
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable PIM-SM on the interface.
[CEa1] interface ten-gigabitethernet 3/1/1
[CEa1-Ten-GigabitEthernet3/1/1] ip address 10.110.7.1 24
[CEa1-Ten-GigabitEthernet3/1/1] pim sm
[CEa1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa1] interface ten-gigabitethernet 3/1/2
[CEa1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.2 24
[CEa1-Ten-GigabitEthernet3/1/2] pim sm
[CEa1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEa1] rip 2
[CEa1-rip-2] network 10.110.2.0 0.0.0.255
[CEa1-rip-2] network 10.110.7.0 0.0.0.255
[CEa1-rip-2] quit
6. Configure CE b1:
# Enable IP multicast routing.
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable PIM-SM on the interface.
[CEb1] interface ten-gigabitethernet 3/1/1
[CEb1-Ten-GigabitEthernet3/1/1] ip address 10.110.8.1 24
[CEb1-Ten-GigabitEthernet3/1/1] pim sm
[CEb1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEb1] interface ten-gigabitethernet 3/1/2
[CEb1-Ten-GigabitEthernet3/1/2] ip address 10.110.3.2 24
[CEb1-Ten-GigabitEthernet3/1/2] pim sm
[CEb1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEb1] rip 3
[CEb1-rip-3] network 10.110.3.0 0.0.0.255
[CEb1-rip-3] network 10.110.8.0 0.0.0.255
[CEb1-rip-2] quit
7. Configure CE a2:
# Enable IP multicast routing.
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEa2] interface ten-gigabitethernet 3/1/1
[CEa2-Ten-GigabitEthernet3/1/1] ip address 10.110.9.1 24
[CEa2-Ten-GigabitEthernet3/1/1] igmp enable
[CEa2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa2] interface ten-gigabitethernet 3/1/2
[CEa2-Ten-GigabitEthernet3/1/2] ip address 10.110.4.2 24
[CEa2-Ten-GigabitEthernet3/1/2] pim sm
[CEa2-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/3, and enable PIM-SM on the interface.
[CEa2] interface ten-gigabitethernet 3/1/3
[CEa2-Ten-GigabitEthernet3/1/3] ip address 10.110.12.1 24
[CEa2-Ten-GigabitEthernet3/1/3] pim sm
[CEa2-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1, and enable PIM-SM on the interface.
[CEa2] interface loopback 1
[CEa2-LoopBack1] ip address 22.22.22.22 32
[CEa2-LoopBack1] pim sm
[CEa2-LoopBack1] quit
# Configure Loopback 1 as a C-BSR and a C-RP.
[CEa2] pim
[CEa2-pim] c-bsr 22.22.22.22
[CEa2-pim] c-rp 22.22.22.22
[CEa2-pim] quit
# Configure MSDP.
[CEa2] msdp
[CEa2-msdp] peer 10.110.4.1 connect-interface ten-gigabitethernet 3/1/2
[CEa2-msdp] quit
# Configure RIP.
[CEa2] rip 2
[CEa2-rip-2] network 10.110.4.0 0.0.0.255
[CEa2-rip-2] network 10.110.9.0 0.0.0.255
[CEa2-rip-2] network 10.110.12.0 0.0.0.255
[CEa2-rip-2] network 22.22.22.22 0.0.0.0
[CEa2-rip-2] quit
8. Configure CE a3:
# Enable IP multicast routing.
<CEa3> system-view
[CEa3] multicast routing
[CEa3-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEa3] interface ten-gigabitethernet 3/1/1
[CEa3-Ten-GigabitEthernet3/1/1] ip address 10.110.10.1 24
[CEa3-Ten-GigabitEthernet3/1/1] igmp enable
[CEa3-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa3] interface ten-gigabitethernet 3/1/2
[CEa3-Ten-GigabitEthernet3/1/2] ip address 10.110.5.2 24
[CEa3-Ten-GigabitEthernet3/1/2] pim sm
[CEa3-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/3, and enable PIM-SM on the interface.
[CEa3] interface ten-gigabitethernet 3/1/3
[CEa3-Ten-GigabitEthernet3/1/3] ip address 10.110.12.2 24
[CEa3-Ten-GigabitEthernet3/1/3] pim sm
[CEa3-Ten-GigabitEthernet3/1/3] quit
# Configure RIP.
[CEa3] rip 2
[CEa3-rip-2] network 10.110.5.0 0.0.0.255
[CEa3-rip-2] network 10.110.10.0 0.0.0.255
[CEa3-rip-2] network 10.110.12.0 0.0.0.255
[CEa3-rip-2] quit
9. Configure CE b2:
# Enable IP multicast routing.
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEb2] interface ten-gigabitethernet 3/1/1
[CEb2-Ten-GigabitEthernet3/1/1] ip address 10.110.11.1 24
[CEb2-Ten-GigabitEthernet3/1/1] igmp enable
[CEb2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEb2] interface ten-gigabitethernet 3/1/2
[CEb2-Ten-GigabitEthernet3/1/2] ip address 10.110.6.2 24
[CEb2-Ten-GigabitEthernet3/1/2] pim sm
[CEb2-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEb2] rip 3
[CEb2-rip-3] network 10.110.6.0 0.0.0.255
[CEb2-rip-3] network 10.110.11.0 0.0.0.255
[CEb2-rip-2] quit
Verifying the configuration
# Display information about the BIER inclusive tunnel for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
0 0 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: 00:10:05 Originating router: 1.1.1.2
2: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
0 0 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: 00:00:23 Originating router: 1.1.1.2
# Display C-multicast A-D route information for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for VPN instance a on PE 2.
[PE2] display multicast-vpn vpn-instance a inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID/BSL: 0/128
BFR-ID: 1
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: -- Originating router: 1.1.1.2
# Display information about BIER selective tunnels for VPN instance a on PE 2.
[PE2] display multicast-vpn vpn-instance a selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: -- Originating router: 1.1.1.2
# Display information about the BIER inclusive tunnel for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 1112::1112
Multicast service prefix:
Prefix length ID length ID offset MS Flags
0 0 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 1 BFR prefix: 1111::1111
Uptime: 00:10:05 Originating router: 1.1.1.1
2: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 1112::1112
Multicast service prefix:
Prefix length ID length ID offset MS Flags
0 0 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:00:23 Originating router: 1.1.1.3
# Display C-multicast A-D route information for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.8.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for VPN instance b on PE 3.
[PE3] display multicast-vpn vpn-instance b inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 2
BFR prefix: 1112::1112
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance b on PE 3.
[PE3] display multicast-vpn vpn-instance b selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 2
BFR prefix: 1112::1112
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
Example: Configuring intra-AS BIER-based MVPN (MSR6 encapsulation)
Network configuration
As shown in Figure 18, configure intra-AS BIER-based MVPN with the MSR6 encapsulation to meet the following requirements:
Item |
Network configuration |
Multicast sources and receivers |
· In VPN instance a, S 1 is a multicast source, and R 1, R 2, and R 3 are receivers. · In VPN instance b, S 2 is a multicast source, and R 4 is a receiver. |
VPN instances to which PE interfaces belong |
· PE 1: Ten-GigabitEthernet 3/1/2 and Ten-GigabitEthernet 3/1/3 belong to VPN instance a. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. · PE 2: Ten-GigabitEthernet 3/1/2 belongs to VPN instance b. Ten-GigabitEthernet 3/1/3 belongs to VPN instance a. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. · PE 3: Ten-GigabitEthernet 3/1/2 belongs to VPN instance a. Ten-GigabitEthernet 3/1/3 and Loopback 2 belong to VPN instance b. Ten-GigabitEthernet 3/1/1 and Loopback 1 belong to the public network. |
Unicast routing protocols and BIER |
· Configure IS-IS on the public network, and configure RIP between the PEs and the CEs. · Establish BGP peer connections between PE 1, PE 2, and PE 3 on their respective Loopback 1. · Configure BIER on the public network: sub-domain 0, BSL 128, and max-SI 32. · Configure the BFR prefix of PE 1, PE 2, PE 3, and P as the IPv6 addresses for their respective Loopback 1, and configure the End.RGB SID for each device. |
IP multicast routing |
· Enable IP multicast routing for VPN instance a on PE 1, PE 2, and PE 3. · Enable IP multicast routing for VPN instance b on PE 2 and PE 3. · Enable IP multicast routing on CE a1, CE a2, CE a3, CE b1, and CE b2. |
IGMP |
· Enable IGMPv2 on Ten-GigabitEthernet 3/1/2 of PE 1. · Enable IGMPv2 on Ten-GigabitEthernet 3/1/1 of CE a2, CE a3, and CE b2. |
PIM |
· Enable PIM-SM on all interfaces that do not have attached receiver hosts on PE 1, PE 2, and PE 3. · Enable PIM-SM on all interfaces that do not have attached receiver hosts on CE a1, CE a2, CE a3, CE b1, and CE b2. · Configure Loopback 1 of CE a2 as a C-BSR and a C-RP for VPN instance a to provide services for all multicast groups. · Configure Loopback 2 of PE 3 as a C-BSR and a C-RP for VPN instance b to provide services for all multicast groups. |
MSDP |
When the RP is configured on a CE, the CE uses an MSDP peer to receive type-5 routes from PEs. · Enable MSDP on CE a2, and specify Ten-GigabitEthernet 3/1/2 as the local MSDP connection interface. · Enable MSDP on PE 2 for VPN instance a, and specify Ten-GigabitEthernet 3/1/3 as the local MSDP connection interface. |
Table 8 Interface and IP address assignment
Device |
Interface |
IP address |
Device |
Interface |
IP address |
S 1 |
— |
10.110.7.2/24 |
PE 3 |
XGE3/1/1 |
192.168.8.1/24 |
S 2 |
— |
10.110.8.2/24 |
PE 3 |
XGE3/1/2 |
10.110.5.1/24 |
R 1 |
— |
10.110.1.2/24 |
PE 3 |
XGE3/1/3 |
10.110.6.1/24 |
R 2 |
— |
10.110.9.2/24 |
PE 3 |
Loop1 |
1.1.1.3/32 |
R 3 |
— |
10.110.10.2/24 |
PE 3 |
Loop2 |
33.33.33.33/32 |
R 4 |
— |
10.110.11.2/24 |
CE a1 |
XGE3/1/1 |
10.110.7.1/24 |
P |
XGE3/1/1 |
192.168.6.2/24 |
CE a1 |
XGE3/1/2 |
10.110.2.2/24 |
P |
XGE3/1/2 |
192.168.7.2/24 |
CE a2 |
XGE3/1/1 |
10.110.9.1/24 |
P |
XGE3/1/3 |
192.168.8.2/24 |
CE a2 |
XGE3/1/2 |
10.110.4.2/24 |
P |
Loop1 |
2.2.2.2/32 |
CE a2 |
XGE3/1/3 |
10.110.12.1/24 |
PE 1 |
XGE3/1/1 |
192.168.6.1/24 |
CE a2 |
Loop1 |
22.22.22.22/32 |
PE 1 |
XGE3/1/2 |
10.110.1.1/24 |
CE a3 |
XGE3/1/1 |
10.110.10.1/24 |
PE 1 |
XGE3/1/3 |
10.110.2.1/24 |
CE a3 |
XGE3/1/2 |
10.110.5.2/24 |
PE 1 |
Loop1 |
1.1.1.1/32 |
CE a3 |
XGE3/1/3 |
10.110.12.2/24 |
PE 2 |
XGE3/1/1 |
192.168.7.1/24 |
CE b1 |
XGE3/1/1 |
10.110.8.1/24 |
PE 2 |
XGE3/1/2 |
10.110.3.1/24 |
CE b1 |
XGE3/1/2 |
10.110.3.2/24 |
PE 2 |
XGE3/1/3 |
10.110.4.1/24 |
CE b2 |
XGE3/1/1 |
10.110.11.1/24 |
PE 2 |
Loop1 |
1.1.1.2/32 |
CE b2 |
XGE3/1/2 |
10.110.6.2/24 |
Procedure
1. Configure PE 1:
# Configure a global router ID.
<PE1> system-view
[PE1] router id 1.1.1.1
# Configure SRv6.
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 11::11
[PE1-segment-routing-ipv6] locator a ipv6-prefix 1:1:: 64 static 32
[PE1-segment-routing-ipv6] quit
# Assign PE 1 to sub-domain 0, configure the BFR ID as 1, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[PE1-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 1:1::1 as the End.RGB SID.
[PE1-bier-sub-domain-0-ipv6] end-rgb locator a sid 1:1::1
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE1] ip vpn-instance a
[PE1-vpn-instance-a] route-distinguisher 100:1
[PE1-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE1-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE1-vpn-instance-a] quit
# Enable IP multicast routing in VPN instance a.
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE1] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE1-mvpn-vpn-instance-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE1-mvpn-vpn-instance-a-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for VPN instance a.
[PE1-mvpn-vpn-instance-a-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-vpn-instance-a-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-vpn-instance-a-ipv4] src-dt4 locator a sid 1:1::2
[PE1-mvpn-vpn-instance-a-ipv4] quit
[PE1-mvpn-vpn-instance-a] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on Ten-GigabitEthernet 3/1/1.
[PE1] interface ten-gigabitethernet 3/1/1
[PE1-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance a, assign an IP address to the interface, and enable IGMP on the interface.
[PE1] interface ten-gigabitethernet 3/1/2
[PE1-Ten-GigabitEthernet3/1/2] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/1/2] ip address 10.110.1.1 24
[PE1-Ten-GigabitEthernet3/1/2] igmp enable
[PE1-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE1] interface ten-gigabitethernet 3/1/3
[PE1-Ten-GigabitEthernet3/1/3] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/1/3] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/1/3] pim sm
[PE1-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE1] interface loopback 1
[PE1-LoopBack1] no shutdown
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# Configure BGP.
[PE1] bgp 100
[PE1-bgp-default] peer 1112::1112 as-number 100
[PE1-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1112::1112 enable
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE1-bgp-default-vpnv4] peer 1112::1112 enable
[PE1-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE1-bgp-default-vpnv4] peer 1113::1113 enable
[PE1-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE1-bgp-default-vpnv4] segment-routing ipv6 locator a
[PE1-bgp-default-vpnv4] segment-routing ipv6 best-effort
[PE1-bgp-default-vpnv4] quit
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4 unicast
[PE1-bgp-default-ipv4-a] segment-routing ipv6 locator a
[PE1-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE1-bgp-default-ipv4-a] import-route rip 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] quit
# Configure IS-IS.
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator a
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# Configure RIP.
[PE1] rip 2 vpn-instance a
[PE1-rip-2] network 10.110.1.0 0.0.0.255
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
2. Configure PE 2:
# Configure a global router ID.
<PE2> system-view
[PE2] router id 1.1.1.2
# Configure SRv6.
[PE2] segment-routing ipv6
[PE2-segment-routing-ipv6] encapsulation source-address 22::22
[PE2-segment-routing-ipv6] locator a ipv6-prefix 2:1:: 64 static 32
[PE2-segment-routing-ipv6] quit
# Assign PE 2 to sub-domain 0, configure the BFR ID as 2, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 2
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[PE2-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 2:1::1 as the End.RGB SID.
[PE2-bier-sub-domain-0-ipv6] end-rgb locator a sid 2:1::1
# Create a VPN instance named b, and configure an RD and route targets for the VPN instance.
[PE2] ip vpn-instance b
[PE2-vpn-instance-b] route-distinguisher 200:1
[PE2-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE2-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE2-vpn-instance-b] quit
# Enable IP multicast routing for VPN instance b.
[PE2] multicast routing vpn-instance b
[PE2-mrib-b] quit
# Create an MSDP peer in VPN instance a.
[PE2] msdp vpn-instance a
[PE2-msdp-a] peer 10.110.4.2 connect-interface ten-gigabitethernet 3/1/3
[PE2-msdp-a] quit
# Create a BIER-based MVPN for VPN instance b.
[PE2] multicast-vpn vpn-instance b mode bier
# Create an MVPN IPv4 address family for VPN instance b.
[PE2-mvpn-vpn-instance-b] address-family ipv4
# Specify the MVPN source interface for VPN instance b.
[PE2-mvpn-vpn-instance-b-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for VPN instance b.
[PE2-mvpn-vpn-instance-b-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-vpn-instance-b-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-vpn-instance-b-ipv4] src-dt4 locator a sid 2:1::2
[PE2-mvpn-vpn-instance-b-ipv4] quit
[PE2-mvpn-vpn-instance-b] quit
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE2] ip vpn-instance a
[PE2-vpn-instance-a] route-distinguisher 100:1
[PE2-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE2-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE2-vpn-instance-a] quit
# Enable IP multicast routing for VPN instance a.
[PE2] multicast routing vpn-instance a
[PE2-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE2] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE2-mvpn-vpn-instance-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE2-mvpn-vpn-instance-a-ipv4] source loopback 1
[PE2-mvpn-vpn-instance-a-ipv4] quit
[PE2-mvpn-vpn-instance-a] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[PE2] interface ten-gigabitethernet 3/1/1
[PE2-Ten-GigabitEthernet3/1/1] ipv6 address 9000:7::1 64
[PE2-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE2] interface ten-gigabitethernet 3/1/2
[PE2-Ten-GigabitEthernet3/1/2] ip binding vpn-instance b
[PE2-Ten-GigabitEthernet3/1/2] ip address 10.110.3.1 24
[PE2-Ten-GigabitEthernet3/1/2] pim sm
[PE2-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE2] interface ten-gigabitethernet 3/1/3
[PE2-Ten-GigabitEthernet3/1/3] ip binding vpn-instance a
[PE2-Ten-GigabitEthernet3/1/3] ip address 10.110.4.1 24
[PE2-Ten-GigabitEthernet3/1/3] pim sm
[PE2-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.2 32
[PE2-LoopBack1] ipv6 address 1112::1112 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# Configure BGP.
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] peer 1113::1113 as-number 100
[PE2-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] peer 1113::1113 enable
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE2-bgp-default-vpnv4] peer 1111::1111 enable
[PE2-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE2-bgp-default-vpnv4] peer 1113::1113 enable
[PE2-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE2-bgp-default-vpnv4] segment-routing ipv6 locator a
[PE2-bgp-default-vpnv4] segment-routing ipv6 best-effort
[PE2-bgp-default-vpnv4] quit
[PE2–bgp-default] ip vpn-instance a
[PE2-bgp-default-a] address-family ipv4 unicast
[PE2-bgp-default-ipv4-a] segment-routing ipv6 locator a
[PE2-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-a] import-route rip 2
[PE2-bgp-default-ipv4-a] import-route direct
[PE2-bgp-default-ipv4-a] quit
[PE2-bgp-default-a] quit
[PE2–bgp-default] ip vpn-instance b
[PE2-bgp-default-b] address-family ipv4 unicast
[PE2-bgp-default-ipv4-b] segment-routing ipv6 locator a
[PE2-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-b] import-route rip 3
[PE2-bgp-default-ipv4-b] import-route direct
[PE2-bgp-default-ipv4-b] quit
[PE2-bgp-default-b] quit
[PE2–bgp-default] quit
# Configure IS-IS.
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0002.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator a
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
# Configure RIP.
[PE2] rip 2 vpn-instance a
[PE2-rip-2] network 10.110.4.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
[PE2] rip 3 vpn-instance b
[PE2-rip-3] network 10.110.3.0 0.0.0.255
[PE2-rip-3] import-route bgp
[PE2-rip-3] quit
3. Configure PE 3:
# Configure a global router ID.
<PE3> system-view
[PE3] router id 1.1.1.3
# Configure SRv6.
[PE3] segment-routing ipv6
[PE3-segment-routing-ipv6] encapsulation source-address 33::33
[PE3-segment-routing-ipv6] locator a ipv6-prefix 3:1:: 64 static 32
[PE3-segment-routing-ipv6] quit
# Assign PE 3 to sub-domain 0, configure the BFR ID as 3, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE3] bier
[PE3-bier] sub-domain 0 ipv6
[PE3-bier-sub-domain-0-ipv6] bfr-id 3
[PE3-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[PE3-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 3:1::1 as the End.RGB SID.
[PE3-bier-sub-domain-0-ipv6] end-rgb locator a sid 3:1::1
# Create a VPN instance named a, and configure an RD and route targets for the VPN instance.
[PE3] ip vpn-instance a
[PE3-vpn-instance-a] route-distinguisher 100:1
[PE3-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE3-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE3-vpn-instance-a] quit
# Enable IP multicast routing for VPN instance a.
[PE3] multicast routing vpn-instance a
[PE3-mrib-a] quit
# Create a BIER-based MVPN for VPN instance a.
[PE3] multicast-vpn vpn-instance a mode bier
# Create an MVPN IPv4 address family for VPN instance a.
[PE3-mvpn-vpn-instance-a] address-family ipv4
# Specify the MVPN source interface for VPN instance a.
[PE3-mvpn-vpn-instance-a-ipv4] source loopback 1
[PE3-mvpn-vpn-instance-a-ipv4] quit
[PE3-mvpn-vpn-instance-a] quit
# Create a VPN instance named b, and configure an RD and route targets for the VPN instance.
[PE3] ip vpn-instance b
[PE3-vpn-instance-b] route-distinguisher 200:1
[PE3-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE3-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE3-vpn-instance-b] quit
# Enable IP multicast routing for VPN instance b.
[PE3] multicast routing vpn-instance b
[PE3-mrib-b] quit
# Create a BIER-based MVPN for VPN instance b.
[PE3] multicast-vpn vpn-instance b mode bier
# Create an MVPN IPv4 address family for VPN instance b.
[PE3-mvpn-vpn-instance-b] address-family ipv4
# Specify the MVPN source interface for VPN instance b.
[PE3-mvpn-vpn-instance-b-ipv4] source loopback 1
[PE3-mvpn-vpn-instance-b-ipv4] quit
[PE3-mvpn-vpn-instance-b] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[PE3] interface ten-gigabitethernet 3/1/1
[PE3-Ten-GigabitEthernet3/1/1] ipv6 address 9000:8::1 64
[PE3-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE3-Ten-GigabitEthernet3/1/1] quit
# Associate Ten-GigabitEthernet 3/1/2 with VPN instance a, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface ten-gigabitethernet 3/1/2
[PE3-Ten-GigabitEthernet3/1/2] ip binding vpn-instance a
[PE3-Ten-GigabitEthernet3/1/2] ip address 10.110.5.1 24
[PE3-Ten-GigabitEthernet3/1/2] pim sm
[PE3-Ten-GigabitEthernet3/1/2] quit
# Associate Ten-GigabitEthernet 3/1/3 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface ten-gigabitethernet 3/1/3
[PE3-Ten-GigabitEthernet3/1/3] ip binding vpn-instance b
[PE3-Ten-GigabitEthernet3/1/3] ip address 10.110.6.1 24
[PE3-Ten-GigabitEthernet3/1/3] pim sm
[PE3-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 1.1.1.3 32
[PE3-LoopBack1] ipv6 address 1113::1113 128
[PE3-LoopBack1] isis ipv6 enable 1
[PE3-LoopBack1] quit
# Associate Loopback 2 with VPN instance b, assign an IP address to the interface, and enable PIM-SM on the interface.
[PE3] interface loopback 2
[PE3-LoopBack2] ip binding vpn-instance b
[PE3-LoopBack2] ip address 33.33.33.33 32
[PE3-LoopBack2] pim sm
[PE3-LoopBack2] quit
# Configure Loopback 2 as a C-BSR and a C-RP.
[PE3] pim vpn-instance b
[PE3-pim-b] c-bsr 33.33.33.33
[PE3-pim-b] c-rp 33.33.33.33
[PE3-pim-b] quit
# Configure BGP.
[PE3] bgp 100
[PE3-bgp-default] peer 1111::1111 as-number 100
[PE3-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE3-bgp-default] peer 1112::1112 as-number 100
[PE3-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE3-bgp-default] address-family ipv4 mvpn
[PE3-bgp-default-mvpn] peer 1111::1111 enable
[PE3-bgp-default-mvpn] peer 1112::1112 enable
[PE3-bgp-default-mvpn] quit
[PE3-bgp-default] address-family vpnv4
[PE3-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE3-bgp-default-vpnv4] peer 1111::1111 enable
[PE3-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE3-bgp-default-vpnv4] peer 1112::1112 enable
[PE3-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE3-bgp-default-vpnv4] segment-routing ipv6 locator a
[PE3-bgp-default-vpnv4] segment-routing ipv6 best-effort
[PE3-bgp-default-vpnv4] quit
[PE3–bgp-default] ip vpn-instance a
[PE3-bgp-default-a] address-family ipv4 unicast
[PE3-bgp-default-ipv4-a] segment-routing ipv6 locator a
[PE3-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-a] import-route rip 2
[PE3-bgp-default-ipv4-a] import-route direct
[PE3-bgp-default-ipv4-a] quit
[PE3-bgp-default-a] quit
[PE3–bgp-default] ip vpn-instance b
[PE3-bgp-default-b] address-family ipv4 unicast
[PE3-bgp-default-ipv4-b] segment-routing ipv6 locator a
[PE3-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-b] import-route rip 3
[PE3-bgp-default-ipv4-b] import-route direct
[PE3-bgp-default-ipv4-b] quit
[PE3-bgp-default-b] quit
[PE3–bgp-default] quit
# Configure IS-IS.
[PE3] isis 1
[PE3-isis-1] is-level level-1
[PE3-isis-1] cost-style wide
[PE3-isis-1] bier enable
[PE3-isis-1] network-entity 10.0000.0000.0003.00
[PE3-isis-1] address-family ipv6 unicast
[PE3-isis-1-ipv6] segment-routing ipv6 locator a
[PE3-isis-1-ipv6] quit
[PE3-isis-1] quit
# Configure RIP.
[PE3] rip 2 vpn-instance a
[PE3-rip-2] network 10.110.5.0 0.0.0.255
[PE3-rip-2] import-route bgp
[PE3-rip-2] quit
[PE3] rip 3 vpn-instance b
[PE3-rip-3] network 10.110.6.0 0.0.0.255
[PE3-rip-3] network 33.33.33.33 0.0.0.0
[PE3-rip-3] import-route bgp
[PE3-rip-3] quit
4. Configure P:
# Configure SRv6.
<P> system-view
[P] segment-routing ipv6
[P-segment-routing-ipv6] encapsulation source-address 44::44
[P-segment-routing-ipv6] locator a ipv6-prefix 4:1:: 64 static 32
[P-segment-routing-ipv6] quit
# Assign P to sub-domain 0, configure the BFR ID as 4, and configure the BFR prefix as the IPv6 address of Loopback 1.
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[P-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 4:1::1 as the End.RGB SID.
[P-bier-sub-domain-0-ipv6] end-rgb locator a sid 4:1::1
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/1
[P-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::2 128
[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/2
[P-Ten-GigabitEthernet3/1/2] ipv6 address 9000:7::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet3/1/3, and enable IS-IS on the interface.
[P] interface ten-gigabitethernet 3/1/3
[P-Ten-GigabitEthernet3/1/3] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1 and enable IS-IS on the interface.
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 64
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
# Configure IS-IS.
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator a
[P-isis-1-ipv6] quit
[P-isis-1] quit
5. Configure CE a1:
# Enable IP multicast routing.
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable PIM-SM on the interface.
[CEa1] interface ten-gigabitethernet 3/1/1
[CEa1-Ten-GigabitEthernet3/1/1] ip address 10.110.7.1 24
[CEa1-Ten-GigabitEthernet3/1/1] pim sm
[CEa1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa1] interface ten-gigabitethernet 3/1/2
[CEa1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.2 24
[CEa1-Ten-GigabitEthernet3/1/2] pim sm
[CEa1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEa1] rip 2
[CEa1-rip-2] network 10.110.2.0 0.0.0.255
[CEa1-rip-2] network 10.110.7.0 0.0.0.255
[CEa1-rip-2] quit
6. Configure CE b1:
# Enable IP multicast routing.
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable PIM-SM on the interface.
[CEb1] interface ten-gigabitethernet 3/1/1
[CEb1-Ten-GigabitEthernet3/1/1] ip address 10.110.8.1 24
[CEb1-Ten-GigabitEthernet3/1/1] pim sm
[CEb1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEb1] interface ten-gigabitethernet 3/1/2
[CEb1-Ten-GigabitEthernet3/1/2] ip address 10.110.3.2 24
[CEb1-Ten-GigabitEthernet3/1/2] pim sm
[CEb1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEb1] rip 3
[CEb1-rip-3] network 10.110.3.0 0.0.0.255
[CEb1-rip-3] network 10.110.8.0 0.0.0.255
[CEb1-rip-2] quit
7. Configure CE a2:
# Enable IP multicast routing.
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEa2] interface ten-gigabitethernet 3/1/1
[CEa2-Ten-GigabitEthernet3/1/1] ip address 10.110.9.1 24
[CEa2-Ten-GigabitEthernet3/1/1] igmp enable
[CEa2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa2] interface ten-gigabitethernet 3/1/2
[CEa2-Ten-GigabitEthernet3/1/2] ip address 10.110.4.2 24
[CEa2-Ten-GigabitEthernet3/1/2] pim sm
[CEa2-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/3, and enable PIM-SM on the interface.
[CEa2] interface ten-gigabitethernet 3/1/3
[CEa2-Ten-GigabitEthernet3/1/3] ip address 10.110.12.1 24
[CEa2-Ten-GigabitEthernet3/1/3] pim sm
[CEa2-Ten-GigabitEthernet3/1/3] quit
# Assign an IP address to Loopback 1, and enable PIM-SM on the interface.
[CEa2] interface loopback 1
[CEa2-LoopBack1] ip address 22.22.22.22 32
[CEa2-LoopBack1] pim sm
[CEa2-LoopBack1] quit
# Configure Loopback 1 as a C-BSR and a C-RP.
[CEa2] pim
[CEa2-pim] c-bsr 22.22.22.22
[CEa2-pim] c-rp 22.22.22.22
[CEa2-pim] quit
# Configure MSDP.
[CEa2] msdp
[CEa2-msdp] peer 10.110.4.1 connect-interface ten-gigabitethernet 3/1/2
[CEa2-msdp] quit
# Configure RIP.
[CEa2] rip 2
[CEa2-rip-2] network 10.110.4.0 0.0.0.255
[CEa2-rip-2] network 10.110.9.0 0.0.0.255
[CEa2-rip-2] network 10.110.12.0 0.0.0.255
[CEa2-rip-2] network 22.22.22.22 0.0.0.0
[CEa2-rip-2] quit
8. Configure CE a3:
# Enable IP multicast routing.
<CEa3> system-view
[CEa3] multicast routing
[CEa3-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEa3] interface ten-gigabitethernet 3/1/1
[CEa3-Ten-GigabitEthernet3/1/1] ip address 10.110.10.1 24
[CEa3-Ten-GigabitEthernet3/1/1] igmp enable
[CEa3-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEa3] interface ten-gigabitethernet 3/1/2
[CEa3-Ten-GigabitEthernet3/1/2] ip address 10.110.5.2 24
[CEa3-Ten-GigabitEthernet3/1/2] pim sm
[CEa3-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/3, and enable PIM-SM on the interface.
[CEa3] interface ten-gigabitethernet 3/1/3
[CEa3-Ten-GigabitEthernet3/1/3] ip address 10.110.12.2 24
[CEa3-Ten-GigabitEthernet3/1/3] pim sm
[CEa3-Ten-GigabitEthernet3/1/3] quit
# Configure RIP.
[CEa3] rip 2
[CEa3-rip-2] network 10.110.5.0 0.0.0.255
[CEa3-rip-2] network 10.110.10.0 0.0.0.255
[CEa3-rip-2] network 10.110.12.0 0.0.0.255
[CEa3-rip-2] quit
9. Configure CE b2:
# Enable IP multicast routing.
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1, and enable IGMP on the interface.
[CEb2] interface ten-gigabitethernet 3/1/1
[CEb2-Ten-GigabitEthernet3/1/1] ip address 10.110.11.1 24
[CEb2-Ten-GigabitEthernet3/1/1] igmp enable
[CEb2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2, and enable PIM-SM on the interface.
[CEb2] interface ten-gigabitethernet 3/1/2
[CEb2-Ten-GigabitEthernet3/1/2] ip address 10.110.6.2 24
[CEb2-Ten-GigabitEthernet3/1/2] pim sm
[CEb2-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CEb2] rip 3
[CEb2-rip-3] network 10.110.6.0 0.0.0.255
[CEb2-rip-3] network 10.110.11.0 0.0.0.255
[CEb2-rip-2] quit
Verifying the configuration
# Display information about the BIER inclusive tunnel for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: 00:10:05 Originating router: 1.1.1.2
2: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: 00:00:23 Originating router: 1.1.1.2
# Display C-multicast A-D route information for VPN instance a on PE 1.
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for VPN instance a on PE 2.
[PE2] display multicast-vpn vpn-instance a inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: -- Originating router: 1.1.1.2
# Display information about BIER selective tunnels for VPN instance a on PE 2.
[PE2] display multicast-vpn vpn-instance a selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 1112::1112
Uptime: -- Originating router: 1.1.1.2
# Display information about the BIER inclusive tunnel for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 1112::1112
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 1 BFR prefix: 1111::1111
Uptime: 00:10:05 Originating router: 1.1.1.1
2: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel identifier: BIER <0x0, 0x1, 5001::>
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 1112::1112
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:00:23 Originating router: 1.1.1.3
# Display C-multicast A-D route information for VPN instance b on PE 2.
[PE2] display multicast-vpn vpn-instance b c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.8.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for VPN instance b on PE 3.
[PE3] display multicast-vpn vpn-instance b inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 2
BFR prefix: 1112::1112
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
# Display information about BIER selective tunnels for VPN instance b on PE 3.
[PE3] display multicast-vpn vpn-instance b selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 2
BFR prefix: 1112::1112
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
Example: Configuring BIER-based MVPN for the public instance (G-BIER encapsulation)
Network configuration
As shown in Figure 19, configure BIER-based MVPN for the public instance to meet the following requirements:
Item |
Network configuration |
Multicast sources and receivers |
In the public instance, S 1 is a multicast source, and R 1 is a receiver. |
Instances to which PE interfaces belong |
All interfaces belong to the public instance. |
Unicast routing protocols and BIER |
· Configure IS-IS on the public network, and configure RIP between the PEs and the CEs. · Establish BGP peer connections between PE 1 and PE 2 by using Loopback 1. · Configure BIER on the public network. |
IP multicast routing |
· Enable IP multicast routing for the public instance on PE 1 and PE 2. · Enable IP multicast routing on CE 1 and CE 2. |
IGMP |
· Enable IGMPv2 on Ten-GigabitEthernet 3/1/1 of CE 2. |
PIM |
· Enable PIM-SM on Ten-GigabitEthernet 3/1/1 on PE 1 and Ten-GigabitEthernet 3/1/1 on PE 2. · Enable PIM-SM on all interfaces that do not have attached receiver hosts on CE 1 and CE 2. · Configure Loopback 2 of PE 2 as a C-BSR and a C-RP for the public instance to provide services for all multicast groups. |
Table 9 Interface and IP address assignment
Device |
Interface |
IP address |
Device |
Interface |
IP address |
S 1 |
— |
10.110.7.2/24 |
R 1 |
— |
10.110.1.2/24 |
PE 1 |
XGE3/1/1 |
9000:6::1/64 |
P |
XGE3/1/1 |
9000:6::2/64 |
PE 1 |
XGE3/1/2 |
10.110.2.1/24 |
P |
XGE3/1/3 |
9000:8::2/64 |
PE 1 |
Loop1 |
1.1.1.1/32 1111::1111/128 |
P |
Loop1 |
2.2.2.2/32 2222::2222/128 |
PE 2 |
XGE3/1/1 |
9000:8::1/64 |
CE 1 |
XGE3/1/1 |
10.110.7.1/24 |
PE 2 |
XGE3/1/2 |
10.110.5.1/24 |
CE 1 |
XGE3/1/2 |
10.110.2.2/24 |
PE 2 |
Loop1 |
1.1.1.3/32 1113::1113/128 |
CE 2 |
XGE3/1/1 |
10.110.10.1/24 |
PE 2 |
Loop2 |
33.33.33.33/32 |
CE 2 |
XGE3/1/2 |
10.110.5.2/24 |
Procedure
1. Configure PE 1:
# Configure a global router ID.
<PE1> system-view
[PE1] router id 1.1.1.1
# Assign PE 1 to sub-domain 0, configure the BFR ID as 1, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[PE1-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5001::1 as the multicast policy reserved address.
[PE1-bier-sub-domain-0-ipv6] g-bier mpra 5001::1
[PE1-bier-sub-domain-0-ipv6] quit
[PE1-bier] quit
# Configure a multicast service prefix.
[PE1] multicast-service-prefix ms1 ipv6-prefix 1234:1:: 64 service-id-length 10
# Create the public instance, and configure route targets for the public instance.
[PE1] ip public-instance
[PE1-public-instance] vpn-target 100:1 export-extcommunity
[PE1-public-instance] vpn-target 100:1 import-extcommunity
[PE1-public-instance] quit
# Enable IP multicast routing for the public instance.
[PE1] multicast routing
[PE1-mrib] quit
# Create a BIER-based MVPN for the public instance.
[PE1] multicast-vpn public-instance mode bier
# Create an MVPN IPv4 address family for the public instance.
[PE1-mvpn-public-instance] address-family ipv4
# Specify the MVPN source interface for the public instance.
[PE1-mvpn-public-instance-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for the public instance.
[PE1-mvpn-public-instance-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] tunnel-source multicast-service-prefix ms1 service-id 12
[PE1-mvpn-public-instance-ipv4] quit
[PE1-mvpn-public-instance] quit
# Configure IS-IS.
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator a
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[PE1] interface ten-gigabitethernet 3/1/1
[PE1-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/1/1 isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[PE1] interface ten-gigabitethernet 3/1/2
[PE1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/1/2] pim sm
[PE1-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# Configure BGP.
[PE1] bgp 100
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] mvpn-advertise-rt-import
[PE1-bgp-default-ipv4] peer 1113::1113 enable
[PE1-bgp-default-ipv4] peer 1113::1113 advertise-ext-community
[PE1-bgp-default-ipv4] import-route rip 2
[PE1-bgp-default-ipv4] import-route direct
[PE1-bgp-default-ipv4] quit
[PE1-bgp-default] quit
# Configure RIP.
[PE1] rip 2
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
2. Configure PE 2:
# Configure a global router ID.
<PE2> system-view
[PE2] router id 1.1.1.3
# Assign PE 2 to sub-domain 0, configure the BFR ID as 3, and configure the BFR prefix as the IPv6 address of Loopback 1..
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 3
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[PE2-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5003::1 as the multicast policy reserved address.
[PE2-bier-sub-domain-0-ipv6] g-bier mpra 5003::1
[PE2-bier-sub-domain-0-ipv6] quit
[PE2-bier] quit
# Create the public instance, and configure route targets for the public instance.
[PE2] ip public-instance
[PE2-public-instance] vpn-target 100:1 export-extcommunity
[PE2-public-instance] vpn-target 100:1 import-extcommunity
[PE2-public-instance] quit
# Enable IP multicast routing for the public instance.
[PE2] multicast routing
[PE2-mrib] quit
# Create a BIER-based MVPN for the public instance.
[PE2] multicast-vpn public-instance mode bier
# Create an MVPN IPv4 address family for the public instance.
[PE2-mvpn-public-instance] address-family ipv4
# Specify the MVPN source interface for the public instance.
[PE2-mvpn-public-instance-ipv4] source loopback 1
[PE2-mvpn-public-instance-ipv4] quit
[PE2-mvpn-public-instance] quit
# Configure IS-IS.
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0003.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator a
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[PE2] interface ten-gigabitethernet 3/1/1
[PE2-Ten-GigabitEthernet3/1/1] ipv6 address 9000:8::1 64
[PE2-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[PE2] interface ten-gigabitethernet 3/1/2
[PE2-Ten-GigabitEthernet3/1/2] ip address 10.110.5.1 24
[PE2-Ten-GigabitEthernet3/1/2] pim sm
[PE2-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.3 32
[PE2-LoopBack1] ipv6 address 1113::1113 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# Assign an IP address to Loopback 2, and enable PIM-SM on the interface.
[PE2] interface loopback 2
[PE2-LoopBack2] ip address 33.33.33.33 32
[PE2-LoopBack2] pim sm
[PE2-LoopBack2] quit
# Configure Loopback 2 as a C-BSR and a C-RP of the public network.
[PE2] pim
[PE2-pim] c-bsr 33.33.33.33
[PE2-pim] c-rp 33.33.33.33
[PE2-pim] quit
# Configure BGP.
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] mvpn-advertise-rt-import
[PE2-bgp-default-ipv4] peer 1111::1111 enable
[PE2-bgp-default-ipv4] peer 1111::1111 advertise-ext-community
[PE2-bgp-default-ipv4] import-route rip 2
[PE2-bgp-default-ipv4] import-route direct
[PE2-bgp-default-ipv4] quit
[PE2-bgp-default] quit
# Configure RIP.
[PE2] rip 2
[PE2-rip-2] network 10.110.5.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
3. Configure P:
# Assign P to sub-domain 0, configure the BFR ID as 4, and configure the BFR prefix as the IPv6 address of Loopback 1.
<P> system-view
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the G-BIER encapsulation.
[P-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# Configure 5004::1 as the multicast policy reserved address.
[P-bier-sub-domain-0-ipv6] g-bier mpra 5004::1
# Configure IS-IS.
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator a
[P-isis-1-ipv6] quit
[P-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[P] interface ten-gigabitethernet 3/1/1
[P-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::2 64
[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable IS-IS on it.
[P] interface ten-gigabitethernet 3/1/2
[P-Ten-GigabitEthernet3/1/2] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 128
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
4. Configure CE 1:
# Enable IP multicast routing.
<CE1> system-view
[CE1] multicast routing
[CE1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable PIM-SM on it.
[CE1] interface ten-gigabitethernet 3/1/1
[CE1-Ten-GigabitEthernet3/1/1] ip address 10.110.7.1 24
[CE1-Ten-GigabitEthernet3/1/1] pim sm
[CE1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[CE1] interface ten-gigabitethernet 3/1/2
[CE1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.2 24
[CE1-Ten-GigabitEthernet3/1/2] pim sm
[CE1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CE1] rip 2
[CE1-rip-2] network 10.110.2.0 0.0.0.255
[CE1-rip-2] network 10.110.7.0 0.0.0.255
[CE1-rip-2] quit
5. Configure CE 2:
# Enable IP multicast routing.
<CE2> system-view
[CE2] multicast routing
[CE2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IGMP on it.
[CE2] interface ten-gigabitethernet 3/1/1
[CE2-Ten-GigabitEthernet3/1/1] ip address 10.110.10.1 24
[CE2-Ten-GigabitEthernet3/1/1] igmp enable
[CE2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[CE2] interface ten-gigabitethernet 3/1/2
[CE2-Ten-GigabitEthernet3/1/2] ip address 10.110.5.2 24
[CE2-Ten-GigabitEthernet3/1/2] pim sm
[CE2-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CE2] rip 2
[CE2-rip-2] network 10.110.5.0 0.0.0.255
[CE2-rip-2] network 10.110.10.0 0.0.0.255
[CE2-rip-2] quit
Verifying the configuration
# Display information about the BIER inclusive tunnel for the public instance on PE 1.
[PE1] display multicast-vpn public-instance inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for the public instance on PE 1.
[PE1] display multicast-vpn public-instance selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:00:23 Originating router: 1.1.1.3
# Display C-multicast A-D route information for the public instance on PE 1.
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for the public instance on PE 2.
[PE3] display multicast-vpn public-instance inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
Example: Configuring BIER-based MVPN for the public instance (BIERv6 encapsulation)
Network configuration
As shown in Figure 20, configure BIER-based MVPN for the public instance to meet the following requirements:
Item |
Network configuration |
Multicast sources and receivers |
In the public instance, S 1 is a multicast source, and R 1 is a receiver. |
Instances to which PE interfaces belong |
All interfaces belong to the public instance. |
Unicast routing protocols and BIER |
· Configure IS-IS on the public network, and configure RIP between the PEs and the CEs. · Establish BGP peer connections between PE 1 and PE 2 by using Loopback 1. · Configure BIER on the public network. : sub-domain 0, BSL 128, and max-SI 32. · Configure the BFR prefix of PE 1, PE 2, PE 3, and P as the IPv6 addresses for their respective Loopback 1, and configure the End.BIER SID for each device. |
IP multicast routing |
· Enable IP multicast routing for the public instance on PE 1 and PE 2. · Enable IP multicast routing on CE 1 and CE 2. |
IGMP |
· Enable IGMPv2 on Ten-GigabitEthernet 3/1/1 of CE 2. |
PIM |
· Enable PIM-SM on Ten-GigabitEthernet 3/1/1 on PE 1 and Ten-GigabitEthernet 3/1/1 on PE 2. · Enable PIM-SM on all interfaces that do not have attached receiver hosts on CE 1 and CE 2. · Configure Loopback 2 of PE 2 as a C-BSR and a C-RP for the public instance to provide services for all multicast groups. |
Table 10 Interface and IP address assignment
Device |
Interface |
IP address |
Device |
Interface |
IP address |
S 1 |
— |
10.110.7.2/24 |
R 1 |
— |
10.110.1.2/24 |
PE 1 |
XGE3/1/1 |
9000:6::1/64 |
P |
XGE3/1/1 |
9000:6::2/64 |
PE 1 |
XGE3/1/2 |
10.110.2.1/24 |
P |
XGE3/1/3 |
9000:8::2/64 |
PE 1 |
Loop1 |
1.1.1.1/32 1111::1111/128 |
P |
Loop1 |
2.2.2.2/32 2222::2222/128 |
PE 2 |
XGE3/1/1 |
9000:8::1/64 |
CE 1 |
XGE3/1/1 |
10.110.7.1/24 |
PE 2 |
XGE3/1/2 |
10.110.5.1/24 |
CE 1 |
XGE3/1/2 |
10.110.2.2/24 |
PE 2 |
Loop1 |
1.1.1.3/32 1113::1113/128 |
CE 2 |
XGE3/1/1 |
10.110.10.1/24 |
PE 2 |
Loop2 |
33.33.33.33/32 |
CE 2 |
XGE3/1/2 |
10.110.5.2/24 |
Procedure
1. Configure PE 1:
# Configure a global router ID.
<PE1> system-view
[PE1] router id 1.1.1.1
# Assign PE 1 to sub-domain 0, configure the BFR ID as 1, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[PE1-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 1:2::1 as the End.BIER SID.
[PE1-bier-sub-domain-0-ipv6] end-bier locator a sid 1:2::1
[PE1-bier-sub-domain-0-ipv6] quit
[PE1-bier] quit
# Create the public instance, and configure route targets for the public instance.
[PE1] ip public-instance
[PE1-public-instance] vpn-target 100:1 export-extcommunity
[PE1-public-instance] vpn-target 100:1 import-extcommunity
[PE1-public-instance] quit
# Enable IP multicast routing for the public instance.
[PE1] multicast routing
[PE1-mrib] quit
# Create a BIER-based MVPN for the public instance.
[PE1] multicast-vpn public-instance mode bier
# Create an MVPN IPv4 address family for the public instance.
[PE1-mvpn-public-instance] address-family ipv4
# Specify the MVPN source interface for the public instance.
[PE1-mvpn-public-instance-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for the public instance.
[PE1-mvpn-public-instance-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] src-dt4 locator a sid 1:2::2
[PE1-mvpn-public-instance-ipv4] quit
[PE1-mvpn-public-instance] quit
# Configure IS-IS.
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator a
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[PE1] interface ten-gigabitethernet 3/1/1
[PE1-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/1/1 isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[PE1] interface ten-gigabitethernet 3/1/2
[PE1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/1/2] pim sm
[PE1-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# Configure BGP.
[PE1] bgp 100
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] peer 1113::1113 prefix-sid
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] mvpn-advertise-rt-import
[PE1-bgp-default-ipv4] peer 1113::1113 enable
[PE1-bgp-default-ipv4] peer 1113::1113 advertise-ext-community
[PE1-bgp-default-ipv4] import-route rip 2
[PE1-bgp-default-ipv4] import-route direct
[PE1-bgp-default-ipv4] quit
[PE1-bgp-default] quit
# Configure RIP.
[PE1] rip 2
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
2. Configure PE 2:
# Configure a global router ID.
<PE2> system-view
[PE2] router id 1.1.1.3
# Assign PE 2 to sub-domain 0, configure the BFR ID as 3, and configure the BFR prefix as the IPv6 address of Loopback 1..
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 3
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[PE2-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 3:2::1 as the End.BIER SID.
[PE2-bier-sub-domain-0-ipv6] end-bier locator a sid 3:2::1
[PE2-bier-sub-domain-0-ipv6] quit
[PE2-bier] quit
# Create the public instance, and configure route targets for the public instance.
[PE2] ip public-instance
[PE2-public-instance] vpn-target 100:1 export-extcommunity
[PE2-public-instance] vpn-target 100:1 import-extcommunity
[PE2-public-instance] quit
# Enable IP multicast routing for the public instance.
[PE2] multicast routing
[PE2-mrib] quit
# Create a BIER-based MVPN for the public instance.
[PE2] multicast-vpn public-instance mode bier
# Create an MVPN IPv4 address family for the public instance.
[PE2-mvpn-public-instance] address-family ipv4
# Specify the MVPN source interface for the public instance.
[PE2-mvpn-public-instance-ipv4] source loopback 1
[PE2-mvpn-public-instance-ipv4] quit
[PE2-mvpn-public-instance] quit
# Configure IS-IS.
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0003.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator a
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[PE2] interface ten-gigabitethernet 3/1/1
[PE2-Ten-GigabitEthernet3/1/1] ipv6 address 9000:8::1 64
[PE2-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[PE2] interface ten-gigabitethernet 3/1/2
[PE2-Ten-GigabitEthernet3/1/2] ip address 10.110.5.1 24
[PE2-Ten-GigabitEthernet3/1/2] pim sm
[PE2-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.3 32
[PE2-LoopBack1] ipv6 address 1113::1113 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# Assign an IP address to Loopback 2, and enable PIM-SM on the interface.
[PE2] interface loopback 2
[PE2-LoopBack2] ip address 33.33.33.33 32
[PE2-LoopBack2] pim sm
[PE2-LoopBack2] quit
# Configure Loopback 2 as a C-BSR and a C-RP of the public network.
[PE2] pim
[PE2-pim] c-bsr 33.33.33.33
[PE2-pim] c-rp 33.33.33.33
[PE2-pim] quit
# Configure BGP.
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] peer 1111::1111 prefix-sid
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] mvpn-advertise-rt-import
[PE2-bgp-default-ipv4] peer 1111::1111 enable
[PE2-bgp-default-ipv4] peer 1111::1111 advertise-ext-community
[PE2-bgp-default-ipv4] import-route rip 2
[PE2-bgp-default-ipv4] import-route direct
[PE2-bgp-default-ipv4] quit
[PE2-bgp-default] quit
# Configure RIP.
[PE2] rip 2
[PE2-rip-2] network 10.110.5.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
3. Configure P:
# Assign P to sub-domain 0, configure the BFR ID as 4, and configure the BFR prefix as the IPv6 address of Loopback 1.
<P> system-view
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the BIERv6 encapsulation.
[P-bier-sub-domain-0-ipv6] encapsulation-type bierv6 bsl 128 max-si 32
# Configure 4:1::1 as the End.BIER SID.
[P-bier-sub-domain-0-ipv6] end-bier locator a sid 4:1::1
[P-bier-sub-domain-0-ipv6] quit
[P-bier] quit
# Configure IS-IS.
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator a
[P-isis-1-ipv6] quit
[P-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[P] interface ten-gigabitethernet 3/1/1
[P-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::2 64
[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable IS-IS on it.
[P] interface ten-gigabitethernet 3/1/2
[P-Ten-GigabitEthernet3/1/2] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 128
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
4. Configure CE 1:
# Enable IP multicast routing.
<CE1> system-view
[CE1] multicast routing
[CE1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable PIM-SM on it.
[CE1] interface ten-gigabitethernet 3/1/1
[CE1-Ten-GigabitEthernet3/1/1] ip address 10.110.7.1 24
[CE1-Ten-GigabitEthernet3/1/1] pim sm
[CE1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[CE1] interface ten-gigabitethernet 3/1/2
[CE1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.2 24
[CE1-Ten-GigabitEthernet3/1/2] pim sm
[CE1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CE1] rip 2
[CE1-rip-2] network 10.110.2.0 0.0.0.255
[CE1-rip-2] network 10.110.7.0 0.0.0.255
[CE1-rip-2] quit
5. Configure CE 2:
# Enable IP multicast routing.
<CE2> system-view
[CE2] multicast routing
[CE2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IGMP on it.
[CE2] interface ten-gigabitethernet 3/1/1
[CE2-Ten-GigabitEthernet3/1/1] ip address 10.110.10.1 24
[CE2-Ten-GigabitEthernet3/1/1] igmp enable
[CE2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[CE2] interface ten-gigabitethernet 3/1/2
[CE2-Ten-GigabitEthernet3/1/2] ip address 10.110.5.2 24
[CE2-Ten-GigabitEthernet3/1/2] pim sm
[CE2-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CE2] rip 2
[CE2-rip-2] network 10.110.5.0 0.0.0.255
[CE2-rip-2] network 10.110.10.0 0.0.0.255
[CE2-rip-2] quit
Verifying the configuration
# Display information about the BIER inclusive tunnel for the public instance on PE 1.
[PE1] display multicast-vpn public-instance inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for the public instance on PE 1.
[PE1] display multicast-vpn public-instance selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:00:23 Originating router: 1.1.1.3
# Display C-multicast A-D route information for the public instance on PE 1.
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for the public instance on PE 2.
[PE3] display multicast-vpn public-instance inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
Example: Configuring BIER-based MVPN for the public instance (MSR6 encapsulation)
Network configuration
As shown in Figure 21, configure BIER-based MVPN for the public instance to meet the following requirements:
Item |
Network configuration |
Multicast sources and receivers |
In the public instance, S 1 is a multicast source, and R 1 is a receiver. |
Instances to which PE interfaces belong |
All interfaces belong to the public instance. |
Unicast routing protocols and BIER |
· Configure IS-IS on the public network, and configure RIP between the PEs and the CEs. · Establish BGP peer connections between PE 1 and PE 2 by using Loopback 1. · Configure BIER on the public network: sub-domain 0, BSL 128, and max-SI 32. · Configure the BFR prefix of PE 1, PE 2, PE 3, and P as the IPv6 addresses for their respective Loopback 1, and configure the End.RGB SID for each device. |
IP multicast routing |
· Enable IP multicast routing for the public instance on PE 1 and PE 2. · Enable IP multicast routing on CE 1 and CE 2. |
IGMP |
· Enable IGMPv2 on Ten-GigabitEthernet 3/1/1 of CE 2. |
PIM |
· Enable PIM-SM on Ten-GigabitEthernet 3/1/1 on PE 1 and Ten-GigabitEthernet 3/1/1 on PE 2. · Enable PIM-SM on all interfaces that do not have attached receiver hosts on CE 1 and CE 2. · Configure Loopback 2 of PE 2 as a C-BSR and a C-RP for the public instance to provide services for all multicast groups. |
Table 11 Interface and IP address assignment
Device |
Interface |
IP address |
Device |
Interface |
IP address |
S 1 |
— |
10.110.7.2/24 |
R 1 |
— |
10.110.1.2/24 |
PE 1 |
XGE3/1/1 |
9000:6::1/64 |
P |
XGE3/1/1 |
9000:6::2/64 |
PE 1 |
XGE3/1/2 |
10.110.2.1/24 |
P |
XGE3/1/3 |
9000:8::2/64 |
PE 1 |
Loop1 |
1.1.1.1/32 1111::1111/128 |
P |
Loop1 |
2.2.2.2/32 2222::2222/128 |
PE 2 |
XGE3/1/1 |
9000:8::1/64 |
CE 1 |
XGE3/1/1 |
10.110.7.1/24 |
PE 2 |
XGE3/1/2 |
10.110.5.1/24 |
CE 1 |
XGE3/1/2 |
10.110.2.2/24 |
PE 2 |
Loop1 |
1.1.1.3/32 1113::1113/128 |
CE 2 |
XGE3/1/1 |
10.110.10.1/24 |
PE 2 |
Loop2 |
33.33.33.33/32 |
CE 2 |
XGE3/1/2 |
10.110.5.2/24 |
Procedure
1. Configure PE 1:
# Configure a global router ID.
<PE1> system-view
[PE1] router id 1.1.1.1
# Configure SRv6.
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 11::11
[PE1-segment-routing-ipv6] locator a ipv6-prefix 1:1:: 64 static 32
[PE1-segment-routing-ipv6] quit
# Assign PE 1 to sub-domain 0, configure the BFR ID as 1, and configure the BFR prefix as the IPv6 address of Loopback 1.
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[PE1-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 1:1::1 as the End.RGB SID.
[PE1-bier-sub-domain-0-ipv6] end-rgb locator a sid 1:1::1
[PE1-bier-sub-domain-0-ipv6] quit
[PE1-bier] quit
# Create the public instance, and configure route targets for the public instance.
[PE1] ip public-instance
[PE1-public-instance] vpn-target 100:1 export-extcommunity
[PE1-public-instance] vpn-target 100:1 import-extcommunity
[PE1-public-instance] quit
# Enable IP multicast routing for the public instance.
[PE1] multicast routing
[PE1-mrib] quit
# Create a BIER-based MVPN for the public instance.
[PE1] multicast-vpn public-instance mode bier
# Create an MVPN IPv4 address family for the public instance.
[PE1-mvpn-public-instance] address-family ipv4
# Specify the MVPN source interface for the public instance.
[PE1-mvpn-public-instance-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation and dynamic selective tunnel creation for the public instance.
[PE1-mvpn-public-instance-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] src-dt4 locator a sid 1:1::2
[PE1-mvpn-public-instance-ipv4] quit
[PE1-mvpn-public-instance] quit
# Configure IS-IS.
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator a
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[PE1] interface ten-gigabitethernet 3/1/1
[PE1-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/1/1 isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[PE1] interface ten-gigabitethernet 3/1/2
[PE1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/1/2] pim sm
[PE1-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# Configure BGP.
[PE1] bgp 100
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] mvpn-advertise-rt-import
[PE1-bgp-default-ipv4] peer 1113::1113 enable
[PE1-bgp-default-ipv4] peer 1113::1113 advertise-ext-community
[PE1-bgp-default-ipv4] peer 1113::1113 prefix-sid
[PE1-bgp-default-ipv4] segment-routing ipv6 locator a
[PE1-bgp-default-ipv4] segment-routing ipv6 best-effort
[PE1-bgp-default-ipv4] import-route rip 2
[PE1-bgp-default-ipv4] import-route direct
[PE1-bgp-default-ipv4] quit
[PE1-bgp-default] quit
# Configure RIP.
[PE1] rip 2
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
2. Configure PE 2:
# Configure a global router ID.
<PE2> system-view
[PE2] router id 1.1.1.3
# Configure SRv6.
[PE2] segment-routing ipv6
[PE2-segment-routing-ipv6] encapsulation source-address 33::33
[PE2-segment-routing-ipv6] locator a ipv6-prefix 3:1:: 64 static 32
[PE2-segment-routing-ipv6] quit
# Assign PE 2 to sub-domain 0, configure the BFR ID as 2, and configure the BFR prefix as the IPv6 address of Loopback 1..
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 2
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[PE2-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 3:1::1 as the End.RGB SID.
[PE2-bier-sub-domain-0-ipv6] end-rgb locator a sid 3:1::1
[PE2-bier-sub-domain-0-ipv6] quit
[PE2-bier] quit
# Create the public instance, and configure route targets for the public instance.
[PE2] ip public-instance
[PE2-public-instance] vpn-target 100:1 export-extcommunity
[PE2-public-instance] vpn-target 100:1 import-extcommunity
[PE2-public-instance] quit
# Enable IP multicast routing for the public instance.
[PE2] multicast routing
[PE2-mrib] quit
# Create a BIER-based MVPN for the public instance.
[PE2] multicast-vpn public-instance mode bier
# Create an MVPN IPv4 address family for the public instance.
[PE2-mvpn-public-instance] address-family ipv4
# Specify the MVPN source interface for the public instance.
[PE2-mvpn-public-instance-ipv4] source loopback 1
# Enable dynamic inclusive tunnel creation, enable dynamic selective tunnel creation, and specify 3:1::2 as the MSR6 tunnel source address for locator a.
[PE2-mvpn-public-instance-ipv4]inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-public-instance-ipv4]selective-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-public-instance-ipv4]src-dt4 locator a sid 3:1::2
[PE2-mvpn-public-instance-ipv4] quit
[PE2-mvpn-public-instance] quit
# Configure IS-IS.
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0003.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator a
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[PE2] interface ten-gigabitethernet 3/1/1
[PE2-Ten-GigabitEthernet3/1/1] ipv6 address 9000:8::1 64
[PE2-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[PE2] interface ten-gigabitethernet 3/1/2
[PE2-Ten-GigabitEthernet3/1/2] ip address 10.110.5.1 24
[PE2-Ten-GigabitEthernet3/1/2] pim sm
[PE2-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.3 32
[PE2-LoopBack1] ipv6 address 1113::1113 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# Assign an IP address to Loopback 2, and enable PIM-SM on the interface.
[PE2] interface loopback 2
[PE2-LoopBack2] ip address 33.33.33.33 32
[PE2-LoopBack2] pim sm
[PE2-LoopBack2] quit
# Configure Loopback 2 as a C-BSR and a C-RP of the public network.
[PE2] pim
[PE2-pim] c-bsr 33.33.33.33
[PE2-pim] c-rp 33.33.33.33
[PE2-pim] quit
# Configure BGP.
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] mvpn-advertise-rt-import
[PE2-bgp-default-ipv4] peer 1111::1111 enable
[PE2-bgp-default-ipv4] peer 1111::1111 advertise-ext-community
[PE2-bgp-default-ipv4] peer 1111::1111 prefix-sid
[PE2-bgp-default-ipv4] segment-routing ipv6 locator a
[PE2-bgp-default-ipv4] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4] import-route rip 2
[PE2-bgp-default-ipv4] import-route direct
[PE2-bgp-default-ipv4] quit
[PE2-bgp-default] quit
# Configure RIP.
[PE2] rip 2
[PE2-rip-2] network 10.110.5.0 0.0.0.255
[PE2-rip-2] network 33.33.33.33 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
3. Configure P:
# Configure SRv6.
<P> system-view
[P] segment-routing ipv6
[P-segment-routing-ipv6] encapsulation source-address 44::44
[P-segment-routing-ipv6] locator a ipv6-prefix 4:1:: 64 static 32
[P-segment-routing-ipv6] quit
# Assign P to sub-domain 0, configure the BFR ID as 4, and configure the BFR prefix as the IPv6 address of Loopback 1.
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# Configure BIER with the MSR6 encapsulation.
[P-bier-sub-domain-0-ipv6] encapsulation-type msr6 bsl 128 max-si 32
# Configure 4:1::1 as the End.RGB SID.
[P-bier-sub-domain-0-ipv6] end-rgb locator a sid 4:1::1
[P-bier-sub-domain-0-ipv6] quit
[P-bier] quit
# Configure IS-IS.
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator a
[P-isis-1-ipv6] quit
[P-isis-1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IS-IS on it.
[P] interface ten-gigabitethernet 3/1/1
[P-Ten-GigabitEthernet3/1/1] ipv6 address 9000:6::2 64
[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable IS-IS on it.
[P] interface ten-gigabitethernet 3/1/2
[P-Ten-GigabitEthernet3/1/2] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/1/2] quit
# Assign an IP address to Loopback 1, and enable IS-IS on the interface.
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 128
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
4. Configure CE 1:
# Enable IP multicast routing.
<CE1> system-view
[CE1] multicast routing
[CE1-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable PIM-SM on it.
[CE1] interface ten-gigabitethernet 3/1/1
[CE1-Ten-GigabitEthernet3/1/1] ip address 10.110.7.1 24
[CE1-Ten-GigabitEthernet3/1/1] pim sm
[CE1-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[CE1] interface ten-gigabitethernet 3/1/2
[CE1-Ten-GigabitEthernet3/1/2] ip address 10.110.2.2 24
[CE1-Ten-GigabitEthernet3/1/2] pim sm
[CE1-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CE1] rip 2
[CE1-rip-2] network 10.110.2.0 0.0.0.255
[CE1-rip-2] network 10.110.7.0 0.0.0.255
[CE1-rip-2] quit
5. Configure CE 2:
# Enable IP multicast routing.
<CE2> system-view
[CE2] multicast routing
[CE2-mrib] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/1 on the public network, and enable IGMP on it.
[CE2] interface ten-gigabitethernet 3/1/1
[CE2-Ten-GigabitEthernet3/1/1] ip address 10.110.10.1 24
[CE2-Ten-GigabitEthernet3/1/1] igmp enable
[CE2-Ten-GigabitEthernet3/1/1] quit
# Assign an IP address to Ten-GigabitEthernet 3/1/2 on the public network, and enable PIM-SM on it.
[CE2] interface ten-gigabitethernet 3/1/2
[CE2-Ten-GigabitEthernet3/1/2] ip address 10.110.5.2 24
[CE2-Ten-GigabitEthernet3/1/2] pim sm
[CE2-Ten-GigabitEthernet3/1/2] quit
# Configure RIP.
[CE2] rip 2
[CE2-rip-2] network 10.110.5.0 0.0.0.255
[CE2-rip-2] network 10.110.10.0 0.0.0.255
[CE2-rip-2] quit
Verifying the configuration
# Display information about the BIER inclusive tunnel for the public instance on PE 1.
[PE1] display multicast-vpn public-instance inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:09:50 Originating router: 1.1.1.3
# Display information about BIER selective tunnels for the public instance on PE 1.
[PE1] display multicast-vpn public-instance selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::1111
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: 00:00:23 Originating router: 1.1.1.3
# Display C-multicast A-D route information for the public instance on PE 1.
[PE1] display multicast-vpn public c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# Display information about the BIER inclusive tunnel for the public instance on PE 2.
[PE2] display multicast-vpn public-instance inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID: 0
BFR-ID: 1
BFR prefix: 1111::1111
Root: 1.1.1.1
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::1113
Uptime: -- Originating router: 1.1.1.3
Troubleshooting BIER
BFR ID conflict
Symptom
The following log message is generated:
BIER/5/BIER_BFRID_CONFLICT_ACTIVE: -MDC=1; A BFR ID conflict exists. Address family=IPv6, Sub-domain=1, BFR ID=4, BFR prefixes=B::1,C::1.
Solution
To resolve the issue:
1. Identify the conflicting BFR edge devices through the BFR prefixes.
2. Modify the BFR ID for one of the two edge devices.
After the conflict is removed, the following log message is generated:
BIERRIB/5/BIER_BFRID_CONFLICT_CLEAR: -MDC=1; The BFR ID conflict was removed. Address family=IPv6, Sub-domain=1, BFR ID=4, BFR prefix=B::1.