Ok, understood. Actually we already seem to have enobufs being returned.
Eric,
Does the attached patch fix it? Not tested or even compiled.
Someone going to change the manpages?
cheers,
jamal
On Fri, 27 Sep 2002, Matti Aarnio wrote:
> On Fri, Sep 27, 2002 at 10:53:00AM -0400, jamal wrote:
> > On Fri, 27 Sep 2002, Eric Lemoine wrote:
> >
> > > I figured out that packets can be dropped in pfifo_fast_enqueue()
> > > [the default qdisc's enqueue func], even though the driver/kernel
> > > flow control has triggered.
> ...
> > What trigger do you suggest to wake up the process again?
> > A better idea maybe to return something to the socket so it can
> > manage things instead -- not sure what to return though that wouldnt
> > break some standard;
>
>
> "man sendto" error return codes:
>
> ENOBUFS
> The output queue for a network interface was full.
> This generally indicates that the interface has
> stopped sending, but may be caused by transient
> congestion. (This cannot occur in Linux, packets
> are just silently dropped when a device queue over
> flows.)
>
> > cheers,
> > jamal
>
> /Matti Aarnio
>
enobuf.patch
Description: Text document
|