Closed swiergot closed 5 years ago
Hi @swiergot, it's quite hard to picture your setup and understand the problem. Do you think you could add like a topological drawing (ASCII art is fine) and describe the setup a bit more?
Unless some more information is provided in this issue, I'll close it by the end of the month.
Closing due to lack of information from reporter + timeout.
Hi,
I have a Linux router (running pimd-2.3.1) which has addresses in multiple subnets (it's the only router in the network) and two IPIP tunnels. Here is my configuration:
/etc/pimd.conf
rp-address 10.1.253.9 228.4.0.0/19 rp-address 10.1.253.9 228.4.64.0/19 rp-address 10.2.253.9 228.8.0.0/19 rp-address 10.2.253.9 228.8.64.0/19 spt-threshold packets 0 interval 100
(10.1,253,9 and 10.2.253.9 are the router's addresses)
How pimd sees network interfaces:
10:29:04.143 Getting vifs from kernel 10:29:04.143 Installing eth0.100 (10.0.1.254 on subnet 10.0.1/24) as vif #0-7 - rate 0 10:29:04.143 Ignoring eth0.100 (10.1.1.254 on subnet 10.1.1/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.1.2.254 on subnet 10.1.2/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.1.25.254 on subnet 10.1.25/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.1.26.254 on subnet 10.1.26/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.2.1.254 on subnet 10.2.1/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.2.2.254 on subnet 10.2.2/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.2.25.254 on subnet 10.2.25/24) (alias for vif#0?) 10:29:04.143 Ignoring eth0.100 (10.2.26.254 on subnet 10.2.26/24) (alias for vif#0?) 10:29:04.143 Installing eth2.1001 (192.130.2.254 on subnet 192.130.2) as vif #1-8 - rate 0 10:29:04.143 Installing eth3.1202 (192.130.4.254 on subnet 192.130.4) as vif #2-9 - rate 0 10:29:04.143 Installing eth1.251 (10.2.251.51 on subnet 10.2.251/24) as vif #3-10 - rate 0 10:29:04.143 Installing eth0.16 (10.128.116.254 on subnet 10.128.116/24) as vif #4-11 - rate 0 10:29:04.143 Ignoring eth0.16 (10.129.116.254 on subnet 10.129.116/24) (alias for vif#4?) 10:29:04.143 Installing eth1.252 (10.2.252.51 on subnet 10.2.252/24) as vif #5-12 - rate 0 10:29:04.143 Installing eth0.21 (10.128.103.62 on subnet 10.128.103/24) as vif #6-13 - rate 0 10:29:04.143 Ignoring eth0.21 (10.129.103.62 on subnet 10.129.103/24) (alias for vif#6?) 10:29:04.143 Installing eth0.24 (10.128.117.254 on subnet 10.128.117/24) as vif #7-14 - rate 0 10:29:04.143 Ignoring eth0.24 (10.129.117.254 on subnet 10.129.117/24) (alias for vif#7?) 10:29:04.143 Installing eth1.253 (10.2.253.9 on subnet 10.2.253/24) as vif #8-15 - rate 0 10:29:04.143 Installing eth0.251 (10.1.251.51 on subnet 10.1.251/24) as vif #9-16 - rate 0 10:29:04.143 Installing eth1.31 (10.2.231.254 on subnet 10.2.231/24) as vif #10-17 - rate 0 10:29:04.143 Installing eth0.252 (10.1.252.51 on subnet 10.1.252/24) as vif #11-18 - rate 0 10:29:04.143 Installing eth1.402 (10.2.233.254 on subnet 10.2.233/24) as vif #12-19 - rate 0 10:29:04.143 Installing eth0.253 (10.1.253.9 on subnet 10.1.253/24) as vif #13-20 - rate 0 10:29:04.143 Installing eth1.41 (10.2.241.254 on subnet 10.2.241/24) as vif #14-21 - rate 0 10:29:04.143 Installing eth0.26 (10.128.114.254 on subnet 10.128.114/24) as vif #15-22 - rate 0 10:29:04.143 Ignoring eth0.26 (10.129.114.254 on subnet 10.129.114/24) (alias for vif#15?) 10:29:04.143 Installing eth0.31 (10.1.231.254 on subnet 10.1.231/24) as vif #16-23 - rate 0 10:29:04.143 Installing eth1.42 (10.2.242.254 on subnet 10.2.242/24) as vif #17-24 - rate 0 10:29:04.143 Installing eth1.602 (10.129.105.254 on subnet 10.129.105/24) as vif #18-25 - rate 0 10:29:04.143 Installing eth0.336 (10.1.236.254 on subnet 10.1.236/24) as vif #19-26 - rate 0 10:29:04.143 Ignoring eth0.336 (10.2.236.254 on subnet 10.2.236/24) (alias for vif#19?) 10:29:04.143 Installing eth0.37 (10.1.237.254 on subnet 10.1.237/24) as vif #20-27 - rate 0 10:29:04.143 Ignoring eth0.37 (10.2.237.254 on subnet 10.2.237/24) (alias for vif#20?) 10:29:04.143 Installing eth0.401 (10.1.233.254 on subnet 10.1.233/24) as vif #21-28 - rate 0 10:29:04.143 Installing eth0.41 (10.1.241.254 on subnet 10.1.241/24) as vif #22-29 - rate 0 10:29:04.143 Installing eth0.42 (10.1.242.254 on subnet 10.1.242/24) as vif #23-30 - rate 0 10:29:04.143 Installing eth0.601 (10.128.105.254 on subnet 10.128.105/24) as vif #24-31 - rate 0 10:29:04.143 Installing ipiptun1 (172.24.16.5 -> 172.24.16.6) as vif #25-32 - rate 0 10:29:04.143 Installing ipiptun2 (172.24.32.9 -> 172.24.32.10) as vif #26-33 - rate 0
(...)
10:29:04.143 Interface eth0.100 comes up; vif #0 now in service 10:29:04.143 query_groups(): Sending IGMP v3 query on eth0.100 10:29:04.143 Send IGMP Membership Query from 10.0.1.254 to 224.0.0.1 10:29:04.143 SENT 36 bytes IGMP Membership Query from 10.0.1.254 to 224.0.0.1 10:29:04.143 SENT 46 bytes PIM v2 Hello from 10.0.1.254 to 224.0.0.13 10:29:04.143 Interface eth2.1001 comes up; vif #1 now in service 10:29:04.144 query_groups(): Sending IGMP v3 query on eth2.1001 10:29:04.144 Send IGMP Membership Query from 192.130.2.254 to 224.0.0.1 10:29:04.144 SENT 36 bytes IGMP Membership Query from 192.130.2.254 to 224.0.0.1 10:29:04.144 SENT 46 bytes PIM v2 Hello from 192.130.2.254 to 224.0.0.13 10:29:04.144 Interface eth3.1202 comes up; vif #2 now in service 10:29:04.144 query_groups(): Sending IGMP v3 query on eth3.1202 10:29:04.144 Send IGMP Membership Query from 192.130.4.254 to 224.0.0.1 10:29:04.144 SENT 36 bytes IGMP Membership Query from 192.130.4.254 to 224.0.0.1 10:29:04.144 SENT 46 bytes PIM v2 Hello from 192.130.4.254 to 224.0.0.13 10:29:04.144 Interface eth1.251 comes up; vif #3 now in service 10:29:04.144 query_groups(): Sending IGMP v3 query on eth1.251 10:29:04.144 Send IGMP Membership Query from 10.2.251.51 to 224.0.0.1 10:29:04.144 SENT 36 bytes IGMP Membership Query from 10.2.251.51 to 224.0.0.1 10:29:04.144 SENT 46 bytes PIM v2 Hello from 10.2.251.51 to 224.0.0.13 10:29:04.144 Interface eth0.16 comes up; vif #4 now in service 10:29:04.144 query_groups(): Sending IGMP v3 query on eth0.16 10:29:04.144 Send IGMP Membership Query from 10.128.116.254 to 224.0.0.1 10:29:04.144 SENT 36 bytes IGMP Membership Query from 10.128.116.254 to 224.0.0.1 10:29:04.144 SENT 46 bytes PIM v2 Hello from 10.128.116.254 to 224.0.0.13 10:29:04.144 Interface eth1.252 comes up; vif #5 now in service 10:29:04.150 query_groups(): Sending IGMP v3 query on eth1.252 10:29:04.150 Send IGMP Membership Query from 10.2.252.51 to 224.0.0.1 10:29:04.150 SENT 36 bytes IGMP Membership Query from 10.2.252.51 to 224.0.0.1 10:29:04.150 SENT 46 bytes PIM v2 Hello from 10.2.252.51 to 224.0.0.13 10:29:04.151 Interface eth0.21 comes up; vif #6 now in service 10:29:04.151 query_groups(): Sending IGMP v3 query on eth0.21 10:29:04.151 Send IGMP Membership Query from 10.128.103.62 to 224.0.0.1 10:29:04.151 SENT 36 bytes IGMP Membership Query from 10.128.103.62 to 224.0.0.1 10:29:04.151 SENT 46 bytes PIM v2 Hello from 10.128.103.62 to 224.0.0.13 10:29:04.151 Interface eth0.24 comes up; vif #7 now in service 10:29:04.152 query_groups(): Sending IGMP v3 query on eth0.24 10:29:04.152 Send IGMP Membership Query from 10.128.117.254 to 224.0.0.1 10:29:04.152 SENT 36 bytes IGMP Membership Query from 10.128.117.254 to 224.0.0.1 10:29:04.152 SENT 46 bytes PIM v2 Hello from 10.128.117.254 to 224.0.0.13 10:29:04.152 Interface eth1.253 comes up; vif #8 now in service 10:29:04.153 query_groups(): Sending IGMP v3 query on eth1.253 10:29:04.153 Send IGMP Membership Query from 10.2.253.9 to 224.0.0.1 10:29:04.153 SENT 36 bytes IGMP Membership Query from 10.2.253.9 to 224.0.0.1 10:29:04.153 SENT 46 bytes PIM v2 Hello from 10.2.253.9 to 224.0.0.13 10:29:04.153 Interface eth0.251 comes up; vif #9 now in service 10:29:04.153 query_groups(): Sending IGMP v3 query on eth0.251 10:29:04.153 Send IGMP Membership Query from 10.1.251.51 to 224.0.0.1 10:29:04.153 SENT 36 bytes IGMP Membership Query from 10.1.251.51 to 224.0.0.1 10:29:04.153 SENT 46 bytes PIM v2 Hello from 10.1.251.51 to 224.0.0.13 10:29:04.154 Interface eth1.31 comes up; vif #10 now in service 10:29:04.154 query_groups(): Sending IGMP v3 query on eth1.31 10:29:04.154 Send IGMP Membership Query from 10.2.231.254 to 224.0.0.1 10:29:04.154 SENT 36 bytes IGMP Membership Query from 10.2.231.254 to 224.0.0.1 10:29:04.154 SENT 46 bytes PIM v2 Hello from 10.2.231.254 to 224.0.0.13 10:29:04.154 Interface eth0.252 comes up; vif #11 now in service 10:29:04.154 query_groups(): Sending IGMP v3 query on eth0.252 10:29:04.154 Send IGMP Membership Query from 10.1.252.51 to 224.0.0.1 10:29:04.154 SENT 36 bytes IGMP Membership Query from 10.1.252.51 to 224.0.0.1 10:29:04.155 SENT 46 bytes PIM v2 Hello from 10.1.252.51 to 224.0.0.13 10:29:04.155 Interface eth1.402 comes up; vif #12 now in service 10:29:04.155 query_groups(): Sending IGMP v3 query on eth1.402 10:29:04.155 Send IGMP Membership Query from 10.2.233.254 to 224.0.0.1 10:29:04.155 SENT 36 bytes IGMP Membership Query from 10.2.233.254 to 224.0.0.1 10:29:04.155 SENT 46 bytes PIM v2 Hello from 10.2.233.254 to 224.0.0.13 10:29:04.155 Interface eth0.253 comes up; vif #13 now in service 10:29:04.155 query_groups(): Sending IGMP v3 query on eth0.253 10:29:04.156 Send IGMP Membership Query from 10.1.253.9 to 224.0.0.1 10:29:04.156 SENT 36 bytes IGMP Membership Query from 10.1.253.9 to 224.0.0.1 10:29:04.156 SENT 46 bytes PIM v2 Hello from 10.1.253.9 to 224.0.0.13 10:29:04.156 Interface eth1.41 comes up; vif #14 now in service 10:29:04.156 query_groups(): Sending IGMP v3 query on eth1.41 10:29:04.156 Send IGMP Membership Query from 10.2.241.254 to 224.0.0.1 10:29:04.156 SENT 36 bytes IGMP Membership Query from 10.2.241.254 to 224.0.0.1 10:29:04.156 SENT 46 bytes PIM v2 Hello from 10.2.241.254 to 224.0.0.13 10:29:04.156 Interface eth0.26 comes up; vif #15 now in service 10:29:04.157 query_groups(): Sending IGMP v3 query on eth0.26 10:29:04.157 Send IGMP Membership Query from 10.128.114.254 to 224.0.0.1 10:29:04.157 SENT 36 bytes IGMP Membership Query from 10.128.114.254 to 224.0.0.1 10:29:04.157 SENT 46 bytes PIM v2 Hello from 10.128.114.254 to 224.0.0.13 10:29:04.157 Interface eth0.31 comes up; vif #16 now in service 10:29:04.158 query_groups(): Sending IGMP v3 query on eth0.31 10:29:04.158 Send IGMP Membership Query from 10.1.231.254 to 224.0.0.1 10:29:04.158 SENT 36 bytes IGMP Membership Query from 10.1.231.254 to 224.0.0.1 10:29:04.158 SENT 46 bytes PIM v2 Hello from 10.1.231.254 to 224.0.0.13 10:29:04.158 Interface eth1.42 comes up; vif #17 now in service 10:29:04.158 query_groups(): Sending IGMP v3 query on eth1.42 10:29:04.158 Send IGMP Membership Query from 10.2.242.254 to 224.0.0.1 10:29:04.158 SENT 36 bytes IGMP Membership Query from 10.2.242.254 to 224.0.0.1 10:29:04.159 SENT 46 bytes PIM v2 Hello from 10.2.242.254 to 224.0.0.13 10:29:04.159 Interface eth1.602 comes up; vif #18 now in service 10:29:04.159 query_groups(): Sending IGMP v3 query on eth1.602 10:29:04.159 Send IGMP Membership Query from 10.129.105.254 to 224.0.0.1 10:29:04.159 SENT 36 bytes IGMP Membership Query from 10.129.105.254 to 224.0.0.1 10:29:04.159 SENT 46 bytes PIM v2 Hello from 10.129.105.254 to 224.0.0.13 10:29:04.160 Interface eth0.336 comes up; vif #19 now in service 10:29:04.163 query_groups(): Sending IGMP v3 query on eth0.336 10:29:04.163 Send IGMP Membership Query from 10.1.236.254 to 224.0.0.1 10:29:04.163 SENT 36 bytes IGMP Membership Query from 10.1.236.254 to 224.0.0.1 10:29:04.163 SENT 46 bytes PIM v2 Hello from 10.1.236.254 to 224.0.0.13 10:29:04.163 Interface eth0.37 comes up; vif #20 now in service 10:29:04.163 query_groups(): Sending IGMP v3 query on eth0.37 10:29:04.163 Send IGMP Membership Query from 10.1.237.254 to 224.0.0.1 10:29:04.163 SENT 36 bytes IGMP Membership Query from 10.1.237.254 to 224.0.0.1 10:29:04.163 SENT 46 bytes PIM v2 Hello from 10.1.237.254 to 224.0.0.13 10:29:04.163 Interface eth0.401 comes up; vif #21 now in service 10:29:04.164 query_groups(): Sending IGMP v3 query on eth0.401 10:29:04.164 Send IGMP Membership Query from 10.1.233.254 to 224.0.0.1 10:29:04.164 SENT 36 bytes IGMP Membership Query from 10.1.233.254 to 224.0.0.1 10:29:04.164 SENT 46 bytes PIM v2 Hello from 10.1.233.254 to 224.0.0.13 10:29:04.164 Interface eth0.41 comes up; vif #22 now in service 10:29:04.164 query_groups(): Sending IGMP v3 query on eth0.41 10:29:04.164 Send IGMP Membership Query from 10.1.241.254 to 224.0.0.1 10:29:04.164 SENT 36 bytes IGMP Membership Query from 10.1.241.254 to 224.0.0.1 10:29:04.164 SENT 46 bytes PIM v2 Hello from 10.1.241.254 to 224.0.0.13 10:29:04.165 Interface eth0.42 comes up; vif #23 now in service 10:29:04.165 query_groups(): Sending IGMP v3 query on eth0.42 10:29:04.165 Send IGMP Membership Query from 10.1.242.254 to 224.0.0.1 10:29:04.165 SENT 36 bytes IGMP Membership Query from 10.1.242.254 to 224.0.0.1 10:29:04.165 SENT 46 bytes PIM v2 Hello from 10.1.242.254 to 224.0.0.13 10:29:04.165 Interface eth0.601 comes up; vif #24 now in service 10:29:04.165 query_groups(): Sending IGMP v3 query on eth0.601 10:29:04.165 Send IGMP Membership Query from 10.128.105.254 to 224.0.0.1 10:29:04.165 SENT 36 bytes IGMP Membership Query from 10.128.105.254 to 224.0.0.1 10:29:04.166 SENT 46 bytes PIM v2 Hello from 10.128.105.254 to 224.0.0.13 10:29:04.166 Interface ipiptun1 comes up; vif #25 now in service 10:29:04.166 query_groups(): Sending IGMP v3 query on ipiptun1 10:29:04.166 Send IGMP Membership Query from 172.24.16.5 to 224.0.0.1 10:29:04.166 SENT 36 bytes IGMP Membership Query from 172.24.16.5 to 224.0.0.1 10:29:04.166 SENT 46 bytes PIM v2 Hello from 172.24.16.5 to 224.0.0.13 10:29:04.166 Interface ipiptun2 comes up; vif #26 now in service 10:29:04.166 query_groups(): Sending IGMP v3 query on ipiptun2 10:29:04.166 Send IGMP Membership Query from 172.24.32.9 to 224.0.0.1 10:29:04.166 SENT 36 bytes IGMP Membership Query from 172.24.32.9 to 224.0.0.1 10:29:04.167 SENT 46 bytes PIM v2 Hello from 172.24.32.9 to 224.0.0.13 10:29:04.168 Interface register_vif0 comes up; vif #27 now in service
The effect is that multicasts are routed to ipiptun2 just fine, but not to ipiptun1. Digging further into the debug output I can see this for ipiptun1:
10:29:04.635 Received IGMP v2 Membership Report from 172.24.16.6 to 228.4.0.0 10:29:04.636 accept_group_report(): igmp_src 172.24.16.6 ssm_src 228.4.0.0 group 228.4.0.0 report_type 22 10:29:04.636 accept_group_report(): al_pv=2 10:29:04.636 Set delete timer for group: 228.4.0.0 10:29:04.636 create group entry, group 228.4.0.0
10:29:04.774 Cache miss, src 10.1.231.1, dst 228.4.0.0, iif 10 10:29:04.775 find_route: Not PMBR, return NULL 10:29:04.775 Switch shortest path (SPT): src 10.1.231.1, group 228.4.0.0 10:29:04.775 create group entry, group 228.4.0.0
For ipiptun2 it's a bit different:
10:29:04.237 Received IGMP v2 Membership Report from 172.24.32.10 to 228.8.0.1 10:29:04.237 accept_group_report(): igmp_src 172.24.32.10 ssm_src 228.8.0.1 group 228.8.0.1 report_type 22 10:29:04.237 accept_group_report(): al_pv=2 10:29:04.237 Set delete timer for group: 228.8.0.1 10:29:04.238 create group entry, group 228.8.0.1
10:29:04.288 Cache miss, src 10.2.231.1, dst 228.8.0.1, iif 10 10:29:04.288 create group entry, group 228.8.0.1
The configuration for the two IPIP tunnels as well as 10.1.231/24 and 10.2.231/24 networks is symmetrical. I don't understand why pimd treats them differently. I have noticed that in both cases the "cache miss" log entry mentions "iif 10", that doesn't seem right, does it?
Could you please help me solve this problem?
Thank you.