Fortinet white logo
Fortinet white logo

Administration Guide

Multicast

Multicast

A FortiSwitch unit can operate as a Protocol Independent Multicast (PIM) version-2 router. FortiSwitchOS supports PIM source-specific multicast (SSM) and version 3 of Internet Group Management Protocol (IGMP).

You can configure a FortiSwitch unit to support PIM using the config router multicast CLI command. When PIM is enabled, the FortiSwitch unit allocates memory to manage mapping information. The FortiSwitch unit communicates with neighboring PIM routers to acquire mapping information and, if required, processes the multicast traffic associated with specific multicast groups.

NOTE:

  • You must have an advanced features license to use PIM routing.
  • This feature is supported only on the SVI.
  • Access lists, prefix lists, and route maps are not supported.
  • Bidirectional forwarding detection (BFD) is not supported.
  • You cannot use PIM and the IGMP querier at the same time on the same switch virtual interface.
  • PIM and IGMP snooping work independently.
  • IPv6 is not supported.
  • IGMP version-3 explicit membership tracking is not supported.
  • SSM mapping is not supported.
  • The multicast routing information base (MRIB) is not supported.
  • The PIM management information base (MIB) is not supported.
  • Starting in FortiSwitchOS 7.2.0, PIM is supported on RVIs.

Terminology

PIM domain: A PIM domain is a logical area comprising a number of contiguous networks. The domain contains at least one Boot Strap Router (BSR) and a number of Rendezvous Points (RPs) and Designated Routers (DRs).

RP: An RP represents the root of a non-source-specific distribution tree to a multicast group.

Configuring PIM

To configure a PIM domain:
  1. Determine the appropriate paths for multicast packets.
  2. Make a note of the interfaces that will be PIM enabled. These interfaces can run a unicast routing protocol.
  3. Enable PIM version 2 on all participating routers between the source and receivers. Use the config router multicast command to set global operating parameters. See Enabling PIM.
  4. If required, adjust the default settings of PIM-enabled interface(s). See Configuring a PIM-enabled interface.

Enabling PIM

Using the GUI:
  1. Go to Router > Config > Multicast > Settings.
  2. Select the Enable Multicast checkbox.
  3. Click Update.
Using the CLI:

config router multicast

set multicast-routing enable

end

Creating a multicast flow

Starting in FortiSwitchOS 7.0.2, you can specify a range of multicast group addresses (IPv4) when configuring a PIM multicast flow in the CLI. Setting group-addr-end is optional, and the range must not overlap other defined ranges.

Using the GUI:
  1. Go to Router > Config > Multicast > Flows.
  2. Select Add Multicast Flow.
  3. In the Name field, enter the name of the multicast flow.
  4. In the Comments field, enter an optional description of the multicast flow.
  5. Click +.
  6. In the ID field, enter a number between 1 and 4294967295 to identify the multicast-flow entry.
  7. In the Group Address field, enter the multicast group IPv4 address.
  8. In the Source Address field, enter an IPv4 address for the multicast source.
  9. Click Add.
Using the CLI:

config router multicast-flow

edit <name>

set comments <string>

config flows

edit <muliticast-flow_entry_identifier>

set group-addr <224-239.xxx.xxx.xxx>

set group-addr-end <224-239.xxx.xxx.xxx>

set source-addr <IP_address>

end

end

Configuring a PIM-enabled interface

Using the GUI:
  1. Go to Router > Config > Multicast > Interfaces.
  2. Select Configure for one of the PIM-enabled interfaces.
  3. In the Multicast Flow dropdown list, select a multicast flow.
    To create a multicast flow, see Creating a multicast flow.
  4. In the Hello Interval (Seconds) field, enter the number of seconds that the FortiSwitch unit waits between sending hello messages to neighboring PIM routers.
  5. In the Designated Router Priority field, enter a priority to the FortiSwitch unit Designated Router (DR) candidacy.
    The value is compared to that of other DR interfaces connected to the same network segment, and the router having the highest DR priority is selected to be the DR. If two DR priority values are the same, the interface having the highest IP address is selected.
  6. In the Response Time (Seconds) field, enter the number of seconds between queries to IGMP hosts.
  7. In the Interval (Seconds) field, enter the maximum number of seconds to wait for an IGMP query response.
  8. Click Add.
Using the CLI:

config router multicast

config interface

edit {interface_name | internal | mgmt}

set pim-mode ssm-mode

set multicast-flow <string>

set hello-interval <1-180 seconds>

set dr-priority <1-4294967295>

config igmp

set query-max-response-time <1-25 seconds>

set query-interval <1-1800 seconds>

next

end

Checking the PIM configuration

Use the following commands to check your PIM configuration:

get router info multicast config

get router info multicast igmp {groups | sources | interface <interface_name> | join}

