protecting netgraph calls from outside of the network context
Dmitri Denissov
ddenissov at sandvine.com
Fri May 21 05:26:55 GMT 2004
On Thu, 20 May 2004, Julian Elischer wrote:
> > 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.
> >
>
> reinjects it to where?
>
To the adjacent ng_ether node connected via the lower hook.
So the question is how to protect the ng_send_data() call originated
from timer or user space context.
>
> >
> > > 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