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.

Reply via email to