Command Line Reference
IP Multicast
PIM Configuration
54 min
show ip pim group type show ip pim group type \[command] show ip pim group type \[json] \[purpose] show the current multicast group address range for the pim ssm model \[view] system view \[use cases] sonic# show ip pim group type ssm group range 232 0 0 0/8 sonic# show ip pim group type json { "ssmgroups" "232 0 0 0\\/8" } show ip pim group type show ip pim group type \[command] show ip pim group type \[ group addres s ] \[purpose] show the pim mode of the multicast address \[parameter] parameter description group address multicast address \[view] system view \[use cases] sonic# show ip pim group type 224 1 1 1 group type asm sonic# show ip pim group type 232 1 1 1 group type ssm show ip pim interface show ip pim interface \[command] show ip pim interface \[ interface name | json | detail ] \[purpose] show the status information of the pim interface \[parameter] parameter description interface name interface name \[view] system view \[use cases] sonic# show ip pim interface interface state address pim nbrs pim dr fhr ifchannels ethernet49 up 20 1 1 2 1 local 0 0 loopback0 up 120 1 1 122 0 local 0 0 vlan1000 up 123 1 1 1 0 local 0 3 vlan4000 up 20 1 2 2 1 local 0 0 pimreg up 0 0 0 0 0 local 0 0 show ip pim interface traffic show ip pim interface traffic \[command] show ip pim interface traffic \[ interface name | json ] \[purpose] show the statistics of pim packets sent and received on the interface \[parameter] parameter description interface name interface name \[view] system view \[use cases] sonic# show ip pim interface traffic interface hello join prune register register stop assert bsm rx/tx rx/tx rx/tx rx/tx rx/tx rx/tx rx/tx \ ethernet49 2554/2558 0/1075 0/2 0/0 0/0 0/0 0/0 loopback0 0/3511 0/0 0/0 0/0 0/0 0/0 0/0 vlan1000 0/3511 0/0 0/0 0/0 0/0 0/0 0/0 vlan4000 2640/2643 0/30 0/17 0/0 0/0 0/0 0/0 show ip pim join show ip pim join \[command] show ip pim join \[ group1 address | group1 address group2 address | json ] \[purpose] show the multicast group information joined via pim join \[parameter] parameter description group1 address multicast address, when group2 address is specified, the value is the multicast group source address group2 address multicast address \[view] system view \[notes] if group1 address is specified, the display will be filtered to show only that multicast group address if group2 address is also specified, group1 address will be treated as the source (s) in the (s, g) entry, and group2 address will be treated as the group (g) for filtered display a state of join indicates that the entry was generated by a pim join message a state of noinfo indicates that the entry was not generated by locally received pim join messages this can be cross referenced with the ' show ip pim local membership ' command to determine whether the entry was generated by locally received igmp messages \[use cases] sonic# show ip pim join interface address source group state uptime expire prune vlan1000 123 1 1 1 12 1 1 1 225 1 3 1 noinfo vlan1000 123 1 1 1 12 1 1 1 225 1 3 2 noinfo vlan1000 123 1 1 1 12 1 1 1 225 1 3 3 noinfo sonic# sonic# show ip pim join 225 1 3 1 interface address source group state uptime expire prune vlan1000 123 1 1 1 12 1 1 1 225 1 3 1 noinfo sonic# sonic# show ip pim join 12 1 1 1 225 1 3 2 interface address source group state uptime expire prune vlan1000 123 1 1 1 12 1 1 1 225 1 3 2 noinfo show ip pim local membership show ip pim local membership \[command] show ip pim local membership \[json] \[purpose] show the local relationships of pim entries \[view] system view \[notes] a status of include indicates that the entry was generated by locally received igmp messages a status of noinfo indicates that the entry was not generated by locally received igmp messages in this case, you can use the ' show ip pim join ' command to check whether the entry was generated by pim join messages \[use cases] sonic# show ip pim local membership interface address source group membership vlan1000 123 1 1 1 12 1 1 1 225 1 3 1 include vlan1000 123 1 1 1 12 1 1 1 225 1 3 2 include vlan1000 123 1 1 1 12 1 1 1 225 1 3 3 include show ip pim neighbor show ip pim neighbor \[command] show ip pim neighbor \[ interface name | details | json ] \[purpose] show the neighbor relationships of the pim interface \[parameter] parameter description interface name interface name \[view] system view \[use cases] sonic# show ip pim neighbor interface neighbor uptime holdtime dr pri ethernet49 20 1 1 1 22 18 17 00 01 29 1 vlan4000 20 1 2 1 23 02 19 00 01 29 1 show ip pim rp info show ip pim rp info \[command] show ip pim rp info \[json] \[purpose] show rp information \[view] system view \[use cases] sonic# show ip pim rp info rp address group/prefix list oif i am rp source 120 1 1 159 225 1 0 0/16 vlan4000 no static show ip pim rpf show ip pim rpf \[command] show ip pim rpf \[json] \[purpose] show rpf interface information \[view] system view \[use cases] sonic# show ip pim rpf rpf cache refresh delay 50 msecs rpf cache refresh timer 0 msecs rpf cache refresh requests 50 rpf cache refresh events 48 rpf cache refresh last 22 32 33 nexthop lookups 813 nexthop lookups avoided 0 source group rpfiface rpfaddress ribnexthop metric pref 12 1 1 1 225 1 3 1 ethernet49 20 1 1 1 20 1 1 1 0 1 12 1 1 1 225 1 3 2 ethernet49 20 1 1 1 20 1 1 1 0 1 12 1 1 1 225 1 3 3 ethernet49 20 1 1 1 20 1 1 1 0 1 show ip pim upstream show ip pim upstream \[command] show ip pim upstream \[ group1 address | group1 address group2 address | json ] \[purpose] show the upstream interface status information of the (s, g) entry \[parameter] parameter description group1 address multicast address, when group2 address is specified, the value is the multicast group source address group2 address multicast address \[view] system view \[notes] if group1 address is specified, the display will be filtered to show only that multicast group address if group2 address is also specified, group1 address will be treated as the source (s) in the (s, g) entry, and group2 address will be treated as the group (g) for filtered display \[use cases] sonic# show ip pim upstream iif source group state uptime jointimer rstimer katimer refcnt ethernet49 12 1 1 1 225 1 3 1 j 02 18 47 00 00 12 1 ethernet49 12 1 1 1 225 1 3 2 j 02 18 47 00 00 12 1 ethernet49 12 1 1 1 225 1 3 3 j 02 18 47 00 00 12 1 show ip mroute show ip mroute \[command] show ip mroute \[ vrf { vrf name | all }] \[ fill | summary | json ] \[purpose] show the multicast routing table entries on the device \[parameter] parameter description vrf name vrf name fill view all fields of multicast group entries without hiding any information summary view the count of multicast routing entries \[view] system view \[use cases] sonic# show ip mroute ip multicast routing table flags s sparse, c connected, p pruned r sgrpt pruned, f register flag, t spt bit set source group flags proto input output ttl uptime 12 1 1 1 225 1 3 1 sct igmp ethernet49 vlan1000 1 02 34 14 12 1 1 1 225 1 3 2 sc igmp ethernet49 vlan1000 1 02 34 14 12 1 1 1 225 1 3 3 sct igmp ethernet49 vlan1000 1 02 34 14 120 1 1 122 224 1 0 2 static loopback0 ethernet49 1 23 09 17 show counters mroute show counters mroute \[command] show counters mroute \[ configured pattern source address group address ] \[ vrf vrf name ] \[purpose] show the statistics of multicast routing \[parameter] parameter description vrf name vrf name source address the source of multicast address group address multicast address \[view] system view \[use cases] sonic(config)# do show counters mroute mroute pattern vrf matched mroutes packets \ 120 1 1 122/32|224 1 1 123/32 default 120 1 1 122,224 1 1 123 0 show ip pim bsr show ip pim bsr \[command] show ip pim bsr \[candidate bsr | candidate rp | candidate rp database] \[vrf vrf name ] \[purpose] show c bsr/c rp configuration/status information \[parameter] parameter description candidate bsr s how the configuration/status information of the local c bsr candidate rp show the configuration/status information of the local c rp candidate rp database show the rp and multicast group mapping information sent by all c rps in the network this command should be executed on the bsr device vrf name vrf name \[view] system view \[comment] the bsr state machine includes the following states bsr elected(e‑bsr ) in the "active" state, actively generates bsms and manages rp set synchronization across the entire network pending elected(p‑bsr) in the "pending confirmation" state, waits for a timer to expire before becoming an e‑bsr, preventing frequent switching accept preferred(ap ) aware of the current active bsr, only accepts bsms from that bsr or from c bsrs with higher priority accept any(aa) unaware of the current active bsr, will accept the first received bsm as the new bsr identity and rp‑set source \[use cases] sonic# show ip pim bsr pimv2 bootstrap router information current preferred bsr address 10 1 1 2 priority fragment tag state uptime 200 8163 bsr elected 03 22 38 last bsm seen 00 00 51 sonic# sonic# show ip pim bsr candidate bsr candidate bsr address 10 1 1 2 priority 200 elected yes sonic# sonic# show ip pim bsr candidate rp candidate rp address 120 1 1 217 priority 192 next adv 9882 msec sonic# sonic# show ip pim bsr candidate rp database rp/group nht prio uptime hold 120 1 1 80 up 98 12117 144 \> 224 1 1 0/24 120 1 1 81 up 99 12117 143 \> 224 1 1 0/24 120 1 1 122 up 192 12117 143 120 1 1 217 up 192 409 141 \> 227 1 1 1/32 show ip pim bsrp info show ip pim bsrp info \[command] show ip pim bsrp info \[purpose] show bsr address information and aggregated rp service group range details \[view] system view \[use cases] sonic# show ip pim bsrp info bsr address 10 1 1 2 group address 224 1 1 0/24 \ rp address priority holdtime hash (active) 120 1 1 80 98 151 1767032558 120 1 1 81 99 151 663517313 (pending) pending rp count 0 partial list is empty group address 227 1 1 1/32 \ rp address priority holdtime hash (active) 120 1 1 217 192 151 1736522649 (pending) pending rp count 0 partial list is empty show ip pim bsm database show ip pim bsm database \[command] show ip pim bsm database \[purpose] show bsr/rp address information and aggregated rp service group range details \[view] system view \[use cases] sonic# sonic# show ip pim bsm database scope zone global number of the fragments 1 bsm fragment 1 \ bsr address bsr priority hashmask len fragment tag 10 1 1 2 200 30 56282 group 224 1 1 0/24 \ rp count 2 fragment rp count 2 rpaddress holdtime priority 120 1 1 80 151 98 120 1 1 81 151 99 group 227 1 1 1/32 \ rp count 1 fragment rp count 1 rpaddress holdtime priority 120 1 1 217 151 192 sonic# show ip pim bsr pimv2 bootstrap router information current preferred bsr address 10 1 1 2 priority fragment tag state uptime 200 56283 bsr elected 01 10 23 last bsm seen 00 00 07 show ip pim autorp show ip pim autorp \[command] show ip pim autorp \[candidate|discovery|mapping agent] \[purpose] show candidate rp and mapping agent status information in network autorp \[parameter] parameter description candidate show local candidate rp status and the covered multicast address ranges discovery show the rp and multicast address range mapping relationships learned by the local candidate rp mapping agent show the rp and multicast range information collected by the mapping agent \[view] system view \[use cases] sonic# show ip pim autorp autorp discovery is enabled discovered rp's (count=1) rp address group range 120 1 1 217 224 1 0 0/23 autorp announcement is enabled interval 10s scope 31 holdtime 30s candidate rp's (count=1) rp address group range prefix list 120 1 1 217 224 1 0 0/23 autorp mapping agent is disabled sonic# sonic# show ip pim autorp candidate autorp announcement is enabled interval 10s scope 31 holdtime 30s candidate rp's (count=1) rp address group range prefix list 120 1 1 217 224 1 0 0/23 sonic# sonic# show ip pim autorp discovery autorp discovery is enabled discovered rp's (count=1) rp address group range 120 1 1 217 224 1 0 0/23 sonic# sonic# show ip pim autorp mapping agent autorp mapping agent is enabled interval 10s scope 31 holdtime 180s source 20 1 1 2 (interface ethernet11) advertised rp's (count=1) rp address group range 120 1 1 217 224 1 0 0/23 sonic counter mroute enable counter mroute enable \[command] counter mroute enable no counter mroute enable \[purpose] globally enable the multicast routing statistics function \[view] system configuration view \[use cases] sonic(config)# counter mroute enable counter mroute pattern counter mroute pattern \[command] counter mroute pattern source address group address vrf vrf name no counter mroute pattern source address group address vrf vrf name \[purpose] enable the statistics function for multicast routing entries \[parameter] parameter description vrf name vrf name source address the source of multicast address group address multicast address \[view] system configuration view \[use cases] sonic(config)# counter mroute pattern 1 1 1 0/24 224 1 1 1/32 vrf default counter mroute poll interval counter mroute poll interval \[command] counter mroute poll interval interval no counter mroute poll interval interval \[purpose] configure the statistics update interval for multicast routing entries \[parameter] parameter description interval value range 1000 30000, unit\ ms, default 10000 \[view] system configuration view \[use cases] sonic(config)# counter mroute poll interval 1000 ip pim rp ip pim rp \[command] ip pim rp a b c d \[ a b c d/m | prefix list prefix name ] no ip pim rp a b c d \[ a b c d/m | prefix list prefix name ] \[purpose] statically configure the multicast rp address \[parameter] parameter description a b c d rp address a b c d/m the multicast address range covered by the rp prefix name prefix list name configure a prefix list to covere the rp corresponding to multicast groups \[view] system configuration view \[use cases] sonic(config)# ip pim rp 120 1 1 159 225 1 0 0/16 ip pim join prune interval ip pim join prune interval \[command] ip pim join prune interval interval no ip pim join prune interval interval \[purpose] configure the join/prune interval \[parameter] parameter description interval value range 1 65535, unit\ second, default 60s \[view] system configuration view \[notes] the default join/prune interval is 60 seconds the default aging cycle for pim entries is 3 5 times the join/prune interval, which is 210 seconds \[use cases] sonic(config)# ip pim rp 120 1 1 159 225 1 0 0/16 ip pim register accept list ip pim register accept list \[command] ip pim register accept list prefix name no ip pim register accept list prefix name \[purpose] when pim receives a registration packet, the source address of the packet will be compared against the specified prefix list if the comparison passes, the packet will continue to be processed normally if the source address of the registration packet is denied (rejected), a register stop message will be sent to the source \[parameter] parameter description prefix name 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 \[command] ip pim register suppress time interval no ip pim register suppress time interval \[purpose] configure the source registration suppression timer when the timer expires, the rp will send a register stop message to the source's dr \[parameter] parameter description interval value range 1 65535, unit\ second, default 60s \[view] system configuration view \[use cases] sonic(config)# ip pim register suppress time 60 clear ip mroute clear ip mroute \[command] clear ip mroute \[ vrf vrf name | count ] \[purpose] clear dynamically generated mroute entries / clear the statistics of mroute entries \[parameter] parameter description vrf name vrf name \[view] system configuration view \[use cases] sonic# clear ip mroute ip pim ip pim \[command] ip pim \[ hello interval |drpriority priority |use source a b c d ] no ip pim \[ hello interval |drpriority priority |use source a b c d ] \[purpose] enable the pim function on the layer 3 interface \[parameter] parameter description interval value range 1 65535, default 30 priority value rangel 1 65535, default 1 a b c d specify the source ip address for pim hello packet \[view] interface view,vlanif view,lagif view,loopback view \[use cases] sonic(config vlanif 1000)# ip pim multicast enable multicast enable \[command] multicast enable no multicast enable \[purpose] enable multicast routing and forwarding on the layer 3 interface \[view] interface view,vlanif view,lagif view,loopback view \[use cases] sonic(config vlanif 1000)# multicast enable ip mroute ip mroute \[command] ip mroute {ethernet interface id |vlan vlan id | link aggregation lag id } a b c d \[ source address ] no ip mroute {ethernet interface id |vlan vlan id |link aggregation lag id } a b c d \[ source address ] \[purpose] configure static mroute entries \[parameter] parameter description interface id specify the interface id as the outbound interface for the mroute vlan id specify the vlan id as the outbound interface for the mroute lag id specify the lag id as the outbound interface for the mroute a b c d multicast address source address the source of multicast address \[view] interface view,vlanif view,lagif view,loopback view \[notes] when configuring static multicast routing entries, ensure that both the inbound and outbound interfaces have pim enabled \[use cases] sonic(config vlanif 1000)# ip mroute ethernet 1 224 1 1 1 120 1 1 122 unknown multicast trap unknown multicast trap \[command] unknown multicast trap no 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 host proxy ip igmp host proxy \[command] ip igmp host proxy no ip igmp host proxy \[purpose] enabling this function under the interface allows the layer 3 multicast routing table entries to be converted into igmp report messages as a response \[view] interface view,vlanif view,lagif view \[use cases] sonic(config)# interface vlan 1000 sonic(config vlanif 1000)# ip igmp host proxy ip pim bsr candidate bsr priority ip pim bsr candidate bsr priority \[command] ip pim bsr candidate bsr priority priority id source {interface {ethernet interface id | vlan vlan id | link aggregation lag id | loopback loopback id } | address a b c d } no ip pim bsr candidate bsr priority priority id source {interface {ethernet interface id | vlan vlan id | link aggregation lag id | loopback loopback id } | address a b c d } \[purpose] enable dynamic rp in bsr mode, and configure the priority and ip address of the c bsr \[parameter] parameter description priority id specify the priority of the c bsr range 0–255, default is 64; a higher value indicates higher priority interface id specify a layer3 physical interface as the ip address of the c bsr vlan id specify a vlanif interface as the ip address of the c bsr lag id specify an aggregate group interface as the ip address of the c bsr loopback id specify a loopback interface as the ip address of the c bsr a b c d specify a specific address as the ip address of the c bsr \[view] system configuration view \[comment] when using dynamic rp in bsr mode in a pim network, each c bsr in the network participates in electing the bsr the candidate with the higher priority wins; if priorities are equal, the one with the larger ip address wins for stability, it is recommended to use a loopback interface as the ip address of the c bsr \[use cases] sonic(config)# ip pim bsr candidate bsr priority 200 source interface vlan 9 ip pim bsr candidate rp priority ip pim bsr candidate rp priority \[command] ip pim bsr candidate rp priority priority id source {interface {ethernet interface id | vlan vlan id | link aggregation lag id | loopback loopback id } | address a b c d } interval interval no ip pim bsr candidate rp priority priority id source {interface {ethernet interface id | vlan vlan id | link aggregation lag id | loopback loopback id } | address a b c d }interval interval \[purpose] enable dynamic rp in bsr mode, and configure the priority, ip address, and advertisement interval of the c rp \[parameter] parameter description priority id specify the priority of the c bsr range 0–255, default is 192; a lower value indicates higher priority interface id specify a layer3 physical interface as the ip address of the c bsr vlan id specify a vlanif interface as the ip address of the c bsr lag id specify an aggregate group interface as the ip address of the c bsr loopback id specify a loopback interface as the ip address of the c bsr a b c d specify a specific address as the ip address of the c bsr interval configure the advertisement interval for c rp messages range 1–4,294,967,295 seconds, default is 60 seconds \[view] system configuration view \[comment] when using dynamic rp in bsr mode in a pim network, each c rp device periodically sends advertisement messages to the bsr these messages include the c rp address, the group range it serves, and the c rp priority the bsr aggregates the rp information and distributes it to every pim device in the network each pim device then uses the same rules to calculate and compare, selecting the optimal rp for a specific group from multiple candidate c rps election rules the c rp serving the group with the longest mask wins if masks are equal, the c rp with the smaller priority value wins if priorities are equal, a hash function is computed, and the candidate with the larger result wins (the hash result can be viewed using the show ip pim bsrp info command) if hash results are equal, the c rp with the larger ip address wins hash formula value(g,ci,m) = (1103515245 ((1103515245 (g\&m)+ 12345) xor ci)+ 12345) mod 2^31g is the group address, m is the hash mask length of the bsr device, ci is the rp’s ip address for stability, it is recommended to use a loopback interface as the ip address of the c rp \[use cases] sonic(config)# ip pim bsr candidate rp priority 100 source interface loopback 0 interval 10 ip pim bsr candidate rp group ip pim bsr candidate rp group \[command] ip pim bsr candidate rp group a b c d/m no ip pim bsr candidate rp group a b c d/m \[purpose] enable enable dynamic rp in bsr mode, configure the multicast group range served by the c rp multiple ranges can be configured \[parameter] parameter description a b c d/m multicast group address range \[view] system configuration view \[use cases] sonic(config)# ip pim bsr candidate rp group 239 1 1 0/24 ip pim autorp discovery ip pim autorp discovery \[command] ip pim autorp discovery no ip pim autorp discovery \[purpose] enable dynamic rp mode as autorp \[view] system configuration view \[use cases] sonic(config)# ip pim autorp discovery ip pim autorp announce ip pim autorp announce \[command] ip pim autorp autorp announce x x x x { a b c d/m |group list prefix list } no ip pim autorp announce x x x x \[purpose] configure the multicast address range covered by the candidate rp and the ip address of the candidate rp in autorp mode \[parameter] parameter description x x x x ip address of the candidate rp a b c d/m multicast group address range covered by the candidate rp prefix list the candidate rp can be associated with a prefix‑list to cover multiple multicast group address ranges \[view] system configuration view \[comment] when configuring a specific multicast group address for the candidate rp, only one multicast group address can be specified if the candidate rp needs to cover multiple multicast group address ranges, the prefix‑list method can be used for association it is recommended to configure the candidate rp address as a loopback address since autorp announce messages (224 1 0 39) are non‑protocol packets (ordinary multicast packets), the device must enable the unknown‑multicast trap function \[use cases] sonic(config)# ip pim autorp announce 120 1 1 217 224 1 0 0/23 ip pim autorp announce interval ip pim autorp announce interval \[command] ip pim autorp announce interval interval \[holdtime holdtime | scope ttl ] no ip pim autorp announce interval interval \[holdtime holdtime | scope ttl ] \[purpose] configure the interval, holdtime, and ttl value for announce messages in autorp mode \[parameter] parameter description interval interval for the candidate rp to send announce messages default 60 seconds range 1‑65535 holdtime holdtime for the candidate rp announce default 180 seconds range 1‑65535 ttl ttl value for the candidate rp announce message default 31 range 1‑255 \[view] system configuration view \[comment] to ensure network stability in autorp, it is recommended to set holdtime to more than 3 times the interval \[use cases] sonic(config)# ip pim autorp announce interval 10 holdtime 30 scope 10 ip pim autorp send rp discovery source \[command] ip pim autorp send rp discovery source {address x x x x | interface {ethernet interface id | vlan vlan id | link aggregation lag id | loopback loopback id }} no ip pim autorp send rp discovery source {address x x x x | interface {ethernet interface id | vlan vlan id | link aggregation lag id | loopback loopback id }} \[purpose] configure the mapping agent ip address in autorp mode \[parameter] parameter description x x x x specify the ip address of the mapping agent interface id specify the mapping agent as an interface vlan id specify the mapping agent as a vlan interface lag id specify the mapping agent as a lag interface loopback id specify the mapping agent as a loopback interface \[comment] for the same multicast group range, if the mapping agent receives announce messages from multiple candidate rps, it will select the rp with the largest ip address since autorp mapping messages (224 1 0 40) are non protocol packets (ordinary multicast packets), the device must enable the unknown multicast trap function \[use cases] sonic(config)# ip pim autorp send rp discovery source interface ethernet 11 ip pim autorp send rp discovery interval ip pim autorp send rp discovery interval \[command] ip pim autorp send rp discovery interval interval \[holdtime holdtime | scope ttl ] ip pim autorp send rp discovery interval interval \[holdtime holdtime | scope ttl ] \[purpose] configure the interval, holdtime, and ttl value for mapping agent advertisement messages in autorp mode \[parameter] parameter description interval interval for the mapping agent to send mapping messages default 60 seconds range 1‑65535 holdtime holdtime for the mapping agent rp mapping group default 180 seconds range 1‑65535 ttl ttl value for the mapping agent mapping message default 31 range 1‑255 \[view] system configuration view \[comment] to ensure network stability in autorp, it is recommended to set holdtime to more than 3 times the interval \[use cases] sonic(config)# ip pim autorp send rp discovery interval 10 holdtime 30 scope 10