get router info multicast pim {neighbour | interface <interface_name>}

Multicast

Multicast

A FortiSwitch unit can operate as a Protocol Independent Multicast (PIM) version-2 router. FortiSwitchOS supports PIM source-specific multicast (SSM) and version 3 of Internet Group Management Protocol (IGMP).

You can configure a FortiSwitch unit to support PIM using the config router multicast CLI command. When PIM is enabled, the FortiSwitch unit allocates memory to manage mapping information. The FortiSwitch unit communicates with neighboring PIM routers to acquire mapping information and, if required, processes the multicast traffic associated with specific multicast groups.

NOTE:

  • You must have an advanced features license to use PIM routing.
  • This feature is supported only on the SVI.
  • Access lists, prefix lists, and route maps are not supported.
  • Bidirectional forwarding detection (BFD) is not supported.
  • You cannot use PIM and the IGMP querier at the same time on the same switch virtual interface.
  • PIM and IGMP snooping work independently.
  • IPv6 is not supported.
  • IGMP version-3 explicit membership tracking is not supported.
  • SSM mapping is not supported.
  • The multicast routing information base (MRIB) is not supported.
  • The PIM management information base (MIB) is not supported.
  • Starting in FortiSwitchOS 7.2.0, PIM is supported on RVIs.

Terminology

PIM domain: A PIM domain is a logical area comprising a number of contiguous networks. The domain contains at least one Boot Strap Router (BSR) and a number of Rendezvous Points (RPs) and Designated Routers (DRs).

RP: An RP represents the root of a non-source-specific distribution tree to a multicast group.

Configuring PIM

To configure a PIM domain:
  1. Determine the appropriate paths for multicast packets.
  2. Make a note of the interfaces that will be PIM enabled. These interfaces can run a unicast routing protocol.
  3. Enable PIM version 2 on all participating routers between the source and receivers. Use the config router multicast command to set global operating parameters. See Enabling PIM.
  4. If required, adjust the default settings of PIM-enabled interface(s). See Configuring a PIM-enabled interface.

Enabling PIM

Using the GUI:
  1. Go to Router > Config > Multicast > Settings.
  2. Select the Enable Multicast checkbox.
  3. Click Update.
Using the CLI:

config router multicast

set multicast-routing enable

end

Creating a multicast flow

Starting in FortiSwitchOS 7.0.2, you can specify a range of multicast group addresses (IPv4) when configuring a PIM multicast flow in the CLI. Setting group-addr-end is optional, and the range must not overlap other defined ranges.

Using the GUI:
  1. Go to Router > Config > Multicast > Flows.
  2. Select Add Multicast Flow.
  3. In the Name field, enter the name of the multicast flow.
  4. In the Comments field, enter an optional description of the multicast flow.
  5. Click +.
  6. In the ID field, enter a number between 1 and 4294967295 to identify the multicast-flow entry.
  7. In the Group Address field, enter the multicast group IPv4 address.
  8. In the Source Address field, enter an IPv4 address for the multicast source.
  9. Click Add.
Using the CLI:

config router multicast-flow

edit <name>

set comments <string>

config flows

edit <muliticast-flow_entry_identifier>

set group-addr <224-239.xxx.xxx.xxx>

set group-addr-end <224-239.xxx.xxx.xxx>

set source-addr <IP_address>

end

end

Configuring a PIM-enabled interface

Using the GUI:
  1. Go to Router > Config > Multicast > Interfaces.
  2. Select Configure for one of the PIM-enabled interfaces.
  3. In the Multicast Flow dropdown list, select a multicast flow.
    To create a multicast flow, see Creating a multicast flow.
  4. In the Hello Interval (Seconds) field, enter the number of seconds that the FortiSwitch unit waits between sending hello messages to neighboring PIM routers.
  5. In the Designated Router Priority field, enter a priority to the FortiSwitch unit Designated Router (DR) candidacy.
    The value is compared to that of other DR interfaces connected to the same network segment, and the router having the highest DR priority is selected to be the DR. If two DR priority values are the same, the interface having the highest IP address is selected.
  6. In the Response Time (Seconds) field, enter the number of seconds between queries to IGMP hosts.
  7. In the Interval (Seconds) field, enter the maximum number of seconds to wait for an IGMP query response.
  8. Click Add.
Using the CLI:

config router multicast

config interface

edit {interface_name | internal | mgmt}

set pim-mode ssm-mode

set multicast-flow <string>

set hello-interval <1-180 seconds>

set dr-priority <1-4294967295>

config igmp

set query-max-response-time <1-25 seconds>

set query-interval <1-1800 seconds>

next

end

Checking the PIM configuration

Use the following commands to check your PIM configuration:

get router info multicast config

get router info multicast igmp {groups | sources | interface <interface_name> | join}

get router info multicast pim {neighbour | interface <interface_name>}