- Table of Contents
-
- 09-Multicast Configuration Guide
- 00-Preface
- 01-Multicast overview
- 02-Multicast routing and forwarding configuration
- 03-IGMP configuration
- 04-PIM configuration
- 05-MSDP configuration
- 06-Multicast VPN configuration
- 07-IPv6 multicast routing and forwarding configuration
- 08-MLD configuration
- 09-IPv6 PIM configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
07-IPv6 multicast routing and forwarding configuration | 265.31 KB |
Contents
Configuring IPv6 multicast routing and forwarding
About IPv6 multicast routing and forwarding
IPv6 multicast forwarding across IPv6 unicast subnets
Restrictions and guidelines: IPv6 multicast routing and forwarding configuration
IPv6 multicast routing and forwarding tasks at a glance
Prerequisites for IPv6 multicast routing and forwarding
Enabling IPv6 multicast routing
Configuring static IPv6 multicast routes
Specifying the longest prefix match principle
Configuring IPv6 multicast load splitting
Configuring an IPv6 multicast flow policy
Restrictions and guidelines for configuring an IPv6 multicast flow policy
Creating an IPv6 multicast flow policy
Configuring the multicast group range
Configuring the estimated bandwidth
Configuring the IPv6 unicast reserved bandwidth percentage
Configuring an IPv6 multicast forwarding boundary
Using mtrace2 to trace an IPv6 multicast path
Setting the maximum number of cached unknown IPv6 multicast packets
Verifying and maintaining IPv6 multicast routing and forwarding
Verifying IPv6 multicast routing and forwarding configuration and running status
Displaying IPv6 multicast routing entries and IPv6 multicast forwarding entries
Clearing IPv6 multicast routing entries and IPv6 multicast forwarding entries
Displaying and clearing statistics for IPv6 multicast forwarding events
IPv6 multicast routing and forwarding configuration examples
Example: Changing an IPv6 RPF route
Example: Creating an IPv6 RPF route
Configuring IPv6 multicast routing and forwarding
About IPv6 multicast routing and forwarding
Each IPv6 multicast routing protocol has its own routing table. Multicast routing information in routing entries generated by the IPv6 multicast routing protocols are summarized in a set of (S, G) and (*, G) entries. All the (S, G) and (*, G) entries form a general IPv6 multicast routing table. The optimal IPv6 multicast routing entries in the general IPv6 multicast routing table are added to the IPv6 multicast forwarding table to guide IPv6 multicast data forwarding.
RPF check mechanism
An IPv6 multicast routing protocol uses the reverse path forwarding (RPF) check mechanism to ensure IPv6 multicast data delivery along the correct path and to avoid data loops.
RPF check process
An IPv6 multicast device performs the RPF check on an IPv6 multicast packet as follows:
1. Chooses an optimal route back to the packet source separately from the IPv6 unicast and IPv6 MBGP routing tables.
In RPF check, the "packet source" means difference things in difference situations:
¡ For a packet that travels along the SPT, the packet source is the IPv6 multicast source.
¡ For a packet that travels along the RPT, the packet source is the RP.
¡ For a bootstrap message originated from the BSR, the packet source is the BSR.
For more information about the concepts of SPT, RPT, source-side RPT, RP, and BSR, see "IPv6 PIM overview."
2. Selects one of the optimal routes as the RPF route as follows:
¡ If the device uses the longest prefix match principle, the route with a higher prefix length becomes the RPF route. If the routes have the same prefix length, the route with a higher route preference becomes the RPF route. If the routes have the same route preference, the IPv6 MBGP route becomes the RPF route. If equal cost routes exist, the equal cost route with the highest next hop IPv6 address becomes the RPF route.
For more information about the route preference, see Layer 3—IP Routing Configuration Guide.
¡ If the device does not use the longest prefix match principle, the route with a higher route preference becomes the RPF route. If the routes have the same route preference, the IPv6 MBGP route becomes the RPF route. If equal cost routes exist, the equal cost route with the highest next hop IPv6 address becomes the RPF route.
In the RPF route, the outgoing interface is the RPF interface and the next hop is the RPF neighbor.
3. Determines whether the packet arrived at the RPF interface.
¡ If the packet arrived at the RPF interface, the RPF check succeeds and the packet is forwarded.
¡ If the packet arrived at the non-RPF interface, the RPF check fails and the packet is discarded.
RPF check implementation in IPv6 multicast
Implementing an RPF check on each received IPv6 multicast packet would heavily burden the device. The use of an IPv6 multicast forwarding table is the solution to this issue. When the device creates an IPv6 multicast forwarding entry for an IPv6 (S, G) packet, it sets the RPF interface of the packet as the incoming interface of the (S, G) entry. After the device receives another (S, G) packet, it looks up its IPv6 multicast forwarding table for a matching (S, G) entry.
· If no match is found, the device first determines the RPF route back to the packet source. Then, it creates a forwarding entry with the RPF interface as the incoming interface and performs one of the following tasks:
¡ If the receiving interface is the RPF interface, the RPF check succeeds and the device forwards the packet out of all outgoing interfaces.
¡ If the receiving interface is not the RPF interface, the RPF check fails and the device discards the packet.
· If a match is found and the matching forwarding entry contains the receiving interface, the device forwards the packet out of all outgoing interfaces.
· If a match is found but the matching forwarding entry does not contain the receiving interface, the device determines the RPF route back to the packet source. Then, the device performs one of the following tasks:
¡ If the RPF interface is the incoming interface, it means that the forwarding entry is correct but the packet traveled along a wrong path. The packet fails the RPF check, and the device discards the packet.
¡ If the RPF interface is not the incoming interface, it means that the forwarding entry has expired. The device replaces the incoming interface with the RPF interface and matches the receiving interface against the RPF interface. If the receiving interface is the RPF interface, the device forwards the packet out of all outgoing interfaces. Otherwise, it discards the packet.
As shown in Figure 1, assume that IPv6 unicast routes are available on the network. IPv6 MBGP is not configured. IPv6 multicast packets travel along the SPT from the multicast source to the receivers. The IPv6 multicast forwarding table on Device C contains the (S, G) entry, with Port A as the RPF interface.
· If an IPv6 multicast packet arrives at Device C on Port A, the receiving interface is the incoming interface of the (S, G) entry. Device C forwards the packet out of all outgoing interfaces.
· If an IPv6 multicast packet arrives at Device C on Port B, the receiving interface is not the incoming interface of the (S, G) entry. Device C searches its IPv6 unicast routing table and finds that the outgoing interface to the source (the RPF interface) is Port A. This means that the (S, G) entry is correct but the packet traveled along a wrong path. The packet fails the RPF check, and Device C discards the packet.
IPv6 multicast forwarding across IPv6 unicast subnets
IPv6 multicast data transmission over a 6to4 tunnel is not supported in the current software version.
Devices forward the IPv6 multicast data from an IPv6 multicast source hop by hop along the forwarding tree, but some devices might not support IPv6 multicast protocols in a network. When the IPv6 multicast data is forwarded to a device that does not support IPv6 multicast, the forwarding path is blocked. In this case, you can enable IPv6 multicast data forwarding across the IPv6 unicast subnets by establishing a tunnel between the devices at both ends of the IPv6 unicast subnets.
Figure 2 IPv6 multicast data transmission through a tunnel
As shown in Figure 2, a tunnel is established between Device A and Device B. Device A encapsulates the IPv6 multicast data in unicast IPv6 packets, and forwards them to Device B across the tunnel through unicast devices. Then, Device B strips off the unicast IPv6 header and continues to forward the IPv6 multicast data down toward the receivers.
IPv6 mtrace
IPv6 mtrace uses mtrace2 to trace the path along which IPv6 multicast group data travels from a source to a destination.
Device roles
IPv6 mtrace includes the following roles:
· Last-hop router (LHR)—An LHR is a router that has an IPv6 multicast-enabled interface on the same subnet as the destination and can forward specific IPv6 multicast data to the subnet.
· First-hop router (FHR)—An FHR is a router that is directly connected to the IPv6 multicast source.
· Client—A client is a router that initiates an mtrace2.
Process
The IPv6 mtrace process is as follows:
1. The client sends an mtrace2 Query message (with a hops field indicating the maximum number of hops to be traced) to the destination.
2. The LHR turns the received Query message to an mtrace2 Request message by adding local forwarding information and sends the Request message to the upstream neighbor.
3. Each router along the traced path adds its local forwarding information to the received Request message and sends the Request message to its upstream neighbor.
4. The FHR adds its local forwarding information to the received Request message. Then, it turns the Request message to an mtrace2 Reply message and sends the Reply message to the client.
5. The client interprets forwarding information in the Reply message and displays the information.
Restrictions and guidelines: IPv6 multicast routing and forwarding configuration
During ISSU on a multichassis IRF, if the incoming interface of Layer 3 multicast traffic contains non-local member ports, Layer 3 multicast traffic interruption might occur when the device is rebooting.
IPv6 multicast routing and forwarding tasks at a glance
To configure IPv6 multicast routing and forwarding, perform the following tasks:
1. Enabling IPv6 multicast routing
2. (Optional.) Configuring static IPv6 multicast routes
3. (Optional.) Specifying the longest prefix match principle
4. (Optional.) Configuring IPv6 multicast load splitting
5. (Optional.) Configuring an IPv6 multicast flow policy
6. (Optional.) Configuring an IPv6 multicast forwarding boundary
7. (Optional.) Using mtrace2 to trace an IPv6 multicast path
8. (Optional.) Setting the maximum number of cached unknown IPv6 multicast packets
Prerequisites for IPv6 multicast routing and forwarding
Before you configure multicast routing and forwarding, configure an IPv6 unicast routing protocol so that all devices in the domain can interoperate at the network layer.
Enabling IPv6 multicast routing
About IPv6 multicast routing
Enable IPv6 multicast routing before you configure any Layer 3 IPv6 multicast functionality in the public network or VPN instance.
Procedure
1. Enter system view.
system-view
2. Enable IPv6 multicast routing and enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
By default, IPv6 multicast routing is disabled.
Configuring static IPv6 multicast routes
About this task
Perform this task to specify an RPF interface or an RPF neighbor for the IPv6 multicast traffic from an IPv6 multicast source.
Restrictions and guidelines
Static IPv6 multicast routes take effect only on the IPv6 multicast devices on which they are configured, and will not be broadcast or redistributed to other devices.
Procedure
1. Enter system view.
system-view
2. Configure a static multicast route.
ipv6 rpf-route-static [ vpn-instance vpn-instance-name ] ipv6-source-address prefix-length { rpf-nbr-address | interface-type interface-number } [ preference preference ]
3. (Optional.) Delete all static IPv6 multicast routes.
delete ipv6 rpf-route-static [ vpn-instance vpn-instance-name ]
To delete a single static IPv6 multicast route, use the undo ip rpf-route-static command.
Specifying the longest prefix match principle
About the longest prefix match principle
You can enable the device to use the longest prefix match principle for RPF route selection. For more information about RPF route selection, see "RPF check process."
Procedure
1. Enter system view.
system-view
2. Enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
3. Specify the longest prefix match principle for RPF route selection.
longest-match
By default, the route preference principle is used.
Configuring IPv6 multicast load splitting
About IPv6 multicast load splitting
You can enable the device to split multiple IPv6 multicast data flows on a per-source basis or on a per-source-and-group basis.
Restrictions and guidelines
This feature does not take effect on IPv6 BIDIR-PIM.
Procedure
1. Enter system view.
system-view
2. Enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
3. Configure IPv6 multicast load splitting.
load-splitting { balance-ecmp | balance-ucmp | ecmp | flow-ucmp | source | source-group | ucmp }
By default, IPv6 multicast load splitting is disabled.
Configuring an IPv6 multicast flow policy
About this task
You can configure the estimated bandwidth for matching IPv6 multicast flows through an IPv6 multicast flow policy on a downstream device if the following conditions exist:
· ECMP routes between the downstream device and an upstream device.
· The multicast load-splitting mode is flow-ucmp.
When the downstream device selects an incoming interface on the upstream device, it selects the link with the smallest bandwidth usage calculated based on the estimated bandwidth. If two links have the same bandwidth usage, the link with the higher next-hop IPv6 address is selected.
The bandwidth usage is calculated according to the following formula: Bandwidth usage = (Used bandwidth+Estimated bandwidth)/(Total interface bandwidth x (1–Unicast reserved bandwidth)).
· The estimated bandwidth is configured by the bandwidth command in IPv6 multicast flow policy view.
· The total interface bandwidth is configured by the bandwidth command in interface view.
· The unicast reserved bandwidth is configured by the flow-ucmp unicast reserve-bandwidth or ipv6 multicast flow-ucmp unicast reserve-bandwidth command.
Restrictions and guidelines for configuring an IPv6 multicast flow policy
For this feature to take effect, you must configure the multicast load-splitting mode as flow-ucmp.
Adding, deleting, or modifying an IPv6 multicast flow policy does not affect the link selection results of existing multicast flows and affects link selection for only new multicast flows. Before configuring the multicast load-splitting mode as flow-ucmp, you must plan the configuration of an IPv6 multicast flow policy and the unicast reserved bandwidth configuration.
The change of link bandwidth and the change in the number of ECMP routes do not affect the route selection of existing multicast flows.
This feature does not affect multicast source-side link selection, link selection in IPv6 PIM-DM, RPT link selection in IPv6 PIM-SM, or local RP link selection.
If both IPv4 and IPv6 multicast flows exist in the network, increase the unicast reserved bandwidth as needed to avoid congestion.
Creating an IPv6 multicast flow policy
1. Enter system view.
system-view
2. Enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
3. Create an IPv6 multicast flow policy.
¡ Create a custom IPv6 multicast flow policy.
flow-policy name policy-name
¡ Create the default IPv6 multicast flow policy.
flow-policy default
Configuring the multicast group range
About this task
Perform this task to configure a multicast group range in which an IPv6 multicast flow policy takes effect. If a multicast group matches the ACL specified in an IPv6 multicast flow policy, the estimated bandwidth configured in the policy is used for the multicast flows of the multicast group.
Restrictions and guidelines
This feature is not supported by the default IPv6 multicast flow policy.
Procedure
1. Enter system view.
system-view
2. Enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
3. Enter IPv6 multicast flow policy view.
flow-policy { default | name policy-name }
4. Configure the multicast group range.
acl { ipv6-acl-number | name ipv6-acl-name }
By default, an IPv6 multicast flow policy does not take effect on any multicast groups.
Configuring the estimated bandwidth
About this task
The estimated bandwidth is selected for IPv6 multicast flows as follows:
1. If the multicast group of an IPv6 multicast flow matches the ACL specified in a custom IPv6 multicast flow policy, the estimated bandwidth configured in the policy is selected for the multicast flow.
2. If the multicast group of an IPv6 multicast flow does not match an ACL in any custom IPv6 multicast flow policy, the estimated bandwidth configured in the default policy is selected for the multicast flow.
3. If the default policy is not created or the estimated bandwidth is not configured in the default policy, the estimated bandwidth for the multicast flow is 0.
Procedure
1. Enter system view.
system-view
2. Enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
3. Enter IPv6 multicast flow policy view.
flow-policy { default | name policy-name }
4. Configure the estimated bandwidth.
bandwidth bandwidth { gbps | kbps | mbps }
By default, the estimated bandwidth is 0.
Configuring the IPv6 unicast reserved bandwidth percentage
About this task
Perform this task when IPv6 unicast traffic and IPv6 multicast traffic coexist in the network. The available bandwidth for multicast traffic is calculated based on the total interface bandwidth and the configured IPv6 unicast reserved bandwidth percentage. For example, if the total interface bandwidth is 100 kbps and the unicast reserved bandwidth percentage is 20% (20 kbps), the available bandwidth for multicast traffic is 80 kbps.
Restrictions and guidelines
For this feature to take effect, you must configure the multicast load-splitting mode as flow-ucmp.
The flow-ucmp unicast reserve-bandwidth command takes effect on all interfaces, and the ipv6 multicast flow-ucmp unicast reserve-bandwidth command takes effect only on the current interface. If you execute both commands, the latter has higher priority.
Setting the global IPv6 unicast reserved bandwidth percentage
1. Enter system view.
system-view
2. Enter IPv6 MRIB view.
ipv6 multicast routing [ vpn-instance vpn-instance-name ]
3. Set the global IPv6 unicast reserved bandwidth percentage.
flow-ucmp unicast reserve-bandwidth percentage
By default, the global IPv6 unicast reserved bandwidth percentage is not set.
Setting the IPv6 unicast reserved bandwidth percentage on an interface
1. Enter system view.
system-view
2. Enter interface view.
interface interface-type interface-number
3. Set the IPv6 unicast reserved bandwidth percentage on the interface.
ipv6 multicast flow-ucmp unicast reserve-bandwidth percentage
By default, the IPv6 unicast reserved bandwidth percentage is not set on an interface.
Configuring an IPv6 multicast forwarding boundary
About IPv6 multicast forwarding boundaries
You can configure an interface as an IPv6 multicast forwarding boundary for an IPv6 multicast group range. The interface cannot receive or forward IPv6 multicast packets for the groups in the range.
Restrictions and guidelines
You do not need to enable IPv6 multicast routing before this configuration.
Procedure
1. Enter system view.
system-view
2. Enter interface view.
interface interface-type interface-number
3. Configure an IPv6 multicast forwarding boundary.
ipv6 multicast boundary { ipv6-group-address prefix-length | scope { scope-id | admin-local | global | organization-local | site-local } }
By default, an interface is not an IPv6 multicast forwarding boundary for any IPv6 multicast groups.
Using mtrace2 to trace an IPv6 multicast path
Restrictions and guidelines
For successful IPv6 mtrace, do not use a UDP port number used by other modules.
You must specify the same UDP port number on all devices on the traced path.
Procedure
1. Enter system view.
system-view
2. (Optional.) Specify the UDP port number used by IPv6 mtrace.
ipv6 mtrace-service port number
By default, IPv6 mtrace uses UDP port number 10240.
3. Use mtrace2 to trace an IPv6 multicast path.
mtrace v2 ipv6 [ vpn-instance vpn-instance-name ] { source-address | group-address } * [ destination address | port number | wait-time time | max-hop count ] * [ verbose ]
The UDP port number specified in this command must be the same as that specified in the mtrace-service port command.
Setting the maximum number of cached unknown IPv6 multicast packets
About setting the maximum number of cached unknown IPv6 multicast packets
The device caches an IPv6 multicast packet for a period of time if no matching multicast forwarding entry is found for the packet. If a multicast forwarding entry is established for the packet within the time period, the device forwards the packet. This mechanism prevents the device from mistakenly dropping IPv6 multicast packets when the multicast forwarding entries for these packets are to be established.
You can set the maximum number of unknown IPv6 multicast packets that can be cached for an (S, G) entry, in total, or both.
Restrictions and guidelines
As a best practice, set the value in the ipv6 multicast forwarding-table cache-unknown total command to be far greater than the value in the ipv6 multicast forwarding-table cache-unknown per-entry command.
Procedure
1. Enter system view.
system-view
2. Set the maximum number of unknown IPv6 multicast packets that can be cached for an (S, G) entry.
ipv6 multicast forwarding-table cache-unknown per-entry per-entry-limit
By default, the device can cache only one unknown IPv6 multicast packet for an (S, G) entry.
3. Set the maximum number of unknown IPv6 multicast packets that can be cached in total.
ipv6 multicast forwarding-table cache-unknown total total-limit
By default, the device can cache 1024 unknown IPv6 multicast packets in total.
Verifying and maintaining IPv6 multicast routing and forwarding
Verifying IPv6 multicast routing and forwarding configuration and running status
Perform display tasks in any view.
· Display information about the interfaces maintained by the IPv6 MRIB.
display ipv6 mrib [ vpn-instance vpn-instance-name ] interface [ interface-type interface-number ]
· Display IPv6 multicast boundary information.
display ipv6 multicast [ vpn-instance vpn-instance-name ] boundary { group [ ipv6-group-address [ prefix-length ] ] | scope [ scope-id ] } [ interface interface-type interface-number ]
· Display IPv6 DF information.
display ipv6 multicast [ vpn-instance vpn-instance-name ] forwarding df-info [ ipv6-rp-address ] [ verbose ] [ slot slot-number ]
· Display RPF information for an IPv6 multicast source.
display ipv6 multicast [ vpn-instance vpn-instance-name ] rpf-info ipv6-source-address [ ipv6-group-address ]
· Display link selection information for IPv6 multicast flow policies.
display ipv6 multicast [ vpn-instance vpn-instance-name ] flow-policy info [ interface interface-type interface-number | source source-address | group group-address | policy { default | name policy-name } ] *
Displaying IPv6 multicast routing entries and IPv6 multicast forwarding entries
Displaying IPv6 multicast routing entries
Perform display tasks in any view.
· Display IPv6 multicast routing entries.
display ipv6 multicast [ vpn-instance vpn-instance-name ] routing-table [ ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number ] *
· Display static IPv6 multicast routing entries.
display ipv6 multicast [ vpn-instance vpn-instance-name ] routing-table static [ ipv6-source-address [ prefix-length ] ]
Displaying IPv6 multicast forwarding entries
Perform display tasks in any view.
· Display IPv6 multicast forwarding entries.
display ipv6 multicast [ vpn-instance vpn-instance-name ] forwarding-table [ ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number | slot slot-number | statistics ] *
· Display IPv6 multicast fast forwarding entries.
display ipv6 multicast [ vpn-instance vpn-instance-name ] fast-forwarding cache [ ipv6-source-address | ipv6-group-address ] * [ slot slot-number ]
· Display information about the DF list in the IPv6 multicast forwarding table.
display ipv6 multicast [ vpn-instance vpn-instance-name ] forwarding-table df-list [ ipv6-group-address ] [ verbose ] [ slot slot-number ]
Clearing IPv6 multicast routing entries and IPv6 multicast forwarding entries
Restrictions and guidelines
The reset commands might cause IPv6 multicast data transmission failures.
When you clear an IPv6 multicast routing entry, the associated IPv6 multicast forwarding entry is also cleared.
When you clear an IPv6 multicast forwarding entry, the associated IPv6 multicast routing entry is also cleared.
Procedure
Perform clear tasks in user view.
· Clear IPv6 multicast forwarding entries.
reset ipv6 multicast [ vpn-instance vpn-instance-name ] forwarding-table { { ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface { interface-type interface-number } } * | all }
· Clear IPv6 multicast routing entries.
reset ipv6 multicast [ vpn-instance vpn-instance-name ] routing-table { { ipv6-source-address [ prefix-length ] | ipv6-group-address [ prefix-length ] | incoming-interface interface-type interface-number } * | all }
· Clear IPv6 multicast fast forwarding entries.
reset ipv6 multicast [ vpn-instance vpn-instance-name ] fast-forwarding cache { { ipv6-source-address | ipv6-group-address } * | all } [ slot slot-number ]
Displaying and clearing statistics for IPv6 multicast forwarding events
To display statistics for IPv6 multicast forwarding events, execute the following command in any view:
display ipv6 multicast [ vpn-instance vpn-instance-name ] forwarding event [ slot slot-number ]
To clear statistics for IPv6 multicast forwarding events, execute the following command in user view:
reset ipv6 multicast [ vpn-instance vpn-instance-name ] forwarding event
IPv6 multicast routing and forwarding configuration examples
Example: Changing an IPv6 RPF route
Network configuration
As shown in Figure 3:
· IPv6 PIM-DM runs on the network.
· All routers on the network support IPv6 multicast.
· Router A, Router B, and Router C run OSPFv3.
· Typically, the receiver host can receive the IPv6 multicast data from the source through the path: Router A to Router B, which is the same as the unicast route.
Configure the routers so that the IPv6 multicast data from the source travels to the receiver along the following path: Router A to Router C to Router B. This path is different from the unicast route.
Prerequisites
1. Assign an IP address and prefix length to each interface, as shown in Figure 3.
2. Configure OSPFv3 on the routers in the IPv6 PIM-DM domain.
Procedure
1. Enable IPv6 multicast routing, and enable MLD and IPv6 PIM-DM:
# On Router B, enable IPv6 multicast routing.
<RouterB> system-view
[RouterB] ipv6 multicast routing
[RouterB-mrib6] quit
# Enable MLD on the receiver-side interface GigabitEthernet 1/0/1.
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] mld enable
[RouterB-GigabitEthernet1/0/1] quit
# Enable IPv6 PIM-DM on the other interfaces.
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] ipv6 pim dm
[RouterB-GigabitEthernet1/0/2] quit
[RouterB] interface gigabitethernet 1/0/3
[RouterB-GigabitEthernet1/0/3] ipv6 pim dm
[RouterB-GigabitEthernet1/0/3] quit
# On Router A, enable IPv6 multicast routing.
<RouterA> system-view
[RouterA] ipv6 multicast routing
[RouterA-mrib6] quit
# Enable IPv6 PIM-DM on each interface.
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ipv6 pim dm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ipv6 pim dm
[RouterA-GigabitEthernet1/0/2] quit
[RouterA] interface gigabitethernet 1/0/3
[RouterA-GigabitEthernet1/0/3] ipv6 pim dm
[RouterA-GigabitEthernet1/0/3] quit
# Enable IPv6 multicast routing and IPv6 PIM-DM on Router C in the same way Router A is configured. (Details not shown.)
2. Display RPF information for the source on Router B.
[RouterB] display ipv6 multicast rpf-info 500::100
RPF information about source 500::100:
RPF interface: GigabitEthernet1/0/3, RPF neighbor: 300::2
Referenced prefix/prefix length: 500::/64
Referenced route type: igp
Route selection rule: preference-preferred
Load splitting rule: disable
Source AS: 0
C-multicast route target: 0x0000000000000000
The output shows that the current RPF route on Router B is contributed by a unicast routing protocol and the RPF neighbor is Router A.
3. On Router B, configure a static IPv6 multicast route to the source and specify Router C as the RPF neighbor.
[RouterB] ipv6 rpf-route-static 500::100 64 200::2
Verifying the configuration
# Display RPF information for the source on Router B.
[RouterB] display ipv6 multicast rpf-info 500::100
RPF information about source 500::100
RPF interface: GigabitEthernet1/0/2, RPF neighbor: 200::2
Referenced prefix/prefix length: 500::/64
Referenced route type: multicast static
Route selection rule: preference-preferred
Load splitting rule: disable
Source AS: 0
C-multicast route target: 0x0000000000000000
The output shows the following information:
· The RPF route on Router B is the configured static IPv6 multicast route.
· The RPF neighbor of Router B is Router C.
Example: Creating an IPv6 RPF route
Network configuration
As shown in Figure 4:
· IPv6 PIM-DM runs on the network.
· All routers on the network support IP multicast.
· Router B and Router C run OSPFv3, and have no unicast routes to Router A.
· Typically, the receiver host receives the IPv6 multicast data from Source 1 in the OSPFv3 domain.
Configure the routers so that the receiver host can receive IPv6 multicast data from Source 2, which is outside the OSPFv3 domain.
Prerequistes
1. Assign an IP address and subnet mask for each interface, as shown in Figure 4.
2. Configure OSPFv3 on Router B and Router C.
Procedure
1. Enable IPv6 multicast routing, and enable MLD and IPv6 PIM-DM:
# On Router C, enable IPv6 multicast routing.
<RouterC> system-view
[RouterC] ipv6 multicast routing
[RouterC-mrib6] quit
# Enable MLD on the receiver-side interface GigabitEthernet 1/0/1.
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] mld enable
[RouterC-GigabitEthernet1/0/1] quit
# Enable IPv6 PIM-DM on GigabitEthernet 1/0/2.
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] ipv6 pim dm
[RouterC-GigabitEthernet1/0/2] quit
# On Router A, enable IPv6 multicast routing.
<RouterA> system-view
[RouterA] ipv6 multicast routing
[RouterA-mrib6] quit
# Enable IPv6 PIM-DM on each interface.
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] ipv6 pim dm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] ipv6 pim dm
[RouterA-GigabitEthernet1/0/2] quit
# Enable IPv6 multicast routing and IPv6 PIM-DM on Router B in the same way Router A is configured. (Details not shown.)
2. Display RPF information for Source 2 on Router B and Router C.
[RouterB] display ipv6 multicast rpf-info 500::100
[RouterC] display ipv6 multicast rpf-info 500::100
No output is displayed because no RPF routes to Source 2 exist on Router B and Router C.
3. Configure a static IPv6 multicast route:
# Configure a static IPv6 multicast route on Router B and specify Router A as its RPF neighbor to Source 2.
[RouterB] ipv6 rpf-route-static 500::100 64 300::2
# Configure a static IPv6 multicast route on Router C and specify Router B as its RPF neighbor to Source 2.
[RouterC] ipv6 rpf-route-static 500::100 64 200::2
Verifying the configuration
# Display RPF information for Source 2 on Router B.
[RouterB] display ipv6 multicast rpf-info 500::100
RPF information about source 500::100:
RPF interface: GigabitEthernet1/0/3, RPF neighbor: 300::2
Referenced prefix/prefix length: 500::/64
Referenced route type: multicast static
Route selection rule: preference-preferred
Load splitting rule: disable
Source AS: 0
C-multicast route target: 0x0000000000000000
# Display RPF information for Source 2 on Router C.
[RouterC] display ipv6 multicast rpf-info 500::100
RPF information about source 500::100:
RPF interface: GigabitEthernet1/0/2, RPF neighbor: 200::2
Referenced prefix/prefix length: 500::/64
Referenced route type: multicast static
Route selection rule: preference-preferred
Load splitting rule: disable
Source AS: 0
C-multicast route target: 0x0000000000000000
The output shows that the RPF routes to Source 2 exist on Router B and Router C. These RPF routes are the configured static IPv6 multicast routes.