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