Hi all, I have applied the Masquerade patch suggested by Rusty (and now Herbert) and everything works just fine. All packets are masqueraded correctly even when there are multiple interfaces. However, there are icmp dest unreachable messages that still go over the wrong link. i.e. source addr of the wrong link. Since it is local traffic, it will not go through the masquerading code as the socket would exist ( (*pskb)->sk ) will exist, thereby returning with NF_ACCEPT and bypassing the masquerade code. Therefore the problem lies someplace else.... has anyone encountered this problem before??? I know there was a similar issue with arp requests but don't know what came out of that. Any tips or suggestions are welcome. Thanks Dravya