關於這個linux組播轉發弄了很久,主要還是因為自己太菜,對網絡知識太缺乏。現在環境搭建好,想記錄總結下,順便給有同樣困境的人一些參考。(因為自己遇到問題時到處提問很想找到同樣的環境資料),自己弄完的時候覺得其實還是很簡單,但是當時沒有方向,真的是有點不知所措。
一、需求
先簡單說一下最初的需求和環境
環境如上,之所以用Linux進行轉發,是因為需要用到Linux TC(traffic control)模塊,對組播數據進行延時,丟包或者其他處理,測試接收端對組播數據的恢復處理能力。
二、前期准備
最初領導給的任務是搭建Linux TC測試環境,並沒有其他的信息。自己上網查找資料,安裝虛擬機linux,搭建好了TC模塊(Windows下面也有一個比較好的網絡流量控制工具“NEWT”)。
詳見之前的隨筆:https://www.cnblogs.com/little-monica/p/11459772.html
TC模塊可以正常使用之后,以為工作就算完成了,完全沒有去想怎么把數據轉發給接收端的問題。很快將PC加在整個測試環境中時就顯示出尷尬,不知道該怎么將linux處理的數據發送給接收端。於是又各種查資料,發現iptables可以進行IP轉發,好像可以滿足我的需求(這個時候完全沒有意識到組播數據和非組播數據轉發的區別)。最早也沒有想到測試組播,以為只要是對進來的IP流進行處理了就行,而且很快單播在這個環境中就可以使用了,組播卻不行,但是我們實際應用中大部分都是組播。
三、真正開始Linux組播轉發
剛開始進行組播測試就遇到了問題,無法接收發送端發過來的組播(虛擬機),但是主機wireshark是可以收到的,怎么回事呢?
原來為了安全考慮,linux是不自動接收組播的,linux系統會根據rp_filter的值來對數據包進行檢查。當rp_filter為1時,會對數據包的目的地址進行檢查,如果目的ip不是本機ip,則直接丟棄數據包。因為組播數據包的目的地址是組播IP,肯定和本機ip不匹配,所以數據包會被丟棄。當把rp_filter改為0時,不進行檢查,所有數據包都會收到,所以應用程序就可以收到組播消息了。(參考文章:https://www.cnblogs.com/jiexianzhu/p/11016125.html)
另外請參考:https://github.com/troglobit/pimd
需要將/proc/sys/net/ipv4/conf/all/rp_filter設置為0:
1、sysctl -w net.ipv4.conf.all.rp_filter=0 或者echo "0">/proc/sys/net/ipv4/conf/all/rp_filter,sysctl -w是臨時改變某個參數值,這兩種都是臨時起作用,重啟linux或者重啟網絡后就失效了
2、要參數更改的值永久生效需要將其寫入文件,在/etc/sysctl.conf 文件中添加 net.ipv4.conf.all.rp_filter =0,再sysctl -p加載(-p 從指定的文件加載系統參數,如不指定即從/etc/sysctl.conf中加載)
到此可以正常接收組播了,進行組播轉發還需要打開組播轉發開關。
1、將/proc/sys/net/ipv4/ip_forward設置為1,設置方法參考上一步rp_filter。 (打開IP轉發開關)
2、將/proc/sys/net/ipv4/conf/all/mc_forwarding設置為1. 設置方法參考上一步rp_filter。 (打開組播轉發開關)
這一步也耗費了很多時間,怎么修改,mc_forwarding的值都是0,也是上網查了很久,后來在一個英文討論區(忘記名字了,暫且這么叫吧)發現只要修改正常,在啟用轉發時才能看到mc_forwarding的值變為“1”.
這個時候我還是用的虛擬機單網卡跑測試環境(后來自己想了想,覺得單網卡好像沒法轉發,就加了一個USB網卡),查資料的時候有兩篇文章提到虛擬機如果用橋接模式是不能轉發組播的,另外一篇提到需要用到host-only模式,但是只有兩句話,我也不知道該不該順着這個思路走,先自己多試試。然后就是各種研究虛擬機的3種模式,也不知道什么原因,橋接的時候能接收到組播,轉發總是不成功。NAT和Host only模式連組播都收不到,為此專門充錢在網站上提問,但是都沒有得到准確的回復。這個時候真是頭大啊,沒有思路,反反復復調試又回頭走,網上能查的資料都找遍了也沒有頭緒,但是看幾篇做組播轉發的文章實現起來都很簡單。
最后暫時放棄了虛擬機環境,重新安裝Linux系統測試。
Linux版本:Linux fedora29 4.18.16-300.fc29.x86_64
pimd ver:pimd version 2.3.2
1、查看linux路由表,網上有一些環境有配置發送接收端組播路由的,我這里不需要,還是根據各自的需求和環境來:
2、查看目前版本是否支持組播,如果不支持,需要編譯內核:
ifconfig出現 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric,支持組播
3、安裝PIMD:sudo yum install pimd,等待安裝完成,pimd的配置信息在/etc/pimd.conf里,我是使用的默認配置,查看pimd使用輸入pimd -h。
4、運行pimd,這個時候沒有任何信息顯示:
[xx@localhost~]$:sudo pimd
查看pimd運行信息
[xx@localhost~]$:sudo pimd -d
顯示信息不全,但是能看到轉發模塊建立起來,並且選取了輸出網卡(192.168.1.56)作為匯聚點。
如果這個時候想查看pimd全部運行狀態,可以pimd -q先退出,然后再次運行pimd -d查看。
值得注意的是pimd -d命令是一直運行的,如果想使用終端建議再新開一個窗口,不要ctrl+c退出。最早我是犯過這個錯誤的,以為pimd就在后台運行了,這個只是個調試信息中斷沒有關系。
實際上直接終端輸入pimd就可以了,無奈新手看見只輸入pimd沒有信息輸出又是調試階段所以用pimd -d。
5、可以查看路由信息[xx@localhost~]$:sudo pimd -r:
6、查看組播路由表 [xx@localhost~]$:sudo ip mroute show:
(10.10.50.12, 238.1.1.10) Iif:enp0s25 Oifs:enp0s26f7u1u3 State:resolved
如果顯示 Iif:unresolved State:unresolved:
iif是接收多播數據包的網絡接口,如果設備名是關鍵詞unresolved,就表示路由監控進程不能解析這個條目;接下來的關鍵詞是oif,它后面跟着一些輸出網絡接口,接口之間用空格分開。
7、查看linux路由轉發節點的組播虛擬轉發接口信息 [xx@localhost~]$:more /proc/net/ip_mr_vif
可以看出,發送端A的數據從linux網卡enp0s25進入,從另一個網卡enp0s26f7u1u3發出了
8、最后配置接收端B,設置發送端組播的地址和端口號,可以正常接收到組播。
注意:如果發現打印出來的轉發接口信息完全正常,輸入輸出的數據穩定增長,組播路由表也正常,但是接收端仍然接收不到數據,試試關閉防火牆。
systemctl start firewalld 啟動防火牆
systemctl stop firewalld 關閉防火牆 暫時關閉,重啟失效
systemctl disable firewalld 禁用防火牆 永久關閉
結合Linux tc模塊進行處理,至此就比較簡單了,因為都通了,搭配使用就好了。
值得注意的是剛開始我用的linux接收組播的enp0s25網卡進行tc處理,並沒有效果。想了想應該在整個linux組播數據出去之前對輸出數據做控制,就是在enp0s26f7u1u3網卡上使用tc模塊。
接收端觀看組播信息,tc模塊使用正常。
雖然文章寫起來簡單,但是如果沒有一點基礎知識調試起來也不那么容易,有時候趕巧了碰見合適的環境在網上找教程一次就能成功。事實上大部分都不可能完全相同,自己在這個過程中查了各種資料,一點有用的信息都不敢錯過,走了很多很多的彎路。但是也要感謝這些彎路,遇到問題解決問題的過程中學到很多東西。有時候覺得無路可走的時候,可能真的就是接近終點了。
以上都是憑回憶記錄下來的,可能多多少少有些遺漏,歡迎糾正討論。
附上網上一篇啟發最多的文章鏈接,里面關於一些原理講解的也比較透徹:https://www.jianshu.com/p/2c625f68a304
另外貼上pimd運行中的打印信息:
sudo pimd -d
debug level 0xffffffff (dvmrp_detail,dvmrp_prunes,dvmrp_routes,dvmrp_neighbors,dvmrp_timers,igmp_proto,igmp_timers,igmp_members,trace,timeout,packets,interfaces,kernel,cache,rsrr,pim_detail,pim_hello,pim_register,pim_join_prune,pim_bootstrap,pim_asserts,pim_cand_rp,pim_routes,pim_timers,pim_rpf)
22:49:46.521 pimd version 2.3.2 starting ...
22:49:46.521 Got 262144 byte send buffer size in 0 iterations
22:49:46.521 Got 262144 byte recv buffer size in 0 iterations
22:49:46.521 Got 262144 byte send buffer size in 0 iterations
22:49:46.521 Got 262144 byte recv buffer size in 0 iterations
22:49:46.522 Getting vifs from kernel
22:49:46.522 Installing enp0s25 (10.10.50.36 on subnet 10.10.50/24) as vif #0-2 - rate 0
22:49:46.522 Installing enp0s26f7u1u3 (192.168.1.56 on subnet 192.168.1) as vif #1-9 - rate 0
22:49:46.522 Getting vifs from /etc/pimd.conf
22:49:46.522 Local static RP: 192.168.1.56, group 224.0.0.0/4
22:49:46.522 Local Cand-BSR address 192.168.1.56, priority 5
22:49:46.522 Local Cand-RP address 192.168.1.56, priority 20, interval 30 sec
22:49:46.522 spt-threshold packets 0 interval 100
22:49:46.522 Local static RP: 169.254.0.1, group 232.0.0.0/8
22:49:46.522 IGMP query interval : 12 sec
22:49:46.522 IGMP querier timeout : 41 sec
22:49:46.522 Another multicast routing application is already running.
[pbi@localhost pimdLog]$ sudo pimd -q
[pbi@localhost pimdLog]$ sudo pimd -d
debug level 0xffffffff (dvmrp_detail,dvmrp_prunes,dvmrp_routes,dvmrp_neighbors,dvmrp_timers,igmp_proto,igmp_timers,igmp_members,trace,timeout,packets,interfaces,kernel,cache,rsrr,pim_detail,pim_hello,pim_register,pim_join_prune,pim_bootstrap,pim_asserts,pim_cand_rp,pim_routes,pim_timers,pim_rpf)
22:50:07.387 pimd version 2.3.2 starting ...
22:50:07.387 Got 262144 byte send buffer size in 0 iterations
22:50:07.387 Got 262144 byte recv buffer size in 0 iterations
22:50:07.387 Got 262144 byte send buffer size in 0 iterations
22:50:07.387 Got 262144 byte recv buffer size in 0 iterations
22:50:07.387 Getting vifs from kernel
22:50:07.387 Installing enp0s25 (10.10.50.36 on subnet 10.10.50/24) as vif #0-2 - rate 0
22:50:07.387 Installing enp0s26f7u1u3 (192.168.1.56 on subnet 192.168.1) as vif #1-9 - rate 0
22:50:07.387 Getting vifs from /etc/pimd.conf
22:50:07.387 Local static RP: 192.168.1.56, group 224.0.0.0/4
22:50:07.388 Local Cand-BSR address 192.168.1.56, priority 5
22:50:07.388 Local Cand-RP address 192.168.1.56, priority 20, interval 30 sec
22:50:07.388 spt-threshold packets 0 interval 100
22:50:07.388 Local static RP: 169.254.0.1, group 232.0.0.0/8
22:50:07.388 IGMP query interval : 12 sec
22:50:07.388 IGMP querier timeout : 41 sec
22:50:07.388 Interface enp0s25 comes up; vif #0 now in service
22:50:07.388 query_groups(): Sending IGMP v3 query on enp0s25
22:50:07.388 Send IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:07.388 SENT 36 bytes IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:07.388 SENT 46 bytes PIM v2 Hello from 10.10.50.36 to 224.0.0.13
22:50:07.388 Interface enp0s26f7u1u3 comes up; vif #1 now in service
22:50:07.388 query_groups(): Sending IGMP v3 query on enp0s26f7u1u3
22:50:07.388 Send IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:07.388 SENT 36 bytes IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:07.388 SENT 46 bytes PIM v2 Hello from 192.168.1.56 to 224.0.0.13
22:50:07.411 Interface register_vif0 comes up; vif #2 now in service
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
Multicast Routing Table ======================================================
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 0
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
22:50:07.411 Received IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:07.411 RECV 46 bytes PIM v2 Hello from 10.10.50.36 to 224.0.0.13
22:50:07.411 Cache miss, src 10.10.50.12, dst 238.1.1.10, iif 0
22:50:07.411 create group entry, group 238.1.1.10
22:50:07.411 RECV 46 bytes PIM v2 Hello from 192.168.1.56 to 224.0.0.13
22:50:07.411 Received IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:07.411 Received IGMP v3 Membership Report from 10.10.50.36 to 224.0.0.22
22:50:07.411 accept_membership_report(): IGMP v3 report, 32 bytes, from 10.10.50.36 to 224.0.0.22 with 3 group records.
22:50:07.411 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:07.411 Set delete timer for group: 224.0.0.22
22:50:07.411 SM group order from 10.10.50.36 (*,224.0.0.22)
22:50:07.411 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:07.411 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:07.411 Set delete timer for group: 224.0.0.2
22:50:07.411 SM group order from 10.10.50.36 (*,224.0.0.2)
22:50:07.411 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:07.411 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:07.411 Set delete timer for group: 224.0.0.13
22:50:07.411 SM group order from 10.10.50.36 (*,224.0.0.13)
22:50:07.411 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:07.411 Received IGMP v3 Membership Report from 192.168.1.56 to 224.0.0.22
22:50:07.411 accept_membership_report(): IGMP v3 report, 32 bytes, from 192.168.1.56 to 224.0.0.22 with 3 group records.
22:50:07.411 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:07.411 Set delete timer for group: 224.0.0.22
22:50:07.411 SM group order from 192.168.1.56 (*,224.0.0.22)
22:50:07.411 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:07.411 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:07.411 Set delete timer for group: 224.0.0.2
22:50:07.411 SM group order from 192.168.1.56 (*,224.0.0.2)
22:50:07.411 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:07.412 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:07.412 Set delete timer for group: 224.0.0.13
22:50:07.412 SM group order from 192.168.1.56 (*,224.0.0.13)
22:50:07.412 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:08.086 Received IGMP v3 Membership Report from 10.10.50.36 to 224.0.0.22
22:50:08.086 accept_membership_report(): IGMP v3 report, 32 bytes, from 10.10.50.36 to 224.0.0.22 with 3 group records.
22:50:08.086 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:08.086 Set delete timer for group: 224.0.0.22
22:50:08.086 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:08.086 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:08.086 Set delete timer for group: 224.0.0.2
22:50:08.086 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:08.086 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:08.086 Set delete timer for group: 224.0.0.13
22:50:08.086 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:08.405 Received IGMP v3 Membership Report from 192.168.1.56 to 224.0.0.22
22:50:08.405 accept_membership_report(): IGMP v3 report, 32 bytes, from 192.168.1.56 to 224.0.0.22 with 3 group records.
22:50:08.405 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:08.405 Set delete timer for group: 224.0.0.22
22:50:08.405 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:08.405 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:08.405 Set delete timer for group: 224.0.0.2
22:50:08.405 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:08.405 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:08.405 Set delete timer for group: 224.0.0.13
22:50:08.405 Not creating routing entry for LAN scoped group 224.0.0.13
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
Multicast Routing Table ======================================================
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 0
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
22:50:13.410 SENT 34 bytes PIM v2 Bootstrap from 10.10.50.36 to 224.0.0.13
22:50:13.410 SENT 34 bytes PIM v2 Bootstrap from 192.168.1.56 to 224.0.0.13
Candidate Rendezvous-Point Set ===============================================
RP address Incoming Group Prefix Priority Holdtime
--------------- -------- ------------------ -------- ---------------------
------------------------------------------------------------------------------
Current BSR address: 192.168.1.56
22:50:13.410 RECV 34 bytes PIM v2 Bootstrap from 10.10.50.36 to 224.0.0.13
22:50:13.410 RECV 34 bytes PIM v2 Bootstrap from 192.168.1.56 to 224.0.0.13
22:50:16.214 Received IGMP v3 Membership Report from 192.168.1.56 to 224.0.0.22
22:50:16.214 accept_membership_report(): IGMP v3 report, 40 bytes, from 192.168.1.56 to 224.0.0.22 with 4 group records.
22:50:16.214 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:16.214 Set delete timer for group: 224.0.0.22
22:50:16.214 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:16.214 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:16.214 Set delete timer for group: 224.0.0.2
22:50:16.214 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:16.214 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:16.214 Set delete timer for group: 224.0.0.13
22:50:16.214 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:16.214 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.251 report_type 34
22:50:16.214 Set delete timer for group: 224.0.0.251
22:50:16.215 SM group order from 192.168.1.56 (*,224.0.0.251)
22:50:16.215 Not creating routing entry for LAN scoped group 224.0.0.251
22:50:17.749 Received IGMP v3 Membership Report from 10.10.50.36 to 224.0.0.22
22:50:17.749 accept_membership_report(): IGMP v3 report, 40 bytes, from 10.10.50.36 to 224.0.0.22 with 4 group records.
22:50:17.749 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:17.749 Set delete timer for group: 224.0.0.22
22:50:17.749 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:17.749 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:17.749 Set delete timer for group: 224.0.0.2
22:50:17.749 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:17.749 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:17.749 Set delete timer for group: 224.0.0.13
22:50:17.749 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:17.749 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.251 report_type 34
22:50:17.749 Set delete timer for group: 224.0.0.251
22:50:17.749 SM group order from 10.10.50.36 (*,224.0.0.251)
22:50:17.750 Not creating routing entry for LAN scoped group 224.0.0.251
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
Multicast Routing Table ======================================================
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 0
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
Candidate Rendezvous-Point Set ===============================================
RP address Incoming Group Prefix Priority Holdtime
--------------- -------- ------------------ -------- ---------------------
------------------------------------------------------------------------------
Current BSR address: 192.168.1.56
22:50:17.750 Cache miss, src 10.10.50.12, dst 238.1.1.10, iif 0
22:50:17.750 create group entry, group 238.1.1.10
22:50:20.494 Received IGMP v2 Membership Report from 192.168.1.100 to 238.1.1.10
22:50:20.495 accept_group_report(): igmp_src 192.168.1.100 ssm_src 238.1.1.10 group 238.1.1.10 report_type 22
22:50:20.495 Change IGMP compatibility mode to v2 for group 238.1.1.10
22:50:20.495 Set delete timer for group: 238.1.1.10
22:50:20.495 SM group order from 192.168.1.100 (*,238.1.1.10)
22:50:20.495 create group entry, group 238.1.1.10
22:50:21.227 Received IGMP v2 Membership Report from 10.10.50.12 to 224.1.1.1
22:50:21.227 accept_group_report(): igmp_src 10.10.50.12 ssm_src 224.1.1.1 group 224.1.1.1 report_type 22
22:50:21.227 Change IGMP compatibility mode to v2 for group 224.1.1.1
22:50:21.227 Set delete timer for group: 224.1.1.1
22:50:21.227 SM group order from 10.10.50.12 (*,224.1.1.1)
22:50:21.227 create group entry, group 224.1.1.1
22:50:23.229 query_groups(): Sending IGMP v3 query on enp0s25
22:50:23.229 Send IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:23.229 SENT 36 bytes IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:23.229 query_groups(): Sending IGMP v3 query on enp0s26f7u1u3
22:50:23.229 Send IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:23.229 SENT 36 bytes IGMP Membership Query from 192.168.1.56 to 224.0.0.1
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
Multicast Routing Table ======================================================
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 0
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
22:50:23.229 New RP candidate 192.168.1.56 for group 224.0.0.0/4, priority 20
Candidate Rendezvous-Point Set ===============================================
RP address Incoming Group Prefix Priority Holdtime
--------------- -------- ------------------ -------- ---------------------
192.168.1.56 2 224/4 20 75
------------------------------------------------------------------------------
Current BSR address: 192.168.1.56
22:50:23.230 NETLINK: vif 1, ifindex=9
22:50:23.230 NETLINK: gateway is 192.168.1.1
22:50:23.230 For src 169.254.0.1, iif is 1, next hop router is 192.168.1.1: NOT A PIM ROUTER
22:50:23.230 New RP candidate 192.168.1.56 for group 224.0.0.0/4, priority 1
22:50:23.230 Received IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:23.230 Received IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:23.237 Received IGMP v2 Membership Report from 10.10.50.12 to 224.1.1.1
22:50:23.237 accept_group_report(): igmp_src 10.10.50.12 ssm_src 224.1.1.1 group 224.1.1.1 report_type 22
22:50:23.237 accept_group_report(): al_pv=2
22:50:23.237 Set delete timer for group: 224.1.1.1
22:50:23.237 create group entry, group 224.1.1.1
22:50:23.237 Adding vif 0 for group 224.1.1.1
22:50:23.662 Received IGMP v3 Membership Report from 10.10.50.36 to 224.0.0.22
22:50:23.662 accept_membership_report(): IGMP v3 report, 40 bytes, from 10.10.50.36 to 224.0.0.22 with 4 group records.
22:50:23.662 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:23.662 Set delete timer for group: 224.0.0.22
22:50:23.662 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:23.662 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:23.662 Set delete timer for group: 224.0.0.2
22:50:23.662 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:23.662 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:23.662 Set delete timer for group: 224.0.0.13
22:50:23.662 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:23.662 accept_group_report(): igmp_src 10.10.50.36 ssm_src 0.0.0.0 group 224.0.0.251 report_type 34
22:50:23.662 Set delete timer for group: 224.0.0.251
22:50:23.662 Not creating routing entry for LAN scoped group 224.0.0.251
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
22:50:27.666 NETLINK: vif 1, ifindex=9
22:50:27.666 NETLINK: gateway is 192.168.1.1
22:50:27.666 For src 169.254.0.1, iif is 1, next hop router is 192.168.1.1: NOT A PIM ROUTER
Multicast Routing Table ======================================================
----------------------------------- (*,G) ------------------------------------
Source Group RP Address Flags
--------------- --------------- --------------- ---------------------------
INADDR_ANY 224.1.1.1 192.168.1.56 WC RP
Joined oifs: ...
Pruned oifs: ...
Leaves oifs: l..
Asserted oifs: ...
Outgoing oifs: o..
Incoming : ..I
TIMERS: Entry JP RS Assert VIFS: 0 1 2
0 60 0 0 0 0 0
----------------------------------- (S,G) ------------------------------------
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 1
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
Candidate Rendezvous-Point Set ===============================================
RP address Incoming Group Prefix Priority Holdtime
--------------- -------- ------------------ -------- ---------------------
192.168.1.56 2 224/4 1 65535
224/4 20 70
169.254.0.1 1 232/8 1 65535
------------------------------------------------------------------------------
Current BSR address: 192.168.1.56
22:50:27.989 Cache miss, src 10.10.50.12, dst 238.1.1.10, iif 0
22:50:27.989 create group entry, group 238.1.1.10
22:50:27.989 create source entry, source 10.10.50.12
22:50:27.989 move_kernel_cache: SG
22:50:29.308 Received IGMP v2 Membership Report from 192.168.1.100 to 238.1.1.10
22:50:29.308 accept_group_report(): igmp_src 192.168.1.100 ssm_src 238.1.1.10 group 238.1.1.10 report_type 22
22:50:29.308 accept_group_report(): al_pv=2
22:50:29.308 Set delete timer for group: 238.1.1.10
22:50:29.308 Adding vif 1 for group 238.1.1.10
22:50:30.549 Received IGMP v3 Membership Report from 192.168.1.56 to 224.0.0.22
22:50:30.549 accept_membership_report(): IGMP v3 report, 40 bytes, from 192.168.1.56 to 224.0.0.22 with 4 group records.
22:50:30.549 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:30.549 Set delete timer for group: 224.0.0.22
22:50:30.549 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:30.549 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:30.549 Set delete timer for group: 224.0.0.2
22:50:30.549 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:30.549 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:30.549 Set delete timer for group: 224.0.0.13
22:50:30.549 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:30.550 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.251 report_type 34
22:50:30.550 Set delete timer for group: 224.0.0.251
22:50:30.550 Not creating routing entry for LAN scoped group 224.0.0.251
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
Multicast Routing Table ======================================================
----------------------------------- (*,G) ------------------------------------
Source Group RP Address Flags
--------------- --------------- --------------- ---------------------------
INADDR_ANY 224.1.1.1 192.168.1.56 WC RP
Joined oifs: ...
Pruned oifs: ...
Leaves oifs: l..
Asserted oifs: ...
Outgoing oifs: o..
Incoming : ..I
TIMERS: Entry JP RS Assert VIFS: 0 1 2
0 55 0 0 0 0 0
----------------------------------- (S,G) ------------------------------------
----------------------------------- (*,G) ------------------------------------
Source Group RP Address Flags
--------------- --------------- --------------- ---------------------------
INADDR_ANY 238.1.1.10 192.168.1.56 WC RP
Joined oifs: ...
Pruned oifs: ...
Leaves oifs: .l.
Asserted oifs: ...
Outgoing oifs: .o.
Incoming : ..I
TIMERS: Entry JP RS Assert VIFS: 0 1 2
0 60 0 0 0 0 0
----------------------------------- (S,G) ------------------------------------
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 2
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
Candidate Rendezvous-Point Set ===============================================
RP address Incoming Group Prefix Priority Holdtime
--------------- -------- ------------------ -------- ---------------------
192.168.1.56 2 224/4 1 65535
224/4 20 65
169.254.0.1 1 232/8 1 65535
------------------------------------------------------------------------------
Current BSR address: 192.168.1.56
22:50:37.556 SENT 46 bytes PIM v2 Hello from 10.10.50.36 to 224.0.0.13
22:50:37.556 query_groups(): Sending IGMP v3 query on enp0s25
22:50:37.556 Send IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:37.556 SENT 36 bytes IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:37.556 SENT 46 bytes PIM v2 Hello from 192.168.1.56 to 224.0.0.13
22:50:37.556 query_groups(): Sending IGMP v3 query on enp0s26f7u1u3
22:50:37.556 Send IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:37.556 SENT 36 bytes IGMP Membership Query from 192.168.1.56 to 224.0.0.1
Virtual Interface Table ======================================================
Vif Local Address Subnet Thresh Flags Neighbors
--- --------------- ------------------ ------ --------- -----------------
0 10.10.50.36 10.10.50/24 1 DR NO-NBR
1 192.168.1.56 192.168.1 1 DR NO-NBR
2 10.10.50.36 register_vif0 1
Vif SSM Group Sources
Multicast Routing Table ======================================================
----------------------------------- (*,G) ------------------------------------
Source Group RP Address Flags
--------------- --------------- --------------- ---------------------------
INADDR_ANY 224.1.1.1 192.168.1.56 WC RP
Joined oifs: ...
Pruned oifs: ...
Leaves oifs: l..
Asserted oifs: ...
Outgoing oifs: o..
Incoming : ..I
TIMERS: Entry JP RS Assert VIFS: 0 1 2
0 50 0 0 0 0 0
----------------------------------- (S,G) ------------------------------------
----------------------------------- (*,G) ------------------------------------
Source Group RP Address Flags
--------------- --------------- --------------- ---------------------------
INADDR_ANY 238.1.1.10 192.168.1.56 WC RP
Joined oifs: ...
Pruned oifs: ...
Leaves oifs: .l.
Asserted oifs: ...
Outgoing oifs: .o.
Incoming : ..I
TIMERS: Entry JP RS Assert VIFS: 0 1 2
0 55 0 0 0 0 0
----------------------------------- (S,G) ------------------------------------
--------------------------------- (*,*,G) ------------------------------------
Number of Groups: 2
Number of Cache MIRRORs: 0
------------------------------------------------------------------------------
Candidate Rendezvous-Point Set ===============================================
RP address Incoming Group Prefix Priority Holdtime
--------------- -------- ------------------ -------- ---------------------
192.168.1.56 2 224/4 1 65535
224/4 20 60
169.254.0.1 1 232/8 1 65535
------------------------------------------------------------------------------
Current BSR address: 192.168.1.56
22:50:37.557 Received IGMP Membership Query from 10.10.50.36 to 224.0.0.1
22:50:37.557 RECV 46 bytes PIM v2 Hello from 10.10.50.36 to 224.0.0.13
22:50:37.557 Received IGMP Membership Query from 192.168.1.56 to 224.0.0.1
22:50:37.557 RECV 46 bytes PIM v2 Hello from 192.168.1.56 to 224.0.0.13
22:50:37.757 Received IGMP v3 Membership Report from 192.168.1.56 to 224.0.0.22
22:50:37.757 accept_membership_report(): IGMP v3 report, 40 bytes, from 192.168.1.56 to 224.0.0.22 with 4 group records.
22:50:37.757 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.22 report_type 34
22:50:37.757 Set delete timer for group: 224.0.0.22
22:50:37.757 Not creating routing entry for LAN scoped group 224.0.0.22
22:50:37.757 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.2 report_type 34
22:50:37.757 Set delete timer for group: 224.0.0.2
22:50:37.757 Not creating routing entry for LAN scoped group 224.0.0.2
22:50:37.757 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.13 report_type 34
22:50:37.757 Set delete timer for group: 224.0.0.13
22:50:37.757 Not creating routing entry for LAN scoped group 224.0.0.13
22:50:37.757 accept_group_report(): igmp_src 192.168.1.56 ssm_src 0.0.0.0 group 224.0.0.251 report_type 34
22:50:37.758 Set delete timer for group: 224.0.0.251
22:50:37.758 Not creating routing entry for LAN scoped group 224.0.0.251
22:50:38.230 Cache miss, src 10.10.50.12, dst 238.1.1.10, iif 0
22:50:38.230 create source entry, source 10.10.50.12
22:50:38.230 move_kernel_cache: SG
22:50:38.230 move_kernel_cache: SG
22:50:38.230 Added kernel MFC entry src 10.10.50.12 grp 238.1.1.10 from enp0s25 to enp0s26f7u1u3
22:50:38.997 Received IGMP v2 Membership Report from 10.10.50.12 to 224.1.1.1
22:50:38.997 accept_group_report(): igmp_src 10.10.50.12 ssm_src 224.1.1.1 group 224.1.1.1 report_type 22
22:50:38.997 accept_group_report(): al_pv=2
22:50:38.997 Set delete timer for group: 224.1.1.1
22:50:38.997 Adding vif 0 for group 224.1.1.1