Hi Amit, Sounds strange, and seems similar to one of my previous problems: packets caught by libipq, modified, and reinjected by libnet, bypass the POST ROUTING hook. (I suppose your modified dst address is not of the local machine, otherwise the routing process will pass the packets back to the LOCAL IN hook without going to POST ROUTING I think.) And are you sure these modified packets are sent to the wire? Jee > > > hi, > > i have made an application that reads using libipq functions, and a > kernel module which delivers packet to it. I catch packets originating from > the local machine, and in my user space libipq application i change the > packet (that i get using ipq_read), set its mark field, change src/dest and > then finally return a return code of NF_ACCEPT, > so this changed packet should go back to the kernel right ?, (this > packet i had caught in local_out hook). > Once i inject this packet, i expect the same apcket(with changed ip and > all) to hit post routing, so in my post routing hook function i wait for > a packet with skb->nfmark==some value, but this packet doesnt seem to be > getting caught at post_routing ?? > > any clues ? > > thanks > Amit > >