On Tue, 11 Sep 2007 15:45:29 +0800 "Alvin Valera" <[EMAIL PROTECTED]> wrote:
> I am currently writing a kernel module that will apply some delay to > incoming packets. The module is implemented using netfilter hooked > into the NF_IP_LOCAL_IN. Once the module receives a packet of interest > from the lower layer, it will queue the packet (in it's own queue) and > associate a kernel timer. Once the kernel timer expires, the packet is > then propagated up the higher layer. Can be done already with netem and ifb already. Netfilter is intended for only yes/no decisions, not time alteration. > The problem happens like this: > Once the socket is closed by the user-space application, there are > still packets left in the module's queue. Now, the moment the kernel > timer expires and the module propagates those packets up into the > higher layer, the system hangs. > > I've been searching for ways to determine if associated socket is > closed. This way, if my module knows that the user-space already > closed the socket, it will not propagate the packet up. Does anyone > have a solution for this problem? > > Thanks! Please put networking discussions on netdev@vger.kernel.org - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html