User Tools

Site Tools


documentation:examples:multicast_with_pim-sm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
documentation:examples:multicast_with_pim-sm [2017/06/26 00:24] – external edit 127.0.0.1documentation:examples:multicast_with_pim-sm [2025/10/02 17:52] (current) – [PIM neighbors] olivier
Line 1: Line 1:
 ====== Multicast with PIM-SM ====== ====== Multicast with PIM-SM ======
  
-This lab show a multicast routing example using BSDRP 1.59 (FreeBSD 10.2 and [[https://github.com/troglobit/pimd|pimd]] 2.3.2).+This lab show a multicast routing example using PIM in Sparse Mode.
  
 ===== Presentation ===== ===== Presentation =====
Line 21: Line 21:
 More information on these BSDRP lab scripts available on [[documentation:examples:How to build a BSDRP router lab]]. More information on these BSDRP lab scripts available on [[documentation:examples:How to build a BSDRP router lab]].
  
-Start the lab with 4 routers simulating an e1000 NIC (vtnet interface and they didn't support mcast routing on FreeBSD):+Start the lab with 4 routers:
 <code> <code>
-BSDRP-lab-bhyve.sh -n 4 -e -i BSDRP-1.702-full-amd64-serial.img.xz +tools/BSDRP-lab-bhyve.sh -n 4 -i BSDRP-2.0-full-amd64.img.xz 
-BSD Router Project (http://bsdrp.net) - bhyve full-meshed lab script+BSD Router Project (https://bsdrp.net) - bhyve full-meshed lab script
 Setting-up a virtual lab with 4 VM(s): Setting-up a virtual lab with 4 VM(s):
-- Working directory: /tmp/BSDRP +- Working directory: /home/olivier/BSDRP-VMs 
-- Each VM have core(s) and 256M RAM +- Each VM has a total of 1 (1 cores and 1 threads) and 1G RAM 
-- Emulated NIC: e1000+- Emulated NIC: virtio-net 
 +- Boot mode: UEFI
 - Switch mode: bridge + tap - Switch mode: bridge + tap
 - 0 LAN(s) between all VM - 0 LAN(s) between all VM
 - Full mesh Ethernet links between each VM - Full mesh Ethernet links between each VM
-VM 1 have the following NIC:+VM 1 has the following NIC:
 - vtnet0 connected to VM 2 - vtnet0 connected to VM 2
 - vtnet1 connected to VM 3 - vtnet1 connected to VM 3
 - vtnet2 connected to VM 4 - vtnet2 connected to VM 4
-VM 2 have the following NIC:+VM 2 has the following NIC:
 - vtnet0 connected to VM 1 - vtnet0 connected to VM 1
 - vtnet1 connected to VM 3 - vtnet1 connected to VM 3
 - vtnet2 connected to VM 4 - vtnet2 connected to VM 4
-VM 3 have the following NIC:+VM 3 has the following NIC:
 - vtnet0 connected to VM 1 - vtnet0 connected to VM 1
 - vtnet1 connected to VM 2 - vtnet1 connected to VM 2
 - vtnet2 connected to VM 4 - vtnet2 connected to VM 4
-VM 4 have the following NIC:+VM 4 has the following NIC:
 - vtnet0 connected to VM 1 - vtnet0 connected to VM 1
 - vtnet1 connected to VM 2 - vtnet1 connected to VM 2
 - vtnet2 connected to VM 3 - vtnet2 connected to VM 3
-For connecting to VM'serial console, you can use: +To connect VM'serial console, you can use: 
-- VM 1 : cu -l /dev/nmdm1B +- VM 1 : sudo cu -l /dev/nmdm-BSDRP.1B 
-- VM 2 : cu -l /dev/nmdm2B +- VM 2 : sudo cu -l /dev/nmdm-BSDRP.2B 
-- VM 3 : cu -l /dev/nmdm3B +- VM 3 : sudo cu -l /dev/nmdm-BSDRP.3B 
-- VM 4 : cu -l /dev/nmdm4B+- VM 4 : sudo cu -l /dev/nmdm-BSDRP.4B
 </code> </code>
  
Line 61: Line 62:
 Configuration: Configuration:
 <code> <code>
-sysrc hostname=R1 +sysrc hostname=VM1 \ 
-sysrc gateway_enable=NO + gateway_enable=no \ 
-sysrc ipv6_gateway_enable=NO + ipv6_gateway_enable=no \ 
-sysrc ifconfig_em0="inet 10.0.12.1/24" + ifconfig_vtnet0="inet 10.0.12.1/24" \ 
-sysrc defaultrouter="10.0.12.2" + defaultrouter=10.0.12.254 
-hostname R1+service hostname restart
 service netif restart service netif restart
 service routing restart service routing restart
Line 73: Line 74:
 ==== Router 2 ==== ==== Router 2 ====
  
-R2 is a PIM router that <del>announce itself (10.0.23.2) as Canditate RP with and adv period of 10 seconds and high priority</del> is the rendez-vous point.+VM2 is a PIM router that announce itself (10.0.23.2) as Canditate RP with and adv period of 10 seconds and high priority (will be the rendez-vous point).
  
 <code> <code>
-sysrc hostname=R2 +sysrc hostname=VM2 \ 
-sysrc ifconfig_em0="inet 10.0.12.2/24" + ifconfig_vtnet0="inet 10.0.12.254/24" \ 
-sysrc ifconfig_em1="inet 10.0.23.2/24" + ifconfig_vtnet1="inet 10.0.23.2/24" \ 
-sysrc defaultrouter="10.0.23.3" + defaultrouter=10.0.23.3 \ 
-sysrc pimd_enable=YES+ pimd_enable=yes
  
 cat > /usr/local/etc/pimd.conf <<EOF cat > /usr/local/etc/pimd.conf <<EOF
-#rp-candidate 10.0.23.2 time 10 priority 1 +rp-candidate 10.0.23.2 time 10 priority 1 
-rp-address 10.0.23.2+#rp-address 10.0.23.2
  
 EOF EOF
  
-hostname R2+service hostname restart
 service netif restart service netif restart
 service routing restart service routing restart
Line 96: Line 97:
 ==== Router 3 ==== ==== Router 3 ====
  
-We would R3 <del>annonces hitself (10.0.23.3) as a Canditate BootStrap Router with high priority</del> is configured with R2 as rendez-vous point.+We would VM3 annonces hitself (10.0.23.3) as a Canditate BootStrap Router with high priority.
  
 <code> <code>
-sysrc hostname=R3 +sysrc hostname=VM3 \ 
-sysrc ifconfig_em1="inet 10.0.23.3/24" + ifconfig_vtnet1="inet 10.0.23.3/24" \ 
-sysrc ifconfig_em2="inet 10.0.34.3/24" + ifconfig_vtnet2="inet 10.0.34.254/24" \ 
-sysrc defaultrouter="10.0.23.2" + defaultrouter=10.0.23.2 \ 
-sysrc pimd_enable=YES+ pimd_enable=yes
  
 cat > /usr/local/etc/pimd.conf <<EOF cat > /usr/local/etc/pimd.conf <<EOF
-#bsr-candidate 10.0.23.3 priority 1 +bsr-candidate 10.0.23.3 priority 1 
-rp-address 10.0.23.2+#rp-address 10.0.23.2
 EOF EOF
  
-hostname R3+service hostname restart
 service netif restart service netif restart
 service routing restart service routing restart
Line 119: Line 120:
  
 <code> <code>
-sysrc hostname=R4 +sysrc hostname=VM4 \ 
-sysrc gateway_enable=NO + gateway_enable=no \ 
-sysrc ipv6_gateway_enable=NO + ipv6_gateway_enable=no \ 
-sysrc ifconfig_em2="inet 10.0.34.4/24" + ifconfig_vnet2="inet 10.0.34.4/24" \ 
-sysrc defaultrouter="10.0.34.3" + defaultrouter=10.0.34.254 
-hostname R4+service hostname restart
 service netif restart service netif restart
 service routing restart service routing restart
Line 130: Line 131:
 </code> </code>
  
 +===== Checking NIC drivers and Bhyve compatibility with multicast =====
 +
 +Before to star with advanced routing setup, just start to test simple multicast between 2 relatives host: Some NIC (vtnet) or some hypervisors network setup aren't compliant with very simple multicast.
 +
 +On VM1, start a mcast generator (client emitting mcast):
 +<code>
 +[root@VM1]~# iperf -c 239.1.1.1 -u -T 32 -t 3000 -i 1
 +------------------------------------------------------------
 +Client connecting to 239.1.1.1, UDP port 5001
 +Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
 +Setting multicast TTL to 32
 +UDP buffer size: 9.00 KByte (default)
 +------------------------------------------------------------
 +[  3] local 10.0.12.1 port 46636 connected with 239.1.1.1 port 5001
 +[ ID] Interval       Transfer     Bandwidth
 +[  3]  0.0- 1.0 sec   131 KBytes  1.07 Mbits/sec
 +[  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec
 +[  3]  2.0- 3.0 sec   128 KBytes  1.05 Mbits/sec
 +[  3]  0.0- 3.5 sec   446 KBytes  1.05 Mbits/sec
 +[  3] Sent 311 datagrams
 +(...)
 +</code>
 +
 +On the direct connected VM2, start to check if in non-promiscious mode it sees mcast packets comming:
 +<code>
 +[root@VM2]~# tcpdump -pni vtnet0 -c 2
 +tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 +listening on vtnet0, link-type EN10MB (Ethernet), capture size 262144 bytes
 +15:22:32.517270 IP 10.0.12.1.33482 > 239.1.1.1.5001: UDP, length 1470
 +15:22:32.528668 IP 10.0.12.1.33482 > 239.1.1.1.5001: UDP, length 1470
 +2 packets captured
 +2 packets received by filter
 +0 packets dropped by kernel
 +</code>
 +
 +=> VM2 is receiving mcast packets from 10.0.12.1 to mcast group 239.1.1.1.
 +Now on VM2 start a mcast listener (server receiving), it should receive multicast flow
 +
 +<code>
 +[root@VM2]~# iperf -s -u -B 239.1.1.1%vtnet0 -i 1
 +------------------------------------------------------------
 +Server listening on UDP port 5001
 +Binding to local address 239.1.1.1
 +Joining multicast group  239.1.1.1
 +Receiving 1470 byte datagrams
 +UDP buffer size: 41.1 KByte (default)
 +------------------------------------------------------------
 +[  3] local 239.1.1.1 port 5001 connected with 192.168.100.149 port 35181
 +[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
 +[  3]  0.0- 1.0 sec   129 KBytes  1.06 Mbits/sec   0.038 ms  107/  197 (54%)
 +[  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec   0.054 ms    0/   89 (0%)
 +[  3]  2.0- 3.0 sec   128 KBytes  1.05 Mbits/sec   0.021 ms    0/   89 (0%)
 +[  3]  3.0- 4.0 sec   128 KBytes  1.05 Mbits/sec   0.025 ms    0/   89 (0%)
 +[  3]  4.0- 5.0 sec   128 KBytes  1.05 Mbits/sec   0.024 ms    0/   89 (0%)
 +[  3]  5.0- 6.0 sec   129 KBytes  1.06 Mbits/sec   0.024 ms    0/   90 (0%)
 +[  3]  6.0- 7.0 sec   128 KBytes  1.05 Mbits/sec   0.024 ms    0/   89 (0%)
 +(...)
 +</code>
 +=> Notice the mcast receiver is correctly receiving at 1Mb/s.
 +
 +Here is a non working example (here because source interface not given, and it uses the other one):
 +<code>
 +[root@VM2]~# iperf -s -u -B 239.1.1.1 -i 1
 +------------------------------------------------------------
 +Server listening on UDP port 5001
 +Binding to local address 239.1.1.1
 +Joining multicast group  239.1.1.1
 +Receiving 1470 byte datagrams
 +UDP buffer size: 41.1 KByte (default)
 +------------------------------------------------------------
 +(...)
 +</code>
 +
 +=> Here it doesn't receive traffic and stay in "waiting" mode forever.
 ===== Checking pimd behavior ===== ===== Checking pimd behavior =====
  
Line 137: Line 212:
  
 <code> <code>
-[root@R2]~# pimd -r + 
-Virtual Interface Table +root@VM2:~ # pimctl show 
- Vif  Local address    Subnet                Thresh  Flags          Neighbors + 
-    10.0.12.2        10.0.12/24            1       DR NO-NBR +PIM Interface Table 
-   1  10.0.23.2        10.0.23/24                  PIM            10.0.23.3 +Interface         State     Address            Priority  Hello  Nbr  DR Address      DR Priority 
-   2  10.0.12.2        register_vif0         1+vtnet0               Up        10.0.12.2                     30    0  10.0.12.2      1 
 +vtnet1               Up        10.0.23.2                     30    1  10.0.23.3      1 
 + 
 +PIM Neighbor Table 
 +Interface         Address            Priority  Mode  Uptime/Expires 
 +vtnet1               10.0.23.3                  DR    0h2m51s/0h1m25s
  
 Multicast Routing Table Multicast Routing Table
- Source          Group           RP addr         Flags +Source            Group            RP Address       Flags 
---------------------------(*,*,RP)-------------------------- +10.0.12.1         239.1.1.1        10.0.23.2        SG 
-Number of Groups: 0 + 
-Number of Cache MIRRORs: 0+ 
 +Number of Groups        1 
 +Number of Cache MIRRORs : 0 
 + 
 +PIM Candidate Rendez-Vous Point Table 
 +Group Address     RP Address       Prio  Holdtime  Expires 
 +232.0.0.0/      169.254.0.1           Forever  Never 
 +224.0.0.0/      10.0.23.2                 150  0h1m45s 
 + 
 +Current BSR address: 10.0.23.3 
 + 
 +PIM Rendez-Vous Point Set Table 
 +Group Address     RP Address       Prio  Holdtime  Type 
 +232.0.0.0/      169.254.0.1           Forever  Static 
 +224.0.0.0/      10.0.23.2                 105  Dynamic
 </code> </code>
  
-=> R2 sees R3+=> VM2 sees VM3 as PIM neighbor
  
 <code> <code>
-[root@R3]~# pimd -r +root@VM3:~ # pimctl show 
-Virtual Interface Table + 
- Vif  Local address    Subnet                Thresh  Flags          Neighbors +PIM Interface Table 
-    10.0.23.3        10.0.23/24                  DR PIM         10.0.23.+Interface         State     Address            Priority  Hello  Nbr  DR Address      DR Priority 
-    10.0.34.3        10.0.34/24            1       DR NO-NBR +vtnet1               Up        10.0.23.3                     30    1  10.0.23.3       1 
-   2  10.0.23.3        register_vif0         1+vtnet2               Up        10.0.34.3                 1     30    0  10.0.34.3       1 
 + 
 +PIM Neighbor Table 
 +Interface         Address            Priority  Mode  Uptime/Expires 
 +vtnet1               10.0.23.2                        0h3m55s/0h1m15s
  
 Multicast Routing Table Multicast Routing Table
- Source          Group           RP addr         Flags +Source            Group            RP Address       Flags 
---------------------------(*,*,RP)-------------------------- + 
-Number of Groups: 0 +Number of Groups        : 0 
-Number of Cache MIRRORs: 0+Number of Cache MIRRORs : 0 
 + 
 +PIM Candidate Rendez-Vous Point Table 
 +Group Address     RP Address       Prio  Holdtime  Expires 
 +232.0.0.0/      169.254.0.1           Forever  Never 
 +224.0.0.0/      10.0.23.2                 150  0h2m25s 
 + 
 +Current BSR address: 10.0.23.3 
 + 
 +PIM Rendez-Vous Point Set Table 
 +Group Address     RP Address       Prio  Holdtime  Type 
 +232.0.0.0/      169.254.0.1           Forever  Static 
 +224.0.0.0/      10.0.23.2                 145  Dynamic
 </code> </code>
  
-=> R3 sees R2.+=> VM3 sees VM2 as PIM Designated Router neighbor.
 ==== Does PIM daemon locally register to PIM mcast group ? ==== ==== Does PIM daemon locally register to PIM mcast group ? ====
  
Line 174: Line 284:
  
 <code> <code>
-[root@R2]~# ifmcstat +[root@VM2]~# ifmcstat 
-em0:+vtnet0:
         inet 10.0.12.2         inet 10.0.12.2
         igmpv2         igmpv2
Line 198: Line 308:
                 group ff02:1::1:ff00:212 refcnt 1                 group ff02:1::1:ff00:212 refcnt 1
                         mcast-macaddr 33:33:ff:00:02:12 refcnt 1                         mcast-macaddr 33:33:ff:00:02:12 refcnt 1
-em1:+vtnet1:
         inet 10.0.23.2         inet 10.0.23.2
         igmpv2         igmpv2
Line 223: Line 333:
 </code> </code>
 <code> <code>
-[root@R3]~# ifmcstat+[root@VM3]~# ifmcstat
 em0: em0:
 em1: em1:
Line 278: Line 388:
 ===== Testing ===== ===== Testing =====
  
-==== 1. Sart a mcast generator (IPerf client) on R1 ====+==== 1. Sart a mcast generator (IPerf client) on VM1 ====
  
 Start an iperf client to 239.1.1.1. Start an iperf client to 239.1.1.1.
  
 <code> <code>
-[root@R1]~# iperf -c 239.1.1.1 -u -T 32 -t 3000 -i 1+[root@VM1]~# iperf -c 239.1.1.1 -u -T 32 -t 3000 -i 1
 ------------------------------------------------------------ ------------------------------------------------------------
 Client connecting to 239.1.1.1, UDP port 5001 Client connecting to 239.1.1.1, UDP port 5001
Line 298: Line 408:
 </code> </code>
  
-==== 2. Check R2 updates its mrouting table with discovered mcast source =====+==== 2. Check VM2 updates its mrouting table with discovered mcast source =====
  
 PIM daemon should be updated: PIM daemon should be updated:
 <code> <code>
-[root@R2]~# pimd -r +[root@VM2]~# pimctl -r 
-Virtual Interface Table ====================================================== +pimctl: Sending cmd show: No error: 0
-Vif  Local Address    Subnet              Thresh  Flags      Neighbors +
----  ---------------  ------------------  ------  ---------  ----------------- +
-  0  10.0.12.2        10.0.12/24                DR NO-NBR +
-  1  10.0.23.2        10.0.23/24                PIM        10.0.23.3 +
-  2  10.0.12.2        register_vif0            1+
  
- Vif  SSM Group        Sources+PIM Interface Table 
 +Interface         State     Address            Priority  Hello  Nbr  DR Address      DR Priority 
 +vtnet0            Up        10.0.12.2                     30    0  10.0.12.2                 1 
 +vtnet1            Up        10.0.23.2                     30    1  10.0.23.3                 1
  
-Multicast Routing Table ====================================================== +PIM Neighbor Table 
------------------------------------ (S,G) ------------------------------------ +Interface         Address            Priority  Mode  Uptime/Expires 
-Source           Group            RP Address       Flags +vtnet1            10.0.23.3                  DR    0h8m36s/0h1m40s
----------------  ---------------  ---------------  --------------------------- +
-10.0.12.1        239.1.1.1        10.0.23.2        CACHE SG +
-Joined   oifs: ..j +
-Pruned   oifs: ... +
-Leaves   oifs: ... +
-Asserted oifs: ... +
-Outgoing oifs: ..o +
-Incoming     : I..+
  
-TIMERS:  Entry    JP    RS  Assert VIFS:  0  1  2 +Multicast Routing Table 
-           180    35           0        0   0 +Source            Group            RP Address       Flags 
---------------------------------- (*,*,G) ------------------------------------ +10.0.12.1         239.1.1.1        10.0.23.2        SPT SG 
-Number of Groups: 1 + 
-Number of Cache MIRRORs: 1 +Number of Groups        : 1 
-------------------------------------------------------------------------------+Number of Cache MIRRORs : 
 + 
 +PIM Candidate Rendez-Vous Point Table 
 +Group Address     RP Address       Prio  Holdtime  Expires 
 +232.0.0.0/      169.254.0.        1   Forever  Never 
 +224.0.0.0/      10.0.23.2                 150  0h2m0s 
 + 
 +Current BSR address: 10.0.23.3 
 + 
 +PIM Rendez-Vous Point Set Table 
 +Group Address     RP Address       Prio  Holdtime  Type 
 +232.0.0.0/      169.254.0.1           Forever  Static 
 +224.0.0.0/      10.0.23.2                 120  Dynamic
 </code> </code>
  
Line 335: Line 447:
  
 <code> <code>
-[root@R2]~# netstat -g+[root@VM2]~# netstat -g
  
 IPv4 Virtual Interface Table IPv4 Virtual Interface Table
  Vif   Thresh   Local-Address   Remote-Address    Pkts-In   Pkts-Out  Vif   Thresh   Local-Address   Remote-Address    Pkts-In   Pkts-Out
-  0           10.0.12.2                            8013          0 +  0           10.0.12.2                               0          0 
-  1           10.0.23.2                               0          0 +  1           10.0.12.2                           18267          0 
-  2           10.0.12.2                                     8013+  2           10.0.23.2                                    18267
  
 IPv4 Multicast Forwarding Table IPv4 Multicast Forwarding Table
  Origin          Group             Packets In-Vif  Out-Vifs:Ttls  Origin          Group             Packets In-Vif  Out-Vifs:Ttls
- 10.0.12.1       239.1.1.1            8013       2:1+ 10.0.12.1       239.1.1.1                65535
  
  
Line 351: Line 463:
  
 IPv6 Multicast Forwarding Table is empty IPv6 Multicast Forwarding Table is empty
 +
 </code> </code>
  
-R2 had update its mroute table for adding a source for group 239.1.1.1 comming from vif0 (toward R1).+VM2 had update its mroute table for adding a source for group 239.1.1.1 coming from '65535'??.
  
-==== 3. Start a mcast receiver (IPerf server) on R4 ====+==== 3. Start a mcast receiver (IPerf server) on VM4 ====
  
 IPerf server will subscribe to 239.1.1.1 multicast group and receiving mcast traffic: IPerf server will subscribe to 239.1.1.1 multicast group and receiving mcast traffic:
  
 <code> <code>
-[root@R4]~# iperf -s -u -B 239.1.1.1 -i 1+[root@VM4]~# iperf -s -u -B 239.1.1.1 -i 1
 ------------------------------------------------------------ ------------------------------------------------------------
 Server listening on UDP port 5001 Server listening on UDP port 5001
Line 384: Line 497:
 </code> </code>
  
-==== 4. Check R3 correctly notice this mcast subscriber ====+==== 4. Check VM3 correctly notice this mcast subscriber ====
  
-Now the mrouting table of R3 is updated and know it has a customer:+Now the mrouting table of VM3 is updated and know it has a customer:
  
 <code> <code>
-[root@R3]~# pimd -r +[root@VM3]~# pimctl -d 
-Virtual Interface Table ====================================================== +pimctl: Sending cmd show: No error: 0
-Vif  Local Address    Subnet              Thresh  Flags      Neighbors +
----  ---------------  ------------------  ------  ---------  ----------------- +
-  0  10.0.23.3        10.0.23/24                DR PIM     10.0.23.2 +
-  1  10.0.34.3        10.0.34/24                DR NO-NBR +
-  2  10.0.23.3        register_vif0            1+
  
- Vif  SSM Group        Sources+PIM Interface Table 
 +Interface         State     Address            Priority  Hello  Nbr  DR Address      DR Priority 
 +vtnet1            Up        10.0.23.3                     30    1  10.0.23.3                 1 
 +vtnet2            Up        10.0.34.3                     30    0  10.0.34.3                 1
  
-Multicast Routing Table ====================================================== +PIM Neighbor Table 
------------------------------------ (*,G) ------------------------------------ +Interface         Address            Priority  Mode  Uptime/Expires 
-Source           Group            RP Address       Flags +vtnet1            10.0.23.2                 1        0h14m40s/0h1m35s
----------------  ---------------  ---------------  --------------------------- +
-INADDR_ANY       239.1.1.1        10.0.23.2        WC RP CACHE +
-Joined   oifs: ... +
-Pruned   oifs: ... +
-Leaves   oifs: .l. +
-Asserted oifs: ... +
-Outgoing oifs: .o. +
-Incoming     : I..+
  
-TIMERS:  Entry    JP    RS  Assert VIFS:  0  1  2 +Multicast Routing Table 
-                60                  0  0  0 +Source            Group            RP Address       Flags 
------------------------------------ (S,G) ------------------------------------ +ANY               239.1.1.1        10.0.23.2        WC RP 
-Source           Group            RP Address       Flags +10.0.12.1         239.1.1.1        10.0.23.2        CACHE SG 
----------------  ---------------  ---------------  --------------------------- + 
-10.0.12.1        239.1.1.1        10.0.23.2        SG +Number of Groups        
-Joined   oifs: ... +Number of Cache MIRRORs : 1 
-Pruned   oifs: ... + 
-Leaves   oifs: .l. +PIM Candidate Rendez-Vous Point Table 
-Asserted oifs: ... +Group Address     RP Address       Prio  Holdtime  Expires 
-Outgoing oifs: .o+232.0.0.0/8       169.254.0.1           Forever  Never 
-Incoming     I..+224.0.0.0/4       10.0.23.2                 150  0h2m25s 
 + 
 +Current BSR address10.0.23.3
  
-TIMERS:  Entry    JP    RS  Assert VIFS:   1  2 +PIM Rendez-Vous Point Set Table 
-           195    50                   0  +Group Address     RP Address       Prio  Holdtime  Type 
---------------------------------- (*,*,G) ------------------------------------ +232.0.0.0/8       169.254.0.        1   Forever  Static 
-Number of Groups: 1 +224.0.0.0/4       10.0.23.2                 145  Dynamic                                                                                                               
-Number of Cache MIRRORs: 1 +
-------------------------------------------------------------------------------+
 </code> </code>
  
Line 435: Line 538:
  
 <code> <code>
-[root@R3]~# netstat -g +[root@VM3]~# netstat -g
 IPv4 Virtual Interface Table IPv4 Virtual Interface Table
  Vif   Thresh   Local-Address   Remote-Address    Pkts-In   Pkts-Out  Vif   Thresh   Local-Address   Remote-Address    Pkts-In   Pkts-Out
-  0           10.0.23.3                            7882          0 +  0           10.0.23.3                               0          0 
-  1           10.0.34.3                                     7882 +  1           10.0.23.3                           30739          
-  2           10.0.23.3                                        0+  2           10.0.34.3                                    29215
  
 IPv4 Multicast Forwarding Table IPv4 Multicast Forwarding Table
  Origin          Group             Packets In-Vif  Out-Vifs:Ttls  Origin          Group             Packets In-Vif  Out-Vifs:Ttls
- 10.0.12.1       239.1.1.1            7882    0    1:1+ 10.0.12.1       239.1.1.1           29215       2:1
  
  
Line 451: Line 553:
  
 IPv6 Multicast Forwarding Table is empty IPv6 Multicast Forwarding Table is empty
- 
 </code> </code>
  
-R3 correctly learn that there is a subscriber to group 239.1.1.1 on interface vif1 (toward R4).+VM3 correctly learn that there is a subscriber to group 239.1.1.1 on interface vif1 (toward VM4) and the source is on vif0 (toward VM2).
documentation/examples/multicast_with_pim-sm.1498429446.txt.gz · Last modified: 2017/06/26 00:24 by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: BSD 2-Clause
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki