Command Line Reference
IP Multicast Configuration
75 min
feature enable feature enable mcast snooping enable mcast snooping enable \[command] mcast snooping enable \[purpose] enable multicast functionality \[view] system configuration view \[notes] the multicast container is disabled by default if the device needs to perform multicast data forwarding and learning, this command must be issued in advance \[use cases] sonic(config)# mcast snooping enable igmp snooping configuration igmp snooping configuration s how vlan igmp snooping how vlan igmp snooping \[command] show vlan igmp snooping \[purpose] display igmp snooping information \[view] system view \[use cases] sonic# show vlan igmp snooping show vlan igmp snooping mrouter show vlan igmp snooping mrouter \[command] show vlan igmp snooping mrouter \[purpose] display igmp snooping router port information \[view] system view \[use cases] sonic# show vlan igmp snooping mrouter show vlan igmp snooping mvlan show vlan igmp snooping mvlan \[command] show vlan igmp snooping mvlan \[purpose] display vlan to multicast vlan binding \[view] system view \[use cases] sonic# show vlan igmp snooping mvlan igmp snooping enable igmp snooping enable \[command] igmp snooping enable \[purpose] enable igmp snooping for the vlan \[view] vlan view \[notes] the igmp snooping function operates on the layer 2 switching network between the router and user terminals it maintains the multicast forwarding table by listening to multicast protocol messages sent from the router and user terminals, thereby enabling multicast packets to be broadcast between designated interfaces within the vlan \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping enable igmp snooping version igmp snooping version 1 3 \[command] igmp snooping version 1 3 \[purpose] configure igmp version \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping version 3 mcast snooping group limit ethernet mcast snooping group limit ethernet interface name limit \[command] mcast snooping group limit ethernet interface name limit \[purpose] set the maximum number of multicast entries that the interface can accommodate \[parameter] parameter description interface name interface name limit value range 1–4094 \[view] vlan view \[notes] after modifying the maximum number of entries an interface can learn, any entries exceeding the limit will be learned into the igmp process memory space but will not be installed (i e , not delivered to hardware) additionally, these entries will not be relearned within their aging cycle \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mcast snooping group limit ethernet 10 4094 igmp snooping proxy enable igmp snooping proxy enable \[command] igmp snooping proxy enable \[purpose] enable igmp snooping proxy \[view] vlan view \[notes] after enabling the igmp snooping proxy function, the device can send igmp query messages on behalf of the router and receive igmp report/leave messages from users, thereby reducing the load on the routing device when a large number of terminals exist in the network \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping proxy enable igmp snooping querier enable igmp snooping querier enable \[command] igmp snooping querier enable \[purpose] enable igmp querier functionality \[view] vlan view \[notes] configuring the querier on the device allows it to send igmp query messages on behalf of the upstream device the device will periodically send igmp query packets to all interfaces (including router ports) within the vlan if an igmp querier already exists in the multicast network, this may trigger a re election of the igmp querier \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping querier enable igmp snooping querier ip igmp snooping querier ip ip address \[command] igmp snooping querier ip ip address \[purpose] configure the source ip address of igmp query packets \[view] vlan view \[notes] when multiple queriers exist within the network, the selection of the querier can be controlled by modifying the ip address of the device's query packets \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping querier enable sonic(config vlan 100)# igmp snooping querier ip 10 1 0 10 i gmp snooping fast leave enable gmp snooping fast leave enable \[command] igmp snooping fast leave enable \[purpose] enable fast leave for member ports \[view] vlan view \[notes] when an igmp leave message is received from a host leaving a specific multicast group, the device will immediately delete the corresponding multicast forwarding entry for that host without sending a group specific query \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping fast leave enable igmp snooping robustness igmp snooping robustness 1 255 \[command] igmp snooping robustness 1 255 \[purpose] configure the robustness variable \[view] vlan view \[notes] this command adjusts robustness in the following two ways it adjusts the number of group specific query messages sent by the querier to avoid potential network packet loss when an igmp leave message for a multicast group is received from a user, the querier sends the configured number of group specific query messages to inquire whether any members remain in that multicast group it adjusts the member aging time after a port receives a report message from a downstream host, it sets the member aging time as (number of group specific query messages × general query interval) + maximum response time for downstream hosts to reply to the querier \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping robustness 100 igmp snooping query interval igmp snooping query interval 1 18000 \[command] igmp snooping query interval 1 18000 \[purpose] configure the interval at which the device sends general query messages \[parameter] parameter description 1 18000 unit seconds (s); default value 125 s \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping query interval 200 igmp snooping query max response time igmp snooping query max response time 1 25 \[command] igmp snooping query max response time 1 25 \[purpose] configure the maximum response time for query messages \[parameter] parameter description 1 25 unit seconds (s); default value 10 s \[view] vlan view \[notes] ensure that the general query interval is greater than the maximum response time for downstream hosts to reply to the querier; otherwise, the device may incorrectly delete member entries \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping query max response time 10 igmp snooping last member query interval igmp snooping last member query interval 100 25500 \[command] igmp snooping last member query interval 100 25500 \[purpose] configure the interval for the querier to send group specific query messages \[parameter] parameter description 100 25500 unit milliseconds (ms); default value 1000 ms \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping last member query interval 2000 igmp snooping mrouter aging igmp snooping mrouter aging 1 1000 \[command] igmp snooping mrouter aging 1 1000 \[purpose] configure the dynamic router port aging time within a vlan \[parameter] parameter description 1 1000 unit seconds ; default value 180 s \[view] vlan view \[notes] if no igmp query or pim hello message is received within the dynamic router port aging time, the port will no longer be considered a router port \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping mrouter aging 10 igmp snooping mrouter ethernet igmp snooping mrouter ethernet interface name \[command] igmp snooping mrouter ethernet interface name \[purpose] configure the interface as a static router port for the vlan \[parameter] parameter description interface name interface name \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# igmp snooping mrouter ethernet 10 igmp snooping mvlan igmp snooping mvlan multicast vlan user vlan \[command] igmp snooping mvlan multicast vlan user vlan \[purpose] configure multicast vlan \[parameter] parameter description multicast vlan multicast vlan user vlan user vlan(s), which can be configured individually with commas separating discrete values or as a continuous range using a hyphen \[view] system configuration view \[notes] when users in different vlans need to receive data from the same multicast source, the device must replicate the data stream for each vlan in this scenario, efficient forwarding can be achieved by configuring a multicast vlan configure the vlans where the users reside as user vlans, and configure the vlan to which the router interface belongs as the multicast vlan data is then unidirectionally replicated from the multicast vlan to each user vlan this configuration takes effect only when igmp snooping is enabled in both the multicast vlan and the user vlans \[use cases] sonic(config)# igmp snooping mvlan 100 200,201 mld snooping configuration mld snooping configuration show vlan mld snooping show vlan mld snooping \[command] show vlan mld snooping \[purpose] display mld snooping information \[view] system view \[use cases] sonic# show vlan mld snooping show vlan mld snooping mrouter show vlan mld snooping mrouter \[command] show vlan mld snooping mrouter \[purpose] display mld snooping router port information \[view] system view \[use cases] sonic# show vlan mld snooping mrouter show vlan mld snooping mvlan show vlan mld snooping mvlan \[command] show vlan mld snooping mvlan \[purpose] display vlan to multicast vlan binding \[view] system view \[use cases] sonic# show vlan mld snooping mvlan mld snooping enable mld snooping enable \[command] mld snooping enable \[purpose] enable mld snooping for the vlan \[view] system view \[notes] the mld snooping function operates on the layer 2 switching network between the router and user terminals it maintains the multicast forwarding table by listening to ipv6 multicast protocol messages sent from the router and user terminals, thereby enabling multicast packets to be broadcast between designated interfaces within the vlan \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping enable mld snooping version mld snooping version 1 2 \[command] mld snooping version 1 2 \[purpose] configure mld version \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping version 2 mld snooping proxy enable mld snooping proxy enable \[command] mld snooping proxy enable \[purpose] enable mld snooping proxy \[view] vlan view \[notes] after enabling the mld snooping proxy function, the device can send mld query messages on behalf of the router and receive igmp report/leave messages from users, thereby reducing the load on the routing device when a large number of terminals exist in the network \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping proxy enable mld snooping querier enable mld snooping querier enable \[command] mld snooping querier enable \[purpose] enable mld querier functionality \[view] vlan view \[notes] configuring the querier on the device allows it to send mld query messages on behalf of the upstream device the device will periodically send mld query packets to all interfaces (including router ports) within the vlan if an mld querier already exists in the multicast network, this may trigger a re election of the mld querier \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping querier enable m m ld snooping querier ip ld snooping querier ip ipv6 address \[command] mld snooping querier ip ipv6 address \[purpose] configure the source ipv6 address of mld query packets \[view] vlan view \[notes] when multiple queriers exist within the network, the selection of the querier can be controlled by modifying the ipv6 address of the device's query packets \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping querier enable sonic(config vlan 100)# mld snooping querier ip 1000 1 mld snooping fast leave enable mld snooping fast leave enable \[command] mld snooping fast leave enable \[purpose] enable fast leave for member ports \[view] vlan view \[notes] when an mld leave message is received from a host leaving a specific multicast group, the device will immediately delete the corresponding multicast forwarding entry for that host without sending a group specific query \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping fast leave enable mld snooping robustness mld snooping robustness 1 255 \[command] mld snooping robustness 1 255 \[purpose] configure the robustness variable \[view] vlan view \[notes] this command adjusts robustness in the following two ways it adjusts the number of group specific query messages sent by the querier to avoid potential network packet loss when an mld leave message for a multicast group is received from a user, the querier sends the configured number of group specific query messages to inquire whether any members remain in that multicast group it adjusts the member aging time after a port receives a report message from a downstream host, it sets the member aging time as (number of group specific query messages × general query interval) + maximum response time for downstream hosts to reply to the querier \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping robustness 100 mld snooping query interval mld snooping query interval 1 18000 \[command] mld snooping query interval 1 18000 \[purpose] configure the interval at which the device sends general query messages \[parameter] parameter description 1 18000 unit seconds (s); default value 125 s \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping query interval 200 mld snooping query max response time mld snooping query max response time 1 25 \[command] mld snooping query max response time 1 25 \[purpose] configure the maximum response time for query messages \[parameter] parameter description 1 25 unit seconds (s); default value 10 s \[view] vlan view \[notes] ensure that the general query interval is greater than the maximum response time for downstream hosts to reply to the querier; otherwise, the device may incorrectly delete member entries \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping query max response time 10 mld snooping last member query interval mld snooping last member query interval 100 25500 \[command] mld snooping last member query interval 100 25500 \[purpose] configure the interval for the querier to send group specific query messages \[parameter] parameter description 100 25500 unit milliseconds (ms); default value 1000 ms \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping last member query interval 2000 mld snooping mrouter aging mld snooping mrouter aging 1 1000 \[command] mld snooping mrouter aging 1 1000 \[purpose] configure the dynamic router port aging time within a vlan \[parameter] parameter description 1 1000 unit seconds ; default value 180 s \[view] vlan view \[notes] if no mld query or pim hello message is received within the dynamic router port aging time, the port will no longer be considered a router port \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping mrouter aging 10 mld snooping mrouter ethernet mld snooping mrouter ethernet interface name \[command] mld snooping mrouter ethernet interface name \[purpose] configure the interface as a static router port for the vlan \[parameter] parameter description interface name interface name \[view] vlan view \[use cases] sonic(config)# vlan 100 sonic(config vlan 100)# mld snooping mrouter ethernet 10 mld snooping mvlan mld snooping mvlan multicast vlan user vlan \[command] mld snooping mvlan multicast vlan user vlan \[purpose] configure multicast vlan \[parameter] parameter description multicast vlan multicast vlan user vlan user vlan(s), which can be configured individually with commas separating discrete values or as a continuous range using a hyphen \[view] system configuration view \[notes] when users in different vlans need to receive data from the same multicast source, the device must replicate the data stream for each vlan in this scenario, efficient forwarding can be achieved by configuring a multicast vlan configure the vlans where the users reside as user vlans, and configure the vlan to which the router interface belongs as the multicast vlan data is then unidirectionally replicated from the multicast vlan to each user vlan this configuration takes effect only when mld snooping is enabled in both the multicast vlan and the user vlans \[use cases] sonic(config)# mld snooping mvlan 100 200,201 l2 multicast table l2 multicast table show l2 multicast table show l2 multicast table \[command] show l2 multicast table \[purpose] display multicast address information \[view] system view \[use cases] sonic# show l2 multicast table interface l2mc static group ethernet interface l2mc static group ethernet interface name vlan id ip/ipv6 address \[command] interface l2mc static group ethernet interface name vlan id ip/ipv6 address \[purpose] statically join a multicast group on the interface \[parameter] parameter description interface name interface name vlan id vlan id of the interface ip/ipv6 address multicast group address to be statically joined on the interface \[view] system configuration view \[use cases] sonic(config)# interface l2mc static group ethernet 1 100 224 1 1 1 pim configuration pim configuration show ip pim group type \[ show ip pim group type \[ group address ] \[ json ] \[command] show ip pim group type \[ group address ] \[ json ] \[purpose] display pim mode information \[parameter] parameter description group address imulticast group address json output in json format \[view] system view \[use cases] sonic# show ip pim group type show ip pim interface \[\[ show ip pim interface \[\[ detail \[ json ]] |\[ json ] |\[ traffic \[ json ]] |\[ interface name \[ json ]]] \[command] show ip pim interface \[\[ detail \[ json ]] |\[ json ] |\[ traffic \[ json ]] |\[ interface name \[ json ]]] \[purpose] display pim interface status information \[parameter] parameter description detail detailed information traffic pim packet statistics interface name interface name json output in json format \[view] system view \[use cases] sonic# sonic# show ip pim interface show ip pim join \[ show ip pim join \[ group1 address \[ json ]| group1 address group2 address \[ json ]| \[ json ]] \[command] show ip pim join \[ group1 address \[ json ]| group1 address group2 address \[ json ]| \[ json ]] \[purpose] display multicast group information learned via pim join \[parameter] parameter description group1 address multicast group ip address group2 address multicast group ip address json output in json format \[view] system view \[notes] if group1 address is specified, the display is filtered to show only that multicast address if group2 address is also specified, group1 address is treated as the source (s) in an (s,g) entry, and group2 address as the group (g) for filtered display a state of join indicates the entry was generated by a received pim join message a state of noinfo indicates the entry was not generated by a pim join message received locally \[use cases] sonic# show ip pim join show ip pim local membership \[ show ip pim local membership \[ json ] \[command] show ip pim local membership \[ json ] \[purpose] display the locally generated relationship of pim entries \[parameter] parameter description json output in json format \[view] system view \[notes] a state of include indicates that the entry was generated locally by receiving an igmp message a state of noinfo indicates that the entry was not generated locally by receiving an igmp message \[use cases] sonic# show ip pim local membership show ip pim neighbor \[ show ip pim neighbor \[ detail \[ json ]| json | interface name ] \[command] show ip pim neighbor \[ detail \[ json ]| json | interface name ] \[purpose] display pim interface neighbor relationships \[parameter] parameter description detail view detailed information of pim neighbors interface name display pim neighbor information for a specific interface json output in json format \[view] system view \[use cases] sonic# show ip pim neighbor show ip pim rp info \[ show ip pim rp info \[ json ] \[command] show ip pim rp info \[ json ] \[purpose] display rp information \[parameter] parameter description json output in json format \[view] system view \[use cases] sonic# show ip pim rp info show ip pim rpf \[ show ip pim rpf \[ json ] \[command] show ip pim rpf \[ json ] \[purpose] display rpf interface status information \[parameter] parameter description json output in json format \[view] system view \[use cases] sonic# show ip pim rpf show ip pim upstream \[ show ip pim upstream \[ group1 address \[ json ]| group1 address group2 address \[ json ]| \[ json ]] \[command] show ip pim upstream \[ group1 address \[ json ]| group1 address group2 address \[ json ]| \[ json ]] \[purpose] display the upstream interface status information for (s,g) entries \[parameter] parameter description group1 address multicast group ip address group2 address multicast group ip address json output in json format \[view] system view \[notes] if group1 address is specified, the display is filtered to show only that multicast address if group2 address is also specified, group1 address is treated as the source (s) in an (s,g) entry, and group2 address as the group (g) for filtered display \[use cases] sonic# show ip pim upstream show ip pim mroute \[ show ip pim mroute \[ vrf { all | vrf name }| fill \[ json ]| summary \[ json ]] \[command] show ip pim mroute \[ vrf { all | vrf name }| fill \[ json ]| summary \[ json ]] \[purpose] display multicast routing table \[parameter] parameter description vrf name vrf name fill display all multicast group entry fields in full, with no truncation summary display the number of multicast routing entries json output in json format \[view] system view \[use cases] sonic# show ip mroute summary ip pim \[drpriority ip pim \[drpriority priority | hello interval |use source ip address ] \[command] ip pim \[drpriority priority | hello interval |use source ip address ] \[purpose] enable pim functionality on the layer 3 interface \[parameter] parameter description priority set the pim interface priority ,value range 1 65535 interval set the pim hello message interval, value range 1 65535 ip address specify the source ip address for pim hello messages \[view] interface view \[use cases] sonic(config)# interface ethernet 10 sonic(config if 10)# ip pim ip pim rp ip pim rp a b c d \[ a b c d/m | prefix list prefix list name ] \[command] ip pim rp a b c d \[ a b c d/m | prefix list prefix list name ] \[purpose] configure static rp \[parameter] parameter description a b c d srp address a b c d/m multicast address range covered by the rp prefix list name prefix list name, configured to control the rp corresponding to multicast groups using a prefix list \[view] system configuration view \[use cases] sonic(config)# ip pim rp 1 1 1 1 224 10 10 0/24 ip pim join prune interval ip pim join prune interval interval \[command] ip pim join prune interval interval \[purpose] configure join/prune interval period \[parameter] parameter description interval interval period, default 60 seconds, unit seconds, valid range 1 65535 \[view] system configuration view \[use cases] sonic(config)# ip pim join prune interval 60 ip pim register accept list ip pim register accept list prefix name \[command] ip pim register accept list prefix name \[purpose] when pim receives a register packet, the packet's source will be compared against the specified prefix list if the comparison passes, normal processing continues if the source address of the register packet is denied by the prefix list, a register stop message is sent to the source \[parameter] parameter description prefix name prefix list name \[view] system configuration view \[use cases] sonic(config)# ip pim register accept list test ip pim register suppress time ip pim register suppress time interval \[command] ip pim register suppress time interval \[purpose] configure the source registration suppression timer when the timer expires, the rp sends a register stop message to the source dr \[parameter] parameter description interval registration suppression time default 60 seconds, unit seconds, range 1 65535 \[view] system configuration view \[use cases] sonic(config)# ip pim register suppress time 60 clear ip mroute \[vrf clear ip mroute \[vrf vrf name | count] \[command] clear ip mroute \[vrf vrf name | count] \[purpose] clear dynamically generated multicast routing entries / clear multicast routing entry statistics \[parameter] parameter description vrf name vrf name \[view] system view \[use cases] sonic# clear ip mroute ip mroute {ethernet ip mroute {ethernet interface id |vlan vlan id |link aggregation lag id } a b c d \[ source address ] \[command] ip mroute {ethernet interface id |vlan vlan id |link aggregation lag id } a b c d \[ source address ] \[purpose] configure static multicast route \[parameter] parameter description interface id specify the interface id as the egress interface for the mroute vlan id specify the vlan id as the egress interface for the mroute lag id specify the lag id as the egress interface for the mroute a b c d multicast group address source address multicast source address \[view] interface view \[use cases] sonic(config)# interface ethernet 10 sonic(config if 10)# ip mroute ethernet 1 224 1 1 1 120 1 1 122 unknown multicast trap unknown multicast trap \[command] unknown multicast trap \[purpose] configure unknown multicast packets to be sent to the cpu \[view] system configuration view \[use cases] sonic(config)# unknown multicast trap ip igmp \[join ip igmp \[join a b c d \[ a b c d ]|last member query interval interval | last member query count count | query interval interval | query max response time interval | version version number ] \[command] ip igmp \[join a b c d \[ a b c d ]|last member query interval interval | last member query count count | query interval interval | query max response time interval | version version number ] \[purpose] configure the igmp function for the member side dr \[parameter] parameter description a b c d multicast group address a b c d multicast source address interval query interval, range 1 65535 count query count, range 1 255 interval general query message interval, range 1 1800 interval maximum response time for query messages, range 10 250 version number version number, range 2 3 \[view] interface view \[use cases] sonic(config)# interface ethernet 10 sonic(config if 10)# ip igmp
