Bananian

BPI R1 multicast routing

1 2589
smory  
Edited by smory at Thu May 28, 2015 14:56

Hi,

I am trying to route multicast to the clients behind the R1 for the IPTV purposes. I have installed pimd, I  opened firewall, but multicasts are not routed to the clients. I know that multicast are accepted as I run Tvheadend on the BPI R1.

This is my set up:

eth0.101 - wan (internet + basic IPTV)
eth0.1021 - tagged vlan on same port as WAN (same LAN cable) for  premium IPTV
eth0.102 + wlan on br0 - home network 10.0.0.0/24

theadend is using multicasts on eth0.1021 mostly
  1. route
  2. Kernel IP routing table
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  4. default         10.32.102.1     0.0.0.0         UG    0      0        0 eth0.101
  5. 10.0.0.0        *               255.255.255.0   U     0      0        0 br0
  6. 10.32.102.0     *               255.255.255.0   U     0      0        0 eth0.101
  7. 10.33.102.0     *               255.255.255.0   U     0      0        0 eth0.1021
  8. 224.0.0.0       10.32.102.1     240.0.0.0       UG    0      0        0 eth0.101
Copy the Code
firewall config - set up very permisive for the testing...:
  1. iptables -L -n -v                                                  :(
  2. Chain INPUT (policy DROP 464 packets, 63676 bytes)
  3. pkts bytes target     prot opt in     out     source               destination
  4.   146  4440 ACCEPT     2    --  *      *       0.0.0.0/0            0.0.0.0/0
  5.     0     0 ACCEPT     all  --  *      *       224.0.0.0/4          0.0.0.0/0
  6. 2360K 3200M ACCEPT     all  --  *      *       0.0.0.0/0            224.0.0.0/4      
  7.     4   124 ACCEPT     2    --  eth0.101 *       0.0.0.0/0            0.0.0.0/0
  8.     0     0 ACCEPT     tcp  --  eth0.101 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
  9. 1865K   99M ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
  10.   363 81722 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
  11. 45287   65M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
  12. 4887K 6626M ACCEPT     all  --  eth0.1021 *       0.0.0.0/0            0.0.0.0/0            PKTTYPE = multicast
  13.     0     0 ACCEPT     icmp --  eth0.1021 *       0.0.0.0/0            0.0.0.0/0         

  14. Chain FORWARD (policy DROP 0 packets, 0 bytes)
  15. pkts bytes target     prot opt in     out     source               destination
  16. 51005 6148K ACCEPT     all  --  br0    *       10.0.0.0/24          0.0.0.0/0
  17. 87218  115M ACCEPT     all  --  eth0.101 *       0.0.0.0/0            10.0.0.0/24

  18. Chain OUTPUT (policy ACCEPT 1353K packets, 1921M bytes)
  19. pkts bytes target     prot opt in     out     source               destination
  20.   101  3208 ACCEPT     2    --  *      *       0.0.0.0/0            0.0.0.0/0
  21.    58  1848 ACCEPT     2    --  *      eth0.101  0.0.0.0/0            0.0.0.0/0
Copy the Code
I use default configuration for pimd
  1. pimd -r                                                            :(

  2. Virtual Interface Table
  3. Vif  Local-Address    Subnet               Thresh   Flags          Neighbors
  4.    0  10.32.102.53     10.32.102/24         1        DR PIM         10.32.102.1
  5.    1  10.33.102.50     10.33.102/24         1        DR PIM         10.33.102.1
  6.    2  10.0.0.1         10/24                1        DR NO-NBR
  7.    3  10.32.102.53     register_vif0        1

  8. Multicast Routing Table
  9. Source          Group           RP-addr         Flags
  10. ---------------------------(*,G)----------------------------
  11. INADDR_ANY      232.232.64.87   10.33.102.50    WC RP
  12. Joined   oifs: ....
  13. Pruned   oifs: ....
  14. Leaves   oifs: .l..
  15. Asserted oifs: ....
  16. Outgoing oifs: .o..
  17. Incoming     : ...I

  18. TIMERS:  Entry   JP   RS Assert VIFS:  0  1  2  3
  19.            0     15    0    0          0  0  0  0
  20. ---------------------------(S,G)----------------------------
  21. 10.33.102.50    232.232.64.87   10.33.102.50    SPT SG
  22. Joined   oifs: ....
  23. Pruned   oifs: ....
  24. Leaves   oifs: .l..
  25. Asserted oifs: ....
  26. Outgoing oifs: .o..
  27. Incoming     : .I..

  28. TIMERS:  Entry   JP   RS Assert VIFS:  0  1  2  3
  29.            160    15    0    0         0 0 0 0
  30. ---------------------------(*,G)----------------------------
  31. INADDR_ANY      239.255.255.250 10.33.102.50    WC RP
  32. Joined   oifs: ....
  33. Pruned   oifs: ....
  34. Leaves   oifs: l...
  35. Asserted oifs: ....
  36. Outgoing oifs: o...
  37. Incoming     : ...I

  38. TIMERS:  Entry   JP   RS Assert VIFS:  0  1  2  3
  39.            0     15    0    0          0  0  0  0
  40. ---------------------------(S,G)----------------------------
  41. 10.0.0.102      239.255.255.250 10.33.102.50    SPT SG
  42. Joined   oifs: ....
  43. Pruned   oifs: ....
  44. Leaves   oifs: l...
  45. Asserted oifs: ....
  46. Outgoing oifs: o...
  47. Incoming     : ..I.

  48. TIMERS:  Entry   JP   RS Assert VIFS:  0  1  2  3
  49.            170    25    0    0         0 0 0 0
  50. ---------------------------(S,G)----------------------------
  51. 10.32.102.53    239.255.255.250 10.33.102.50    SPT SG
  52. Joined   oifs: ....
  53. Pruned   oifs: ....
  54. Leaves   oifs: l...
  55. Asserted oifs: ....
  56. Outgoing oifs: o...
  57. Incoming     : I...

  58. TIMERS:  Entry   JP   RS Assert VIFS:  0  1  2  3
  59.            160    15    0    0         0 0 0 0
  60. --------------------------(*,*,RP)--------------------------
  61. Number of Groups: 2
  62. Number of Cache MIRRORs: 0
Copy the Code
I tried also IGMPProxy, but it didn't start up after compilation.
I also tried mrouted but no success...

  1. mrinfo
  2. 127.0.0.1 (localhost) [DVMRPv3 compliant]:
  3.   10.32.102.53 -> 0.0.0.0 (local) [1/1/leaf]
  4.   10.33.102.50 -> 0.0.0.0 (local) [1/1/leaf]
  5.   10.0.0.1 -> 0.0.0.0 (local) [1/1/querier/leaf]
Copy the Code
I have also disabled IGMP snooping by
  1. echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping
Copy the Code
rp_filter is dissabled on all interfaces...

Please help.
hawhill  
Well, you can try to get more info here, but I suggest you also ask for support in a forum that is more dedicated to the application at hand - which has only slight relation to Banana Pi in general and Bananian in particular.

However, I don't think that pimd does what you want to do. IGMPProxy seems to be a much better fit.

You have to log in before you can reply Login | Sign Up

Points Rules