===== net/ipv6/tcp_ipv6.c 1.100 vs edited ===== --- 1.100/net/ipv6/tcp_ipv6.c 2004-11-02 11:48:28 +11:00 +++ edited/net/ipv6/tcp_ipv6.c 2004-11-05 19:44:56 +11:00 @@ -1045,13 +1045,8 @@ fl.fl_ip_sport = t1->source; /* sk = NULL, but it is safe for now. RST socket required. */ - if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { - - if ((xfrm_lookup(&buff->dst, &fl, NULL, 0)) < 0) { - dst_release(buff->dst); - return; - } - + if (!ip6_dst_lookup(NULL, &buff->dst, &fl) && + !xfrm_lookup(&buff->dst, &fl, NULL, 0)) { ip6_xmit(NULL, buff, &fl, NULL, 0); TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); TCP_INC_STATS_BH(TCP_MIB_OUTRSTS); @@ -1113,11 +1108,8 @@ fl.fl_ip_dport = t1->dest; fl.fl_ip_sport = t1->source; - if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { - if ((xfrm_lookup(&buff->dst, &fl, NULL, 0)) < 0) { - dst_release(buff->dst); - return; - } + if (!ip6_dst_lookup(NULL, &buff->dst, &fl) && + !xfrm_lookup(&buff->dst, &fl, NULL, 0)) { ip6_xmit(NULL, buff, &fl, NULL, 0); TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); return;