protecting netgraph calls from outside of the network context

Dmitri Denissov ddenissov at sandvine.com
Thu May 20 22:14:13 GMT 2004


This is kind of a bridge, connected to ng_ether interface nodes.
Sometimes it queues received packets and later /on a timer call or a call
from the user space/
it re-injects the packets using ng_send_data.


> From: Julian Elischer [mailto:julian at elischer.org]
> Sent: Thursday, May 20, 2004 5:34 PM
> 
> 
> Ha! funny you should ask that exactly now..
> I was just discussing this with Robert Watson..
> 
> The answer is  "it depends on what you want to do".
> 
> What DO you want to do and what does your node do?
> netgraph has internal locking in 5.x that you need to 
> interact with but it should be pretty transparrent 
> depending on what you are doing..
> 
> 
> On Thu, 20 May 2004, Dmitri Denissov wrote:
> 
> > Hi,
> > 
> > Currently netgraph code uses splnet/splx to protect timeout calls.
> > This doesn't work with 5.2 SMP kernel. What is the proper method 
> > here for a custom netgraph node? Is the Giant lock only the way?
> > 
> > Thanks
> > 
> > --
> > Dmitri


More information about the freebsd-net mailing list