diff -ur orig/linux-2.5.75/net/ipv6/sit.c linux-2.5.75/net/ipv6/sit.c --- orig/linux-2.5.75/net/ipv6/sit.c 2003-07-10 23:14:48.000000000 +0300 +++ linux-2.5.75/net/ipv6/sit.c 2003-07-12 10:00:27.000000000 +0300 @@ -472,10 +472,13 @@ addr_type = ipv6_addr_type(addr6); } - if ((addr_type & IPV6_ADDR_COMPATv4) == 0) - goto tx_error_icmp; + if (addr_type & IPV6_ADDR_COMPATv4) + dst = addr6->s6_addr32[3]; + else + dst = try_6to4(addr6); - dst = addr6->s6_addr32[3]; + if (!dst) + goto tx_error_icmp; } {