Enhanced PIM support for IPv6 across all VRFs
This information is also available in the FortiOS 8.0 Administration Guide:
PIM now supports all VRFs (up to 511) and is aware of IPv6 multicast routing and forwarding over a single overlay, enhancing network scalability and flexibility compared to the previous VRF 0-only support. See Multicast routing and PIM support for more information.
A new config router multicast6-flow command is available:
config router multicast6-flow
edit <name>
config flows
edit <ID>
set group-addr <IPv6 address>
next
end
next
end
|
Option |
Description |
|---|---|
|
|
Configure IPv6 multicast-flow. |
|
|
IPv6 multicast-flow entries. |
|
|
Flow ID. |
|
|
Multicast group IP address. |
The config router multicast6 command has new options to configure PIM6 RP for PIM6 interface:
config router multicast6
config interface
edit <name>
set rp-candidate {enable | disable}
set static-group <string>
set rp-candidate-group <string>
set rp-candidate-priority <integer>
set rp-candidate-interval <integer>
next
end
end
|
Option |
Description |
|---|---|
|
|
Protocol Independent Multicast (PIM) interfaces. |
|
|
Interface name. |
|
|
Enable/disable compete to become RP in elections. |
|
|
Statically set IPv6 multicast groups to forward out. |
|
|
Multicast groups managed by this RP. Enter IPv6 access list name. |
|
|
Router's priority as RP (0 to 255, default = 192). |
|
|
RP candidate advertisement interval (1 to 16383 sec, default = 60). |
The config router multicast6 command has new options:
config router multicast6
config pim-sm-global
set bsr-candidate {enable | disable}
set bsr-interface <string>
set bsr-priority <integer>
set bsr-hash <integer>
set bsr-allow-quick-refresh {enable | disable}
set cisco-crp-prefix {enable | disable}
set cisco-ignore-rp-set-priority {enable | disable}
set spt-threshold {enable | disable}
set spt-threshold-group
config rp-address
edit <id>
set ip6-address <IPv6 addr>
set group <string>
next
end
end
end
|
Option |
Description |
|---|---|
|
|
PIM sparse-mode global settings. |
|
|
Enable/disable allowing this router to become a bootstrap router (BSR). |
|
|
Interface to advertise as candidate BSR. |
|
|
BSR priority (0 - 255, default = 0). |
|
|
BSR hash length (0 - 32, default = 10). |
|
|
Enable/disable accept BSR quick refresh packets from neighbors. |
|
|
Enable/disable making candidate RP compatible with old Cisco IOS.
|
|
|
Use only hash for RP selection (compatibility with old Cisco IOS):
|
|
|
Enable/disable switching to source specific trees. |
|
|
Groups allowed to switch to source tree. Enter the IPv6 access list name. |
|
|
Statically configure RP addresses. |
|
|
VRF ID. |
|
|
RP router IPv6 address. |
|
|
Groups to use this RP. Enter the IPv6 access list name. |
The config router multicast6 command has new options:
config router multicast6
config pim-sm-global-vrf
edit <id>
set bsr-candidate {enable | disable}
set bsr-interface <string>
set bsr-priority <integer>
set bsr-hash <integer>
set bsr-allow-quick-refresh {enable | disable}
set cisco-crp-prefix {enable | disable}
config rp-address
edit <id>
set ip6-address <IPv6 addr>
set group <string>
next
end
next
end
end
|
Option |
Description |
|---|---|
|
|
Per-VRF PIM sparse-mode global settings. |
|
|
VRF ID. |
|
|
Enable/disable allowing this router to become a bootstrap router (BSR). |
|
|
Interface to advertise as candidate BSR. |
|
|
BSR priority (0 - 255, default = 0). |
|
|
BSR hash length (0 - 128, default = 126). |
|
|
Enable/disable accept BSR quick refresh packets from neighbors. |
|
|
Enable/disable making candidate RP compatible with old Cisco IOS. |
|
|
Statically configured RP addresses. |
|
|
ID of the entry. |
|
|
ip6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx. |
|
|
IPv6 access list name. |
The following commands are available:
execute mrouter6 clear mld interface execute mrouter6 clear mld vrf
The following commands now support VRF:
execute mrouter6 clear mld group execute mrouter6 clear sparse-routes get router info6 multicast mld groups get router info6 multicast mld groups-detail get router info6 multicast pim sparse-mode bsr-router get router info6 multicast pim sparse-mode rp mapping get router info6 multicast pim sparse-mode rp-hash get router info6 multicast pim sparse-mode nexthop get router info6 multicast pim sparse-mode mroute
Example
In this example, the multicast server:
-
Sends out multicast traffic
ff0e::10 from 2000:172:16:205::11in VRF1. -
Sends out multicast traffic
ff0e::20 from 2000:172:16:205::22in VRF2.
To configure IPv6 multicast-flow:
config router multicast6-flow
edit "flow6a"
config flows
edit 1
set group-addr ff0e::10
next
end
next
edit "flow6b"
config flows
edit 1
set group-addr ff0e::20
next
end
next
end
To configure PIM-SM global settings for each VRF:
config router multicast6
set multicast-routing enable
config interface
edit "vd3-1"
next
edit "vd3-vlan33"
next
edit "vd3-vlan331"
next
end
config pim-sm-global-vrf
edit 2
config rp-address
edit 1
set ip6-address 2011::12
next
end
next
edit 1
config rp-address
edit 1
set ip6-address 2011::11
next
end
next
end
end
For brevity, only the commands relevant to this enhancement are included.
To verify VRF in IPv6 multicast routing:
-
Review the sniffer information:
-
The VRF1 client can receive ff0e::10 and cannot receive ff0e::20:
0.800190 npu0_vlink0 out 2000:172:16:205::11.33372 -> ff0e::10.5001: udp 46 [flowlabel 0xa620f] 0.800197 vd33-vlan33 in 2000:172:16:205::11.33372 -> ff0e::10.5001: udp 46 [flowlabel 0xa620f]
-
The VRF2 client can receive ff0e::20 and cannot receive ff0e::10:
0.666623 vd3-vlan331 out 2000:172:16:205::22.33372 -> ff0e::20.5001: udp 46 [flowlabel 0xa620f 0.666630 vd3-vlan331 out 2000:172:16:205::22.33372 -> ff0e::20.5001: udp 46 [flowlabel 0xa620f
-
-
Review the group information:
# get router info6 multicast mld groups MLD Connected Group Membership VRF Group Address Interface Uptime Expires Last Reporter 1 ff0e::10 vd3-vlan33 00:21:05 now(static) :: 2 ff0e::20 vd3-vlan331 00:21:05 now(static) ::