FreeBSD as multicast router
Mike Karels
mike at karels.net
Fri Nov 8 22:55:14 UTC 2019
> On 8 Nov 2019, at 7:30, Mike Karels wrote:
> >> P.S. I rebuild kernel with MROUTING option but
> >> =====
> >> # netstat -gs -f inet
> >> No IPv4 MROUTING kernel support
> >> =====
> >
> >> still here
> >
> > Oh, I see; that's another manifestation of the bug that makes netstat
> > fail with the loadable module. It doesn't work if VNET is defined,
> > because then there isn't a single stats structure with the expected
> > name. My fixed netstat would work. Let me know what FreeBSD version
> > you are running, and I can build a fixed version; or I can send a
> > patch.
> How did you fix netstat?
> The proper way to fix this seems to be to stop using lkvm for querying
> the stats and properly exporting them in the kernel.
They are already exported via sysctl, and fetched that way on a live
system. But netstat was stupidly insisting that _mrtstats have a value
in the namelist first. That is not true if ip_mroute was loaded as a
module, and also if VNET was defined. The fix is not to complain or quit
unless sysctl fails, or if operating on a core file and _mrtstat is
not found.
When I'm happy with the patch, I'll put it in review. I haven't checked
yet how other functions deal with VNET (if at all) in a core file.
Mike
More information about the freebsd-net
mailing list