I am a newbie in using libipq. Currently, I am experiencing a problem regarding truncated message. Occassionally, ipq_read() will return an error (rc = -1) and the error message says "Received truncated message". My code currently ignores that error and have the system continue processing. However, some packets seem to be staying in the ip queue (by checking '/proc/net/ip_queue'), which will cause the queue to fill up eventually. I checked the number of such error, and it matches exactly the number of packets staying in the queue. I am just wondering if anyone knows the cause of such error, and what's the proper way of handling it?
In addition, I am wondering whether the ipq_read() and set_verdict() calls are thread safe. Should I put mutex locks around these two function calls? Putting mutex locks seem to set the errno to EINTR. I am just wondering if this is necessary at all.
Thank you in advance for any help.
Best Regards, John
_________________________________________________________________
Help STOP SPAM with the new MSN 8 and get 2 months FREE* http://join.msn.com/?page=features/junkmail