Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Aug 2005 16:04:15 +0000
From:      "Thordur I. Bjornsson" <thib@mi.is>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Checking sysctl values from within the kernel.
Message-ID:  <20050805160415.44b0b05e.thib@mi.is>
In-Reply-To: <42F386B2.1010108@samsco.org>
References:  <20050805005543.5bd947f2.thib@mi.is> <20050805145046.GB78669@dan.emsphone.com> <42F386B2.1010108@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 05 Aug 2005 09:33:06 -0600
Scott Long <scottl@samsco.org> wrote:

> Dan Nelson wrote:
> 
> > In the last episode (Aug 05), Thordur I. Bjornsson said:
> > 
> >>If I want to check a sysctl value from within the kernel (e.g. an
> >>KLD), should I use the system calls described in sysctl(3) ?
> >>
> >>If not, what is the propper way to do so ?
> > 
> > 
> > Since most sysctls are direct mappings onto integer variables in the
> > kernel, just check the variable directly.
> > 
> 
> Most of those integer values are also declared static, so they won't
> be visible to external code, especially not kld's.
> 
> There is no easy way to do this.  I'm sure that you could hack up some
> code to simulate a sysctl syscall from within the kernel, but that
> would be really really gross, evil, and wrong.  What values are you
> trying to get at?  Would it make more sense to export them via real
> accessor functions?
> 
> Scott

I thought that would be a proplem. I'm trying to see the value of
net.inet.tcp.drop_synfin . I could always just use the 
#ifdef TCP_DROP_SYNFIN wich gets set with the kernel option but that
does not mean that the sysctl is set and the user/admin want's to drop
SYNFIN packet's.

Since I'm a novice/newbie when it comes to "kernel" programming any tips
will be really good.

I'll continue to search for this.

PS: If you don't mind, what is a "real accessor function" ?
-- 
Thordur I.	<bzthib@gmail.com>
Humppa!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050805160415.44b0b05e.thib>