Date: Fri, 22 Nov 2019 00:31:00 +0300 From: Victor Gamov <vit@otcnet.ru> To: freebsd-net@freebsd.org Subject: Re: FreeBSD as multicast router Message-ID: <07757b31-f912-2ef4-8a8f-f055b8e46e54@otcnet.ru> In-Reply-To: <649ee28c-d5fa-c44b-44f7-e6020bdc5afd@otcnet.ru> References: <201911190049.xAJ0n474026871@mail.karels.net> <649ee28c-d5fa-c44b-44f7-e6020bdc5afd@otcnet.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Looks like everything is OK, but multicast routed if S,G specified in JOIN only. Is it a FreBSD-specific limitation? Also `netstat -gs` reports about some errors: ===== IPv4 multicast forwarding: 973725 multicast forwarding cache lookups 15 multicast forwarding cache misses 498297 upcalls to multicast routing daemon 0 upcall queue overflows (!!!) 16459 upcalls dropped due to full socket buffer 0 cache cleanups 15 datagrams with no route for origin 0 datagrams arrived with bad tunneling 0 datagrams could not be tunneled 475659 datagrams arrived on wrong interface 0 datagrams selectively dropped 0 datagrams dropped due to queue overflow 0 datagrams dropped for being too large ===== On 19/11/2019 11:05, Victor Gamov wrote: > On 19/11/2019 03:49, Mike Karels wrote: >>> Hi All >> >>> Still trying to run FreeBSD-box as multicast router :-) >> >>> FreeBSD upgraded to 11.3-STABLE #1 r354778. netstat pacth by Mike Karels >>> manually applied and netstat -gs looks OK now. >> >>> Latest pimd version 3.0beta1 downloaded from git and configured. While >>> configure it report following: >> >>> ===== >>> ------------------ Summary ------------------ >>> pimd version 3.0-beta1 >>> Prefix................: /usr/local >>> Sysconfdir............: /usr/local/etc >>> Localstatedir.........: /usr/local/var >>> C Compiler............: cc -g -O2 >> >>> Optional features: >>> Kernel register encap.: no >>> Kernel (*,G) support..: no >>> Kernel MAX VIFs.......: 32 >>> Memory save...........: no >>> RSRR (experimental)...: no >>> Exit on error.........: yes >>> ===== >> >>> What does "Kernel (*,G) support..: no" means? >> >> >>> Then my test multicast network configured (again) >>> -------------------- ---------- >>> -vlan298-| FreeBSD PIM router |-vlan299-| client | >>> |208.34/29 205.2/29| |205.5/29| >>> -------------------- ---------- >> >> >>> Two multicast generated by FreeBSD-router: one (232.232.9.43) sended >>> from vlan299 and another (232.232.88.173) from vlan298 both with TTL=20 >> >>> Pimd started with following config: >>> ===== >>> phyint vlan299 enable ttl-threshold 20 >>> phyint vlan298 enable ttl-threshold 20 >>> rp-address 10.200.205.2 232.232.0.0/16 >>> ===== >> >> If the threshold is 20 and the TTL is 20, does that mean that the TTL is >> just high enough, or is it at the cutoff? I'd try lowering the threshold >> and/or increasing the TTL to see which it is. If the TTL is 20 on the >> incoming side, it would be 19 on the outgoing side. > > ttl-threshold changed to 10 in pimd.conf. `netstat -g` reports > Thresh=10 now. > > Locally FreeBSD-router generated multicast vlan299 comes to receiver > with ttl=20. And it's OK. > > Locally FreeBSD-router generated multicast vlan298 does not comes to > receiver. > > Multicast generated from another sender on vlan298 comes to router with > TTL=20 but never comes to receiver via vlan299 > >>> Now client is requesting multicast which router is sending from vlan299 >>> and client successfully receiving it. But when client is requests >>> multicast sending (by router) from vlan298 it doesn't receive it. >> >> >>> My first question: (in theory) is router must send multicast to client >>> in this situation? >> >> In theory yes, modulo TTL and other checks. > > I will reconfigure my test network to use dedicated FreeBSD-box as > multicast router with two only multicast interfaces to get more clear > info from `netstat -gs` > > > Also pimd periodically reports following > ===== > Kernel busy, retrying (1/3) routing socket read in one sec > ===== > > Is it OK? > > > And more about pimd. It creates register_vif0 on startup. I assume it > uses this interface (not reported by `ifconfig`) to route all multicast > via. But `netstat -g` reports this interface with threshold=1. Is it OK? -- CU, Victor Gamov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?07757b31-f912-2ef4-8a8f-f055b8e46e54>