On Sat, Feb 18, 2006 at 05:16:18PM +0000, Andre Oppermann wrote:
+> andre       2006-02-18 17:16:18 UTC
+> 
+>   FreeBSD src repository
+> 
+>   Modified files:
+>     sys/kern             uipc_domain.c uipc_mbuf.c 
+>   Log:
+>   The sysctls kern.ipc.[max_linkhdr|max_protohdr|max_hdr|max_datalen]
+>   can't be changed from userland.  Make them read-only and provide
+>   descriptions.

[...]

+> -SYSCTL_INT(_kern_ipc, KIPC_MAX_LINKHDR, max_linkhdr, CTLFLAG_RW,
+> -       &max_linkhdr, 0, "");
+> -SYSCTL_INT(_kern_ipc, KIPC_MAX_PROTOHDR, max_protohdr, CTLFLAG_RW,
+> -       &max_protohdr, 0, "");
+> -SYSCTL_INT(_kern_ipc, KIPC_MAX_HDR, max_hdr, CTLFLAG_RW, &max_hdr, 0, "");
+> -SYSCTL_INT(_kern_ipc, KIPC_MAX_DATALEN, max_datalen, CTLFLAG_RW,
+> -       &max_datalen, 0, "");
+> +SYSCTL_INT(_kern_ipc, KIPC_MAX_LINKHDR, max_linkhdr, CTLFLAG_RD,
+> +       &max_linkhdr, 0, "Size of largest link layer header");
+> +SYSCTL_INT(_kern_ipc, KIPC_MAX_PROTOHDR, max_protohdr, CTLFLAG_RD,
+> +       &max_protohdr, 0, "Size of largest protocol layer header");
+> +SYSCTL_INT(_kern_ipc, KIPC_MAX_HDR, max_hdr, CTLFLAG_RD,
+> +       &max_hdr, 0, "Size of largest link plus protocol header");
+> +SYSCTL_INT(_kern_ipc, KIPC_MAX_DATALEN, max_datalen, CTLFLAG_RD,
+> +       &max_datalen, 0, "Minimum space left in mbuf after max_hdr");

I haven't looked at all of them, but let's take max_linkhdr. If it is
read-only, where is it actually set to some value?

The only place I found is sys/kern/uipc_domain.c:domaininit():

        if (max_linkhdr < 16)           /* XXX */
                max_linkhdr = 16;

Which doesn't make any sense.
Maybe it should be a tunable?

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
[EMAIL PROTECTED]                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Attachment: pgpETF4AKFfnE.pgp
Description: PGP signature

Reply via email to