Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2003 18:42:32 -0800
From:      "Crist J. Clark" <cristjc@comcast.net>
To:        John Polstra <jdp@polstra.com>
Cc:        net@freebsd.org
Subject:   Re: netgraph(3) NGM_KSOCKET_BIND
Message-ID:  <20031120024232.GB48914@blossom.cjclark.org>
In-Reply-To: <XFMail.20031119131421.jdp@polstra.com>
References:  <20031119070745.GE10828@blossom.cjclark.org> <XFMail.20031119131421.jdp@polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 19, 2003 at 01:14:21PM -0800, John Polstra wrote:
> On 19-Nov-2003 Crist J. Clark wrote:
> > OK, an easy one. I am trying to do some netgraph(3) coding in
> > userland. From how I read the documentation, this should work. Before
> > I go learn all of the netraph(4) kernel code to understand the error
> > message, could someone tell me how this is supposed to look? I'm sure
> > it's something obvious that I have missed.
> > 
> > The attached test program returns,
> > 
> >   # ./ngtest 
> >   ngtest: failed to bind ksocket: Invalid argument
> [...]
> >         bzero(&laddr, sizeof laddr);
> >         laddr.sin_family = AF_INET;
> >         laddr.sin_addr.s_addr = INADDR_ANY;
> >         laddr.sin_port = htons(DEFAULT_PORT);
> >         if (NgSendMsg(cs, OUR_HOOK_CTL, NGM_KSOCKET_COOKIE, NGM_KSOCKET_BIND,
> >             &laddr, sizeof laddr) == -1)
> >                 err(errno, "failed to bind ksocket");
> 
> I think the problem might be that you forgot to set the "sin_len"
> member of the sockaddr_in struct.  I don't see anything else
> glaringly wrong.

Duh. That was it. Thanks.

I didn't think I had messed up the sockaddr_in because I stuck a plain
ol' bind(2) call in there as a test, and it worked. It didn't seem to
care I forgot to set sin_len.
-- 
Crist J. Clark                     |     cjclark@alum.mit.edu
                                   |     cjclark@jhu.edu
http://people.freebsd.org/~cjc/    |     cjc@freebsd.org



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