From owner-freebsd-net Fri Jan 18 21:45:12 2002 Delivered-To: freebsd-net@freebsd.org Received: from InterJet.dellroad.org (adsl-63-194-81-26.dsl.snfc21.pacbell.net [63.194.81.26]) by hub.freebsd.org (Postfix) with ESMTP id 6F7DC37B400 for ; Fri, 18 Jan 2002 21:45:05 -0800 (PST) Received: from arch20m.dellroad.org (arch20m.dellroad.org [10.1.1.20]) by InterJet.dellroad.org (8.9.1a/8.9.1) with ESMTP id VAA70472; Fri, 18 Jan 2002 21:30:03 -0800 (PST) Received: (from archie@localhost) by arch20m.dellroad.org (8.11.6/8.11.6) id g0J5U0T27493; Fri, 18 Jan 2002 21:30:00 -0800 (PST) (envelope-from archie) From: Archie Cobbs Message-Id: <200201190530.g0J5U0T27493@arch20m.dellroad.org> Subject: Re: netgraph: how to setsockopt on ksocket node ? In-Reply-To: <214190000.1011326302@blues.viagenie.qc.ca> "from Florent Parent at Jan 17, 2002 10:58:22 pm" To: Florent Parent Date: Fri, 18 Jan 2002 21:30:00 -0800 (PST) Cc: freebsd-net@FreeBSD.ORG, julian@elischer.org X-Mailer: ELM [version 2.4ME+ PL88 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Florent Parent writes: > >> Anyone has an example on how to setsockopt on a ksocket node in netgraph? > >> > >> struct opts { > >> int level; > >> int name; > >> int value; > >> } myopts = { SOL_SOCKET, SO_REUSEADDR, 1 > >> }; > >> > >> ret = NgSendMsg(cs, epath, NGM_KSOCKET_COOKIE, NGM_KSOCKET_SETOPT, > >> (struct ng_ksocket_sockopt *)&myopts, > >> sizeof(myopts))); > >> > >> return error 14 "Bad address". > >> > >> Did some tracing in ng_ksocket.c and the struct sockopt sent as argument > >> to sosetopt() seems to contains sane values: > >> > >> sopt.sopt_val = 0xc182452c (pointer dereferences to 1) > >> sopt.sopt_valsize = 4 > netgraph: sendto(.dummy): Bad address Hmm.. I wonder if the problem is that this has never worked :-) That is, maybe setsockopt() is expecting the value pointer to point into user memory, while ng_ksocket is using a pointer that points into kernel memory? In which case, I don't know how to go about fixing it.. Julian? -Archie __________________________________________________________________________ Archie Cobbs * Packet Design * http://www.packetdesign.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message