Date: Sun, 20 Jan 2002 16:34:05 -0500 From: Florent Parent <Florent.Parent@viagenie.qc.ca> To: Archie Cobbs <archie@dellroad.org> Cc: freebsd-net@FreeBSD.ORG, julian@elischer.org Subject: Re: netgraph: how to setsockopt on ksocket node ? Message-ID: <135740000.1011562445@blues.viagenie.qc.ca>
next in thread | raw e-mail | index | archive | help
--On 2002-01-20 11:30:01 -0800 archie@dellroad.org wrote:
>
> So this 'struct proc' argument can be NULL now?
> What about when calling other socket functions like socreate(), et. al.?
'struct proc' member in the struct sockopt can be NULL. As per the comment
in that structure, NULL means that the calling entity is the kernel, not a
user process (my interpretation):
struct sockopt {
enum sopt_dir sopt_dir; /* is this a get or a set? */
int sopt_level; /* second arg of [gs]etsockopt */
int sopt_name; /* third arg of [gs]etsockopt */
void *sopt_val; /* fourth arg of [gs]etsockopt */
size_t sopt_valsize; /* (almost) fifth arg of [gs]etsockopt */
struct proc *sopt_p; /* calling process or null if kernel */
};
This doesn't apply to socreate() since it isn't passed a 'struct sockopt'
as argument. From a quick glance, the socket functions that are concerned
are sosetopt() and sogetopt().
> If so, your fix looks like the right onw.
I will test the NGM_KSOCKET_GETOPT code path as I suspect that a similar
fix will be required.
Florent.
--
Florent Parent
Viagénie http://www.viagenie.qc.ca
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?135740000.1011562445>
