[prev in list] [next in list] [prev in thread] [next in thread] 

List:       netfilter-devel
Subject:    Re: status = ipq_read()  I'm occasionally getting < 0...
From:       James Morris <jmorris () intercode ! com ! au>
Date:       2001-08-31 0:46:49
[Download RAW message or body]

On Fri, 31 Aug 2001, Allen wrote:

>
> It takes a day or so, but my User-Space program will eventually
> terminate after receiving < 0 from ipq_read();
>
> Unfortunately I have not had anything better than
> if ( status < 0 ) { die gracefully }
>
> I added more stuff to print error information and I'm waiting now...
>
> Are there known conditions where status < 0 happens ?

Yes, if the socket buffer is overrun, you'll get ENOBUFS.  There could be
others.  What is the error?

> If it does happen, should I die gracefully, or can I keep the
> loop running ?  Do I have to restart Netlink socket ?

For the socket overrun, it's ok to keep going, as the queue handler will
just drop the packet(s) which tripped the overrun.


- James
-- 
James Morris
<jmorris@intercode.com.au>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic