Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jul 2005 13:09:44 -0700
From:      Julian Elischer <julian@elischer.org>
To:        vanvorst@ieee.org
Cc:        freebsd-net@freebsd.org
Subject:   Re: netgraph question
Message-ID:  <42D81808.3000702@elischer.org>
In-Reply-To: <57865.157.127.124.134.1121445163.squirrel@www.stupendousness.org>
References:  <57865.157.127.124.134.1121445163.squirrel@www.stupendousness.org>

next in thread | previous in thread | raw e-mail | index | archive | help


Nathanael M Van Vorst wrote:

>I have some questions about netgraph. I have been using the framework for
>project for a little while. I am at the point where I want to hand-off
>netgraph items to a kernel thread or a kernel module. Then I want the
>module or thread to do some processing and hand this back to netgraph.
>  
>

I guess I should answer you on this one..

We do not have a specific facility to allow a netgraph node to
create or run as a separate kernel thread. The code should be able to
pass stuff to a kernel thread in much the same way that it can
pass stuff to a userland thread. i.e. get some lock, put it in a queue, 
drop the lock again
and do a wakeup on the thread to tell it there is something to get.

I guess it could create the thread during node startup or type addition..

there are several examples of threads being created in /sys/kern
look for instances of kthread_create().



>I looked through a little bit, and did not find an easy way. Did I miss it?
>  
>

tell us more about what you'd like to do..

>Marching on, I wrote up a little module that had two functions that a node
>could call. One to register the hook to pass items back on, and one to pass
>items to to the module. Inside the module I call NG_FWD_ITEM to send the
>item back on the passed in hook. It always crashes in the ITEM_DEBUG
>macro. Help? Where should I go? When I get a kernel core, the stack is
>corrupt so it is f no use.
>  
>

I don't quite understand what you mean by "register the hook"

>If anyone is curious I can send the little test code I have cobbled
>together to see how I might do this.
>  
>

send to me directly.

>Thanks!!
>
>--Nate
>
>
>---------------------------------------
>Nathanael Van Vorst
>Home:
>   vanvorst@ieee.org
>
>
>“It is intuitively obvious to even the
>              most casual of observers!”
>_______________________________________________
>freebsd-net@freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-net
>To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>  
>



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