On 9.11.2022 12.39 PM, Barbaros Bilek wrote:
Hi again,

I've added this route :
''route add 239.0.1.2/32 172.16.1.1''
But nothing changed.
Is OpenBSD capable of multicast routing? Am I doing a wrong configuration?
Any thoughts?
Thanks in advance.

On Tue, Nov 8, 2022 at 6:28 PM Barbaros Bilek <barbarosb...@gmail.com>
wrote:

Hi Folks,

I try to do multicast routing with OpenBSD 7.2
Here is my setup:

# Default GW to internet
echo 'inet autoconf' > /etc/hostname.em0
# Get 10.10.12.81/24 from dhcp-server with gw 10.10.12.1

# Multicast Server  Interface (transmit packets)
echo 'inet 172.16.1.1 255.255.255.0 NONE' > /etc/hostname.em1
# Multicast Client interface (receive packets)
echo 'inet 172.16.55.1 255.255.255.0 NONE' > /etc/hostname.em2
# Forward ip & multicast
echo 'sysctl net.inet.ip.forwarding=1' > /etc/sysctl.conf
echo 'sysctl net.inet.ip.mforwarding=1' >> /etc/sysctl.conf
# Enable Multicast on OpenBSD
rcctl enable multicast
# Disable PF
rcctl disable pf

# Mrouted Configuration
multicast_test# cat /etc/mrouted.conf
name STD 239.0.0.0/16
pruning on
phyint 172.16.1.1 threshold 16
boundary STD
altnet 172.16.0.0/16
phyint 172.16.55.1 threshold 16
boundary STD
altnet 172.16.0.0/16
phyint 10.10.12.81 disable
# Enable mrouted on startUp
rcctl enable mrouted
# Reboot system
reboot

For testing purposes I use this application : Singlewire Software IC Test
Multicast (It uses )
I'm sure about my testing environment. Because when I use a Brocade ICX L3
switch with router pim configuration everything is ok. But with OpenBSD
multicast routing fails:

Here some logs :

multicast_test# mrinfo

127.0.0.1 (localhost) [version 3.8,prune,genid,mtrace]:

   10.10.12.81 -> 0.0.0.0 (local) [1/1/disabled]

   172.16.1.1 -> 0.0.0.0 (local) [1/16/querier/leaf]

   172.16.55.1 -> 0.0.0.0 (local) [1/16/querier/leaf]


multicast_test# netstat -g


Virtual Interface Table

  Vif  Thresh  Local-Address    Remote-Address   Pkt_in  Pkt_out

    1      16  172.16.1.1                           458        0

    2      16  172.16.55.1                            0        0


Multicast Forwarding Cache

  Hash  Origin           Mcastgroup       Traffic  In-Vif
Out-Vifs/Forw-ttl

     0  172.16.1.1       239.0.1.2           458B       1


Total no. of entries in cache: 1


IPv6 Multicast Interface Table is empty

IPv6 Multicast Routing Table is empty


Output when I run mrouted at debug mode :


multicast_test# mrouted -dvvvv




mrouted: debug level invalid

debug level 2

18:06:55.405 mrouted version 3.8

18:06:55.407 Getting vifs from kernel interfaces

18:06:55.408 installing em0 (10.10.12.81 on subnet 10.10.12/24) as vif #0
- rate=0

18:06:55.408 installing em1 (172.16.1.1 on subnet 172.16.1/24) as vif #1 -
rate=0

18:06:55.408 installing em2 (172.16.55.1 on subnet 172.16.55/24) as vif #2
- rate=0

18:06:55.408 Getting vifs from /etc/mrouted.conf

18:06:55.408 Installing vifs in mrouted...

18:06:55.408 vif #1, phyint 172.16.1.1

18:06:55.409 vif #2, phyint 172.16.55.1

pruning on

18:06:55.410 Installing vifs in kernel...

18:06:55.410 vif #1, phyint 172.16.1.1

18:06:55.410 vif #2, phyint 172.16.55.1

vifs_with_neighbors = 0


Virtual Interface Table

Vif  Name  Local-Address                               M  Thr  Rate
Flags

  0    em0  10.10.12.81     subnet: 10.10.12/24         1   1      0
disabled

18:06:55.411 warning - SIOCGETVIFCNT fails


  1    em1  172.16.1.1      subnet: 172.16.1/24         1  16      0
querier

                 alternate subnets: 172.16/16

                        boundaries: 239.0/16

18:06:55.411 warning - SIOCGETVIFCNT fails


  2    em2  172.16.55.1     subnet: 172.16.55/24        1  16      0
querier

                 alternate subnets: 172.16/16

                        boundaries: 239.0/16

18:06:55.411 warning - SIOCGETVIFCNT fails



Multicast Routing Table (3 entries)

  Origin-Subnet      From-Gateway    Metric Tmr In-Vif  Out-Vifs

  172.16.55/24                          1     0   2    1*

  172.16.1/24                           1     0   1    2*

  172.16/16                             1     0   1    2*


18:07:15.583 update 0 starting at 3 of 3

18:07:16.593 update 0 starting at 3 of 3

18:07:17.602 update 0 starting at 3 of 3

18:07:18.612 update 0 starting at 3 of 3


When i watch packets on em1 i can see multicast packets are arriving: 
(constantly
increasing...)

multicast_test# tcpdump -nettti em1 host 239.0.1.2

tcpdump: listening on em1, link-type EN10MB

Nov 08 18:19:33.344608 2c:f0:5d:73:f8:c4 01:00:5e:00:01:02 0800 73:
172.16.1.2.50665 > 239.0.1.2.20480: udp 31

Nov 08 18:19:34.358455 2c:f0:5d:73:f8:c4 01:00:5e:00:01:02 0800 73:
172.16.1.2.50665 > 239.0.1.2.20480: udp 31


But at the receiver side (em2) there are no multicast packets transmitted
by em1
After a while i saw only one packet as igmp nreport with TTL 1

multicast_test# tcpdump -nettti em2 host 239.0.1.2

tcpdump: listening on em2, link-type EN10MB

Nov 08 18:21:12.994258 2c:f0:5d:73:f8:c3 01:00:5e:00:01:02 0800 60:
172.16.55.2 > 239.0.1.2: igmp nreport 239.0.1.2 [ttl 1]


I've even tried some igmp/mcast proxies but could not figure out how to
become a multicast router with my best OS, OpenBSD.

I can not understand what I am doing wrong.
Thanks and regards.


Hi Barbaros,

Those links below might help:

https://troglobit.com/howtos/pimd-on-openbsd/

https://www.reddit.com/r/openbsd/comments/aw7vo7/64_simple_multicast_routing/

https://github.com/Esdenera/mcast-proxy

http://undeadly.org/cgi?action=article;sid=20110222002946

Cheers,

Tarkan

Reply via email to