Hello list,

I have a userprocess using libipq. It stores packets comming in through 
traget -j QUEUE,
delay them for a while, and send them out via verdict NF_ACCEPT. That 
works fine.
But when I quit the process normaly (use ipq_destroy_handle()) and not 
all packets have
been send out again, I see sometimes in /proc/net/ip_queue, that the 
values are not set back.
It is the same, when the userprocess starts, calls irq_read() and before 
a packet arrives, I quit
the process normaly. In /proc/net/ip_queue you can see that Peer pid, 
Peer copy mode and
Peer copy range are not set back.

I would like to know, if I have to do anything else, before quit my 
userprocess? Is there
maybe a flush_queue() call or term_queue() call? I thought about, 
because of Queue flushing
and Queue terminate in /proc/net/ip_queue.

Looking through the source of ip_queue.c I found some similar calls and 
a comment :
 * Packets arrive here from netfilter for queuing to userspace. *
 * All of them must be fed back via nf_reinject() or Alexey will kill 
Rusty. *

Can someone give me a guidance how to quit my process without the above 
effets :-)  ?

Thanks in advance

Tassilo




Reply via email to