diff options
author | rwatson <rwatson@FreeBSD.org> | 2009-02-28 22:58:52 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2009-02-28 22:58:52 +0000 |
commit | ac5e32881783d2a790978c8d3e987b0da27f0f2a (patch) | |
tree | 35b681b4395ca18a585aa55a5d8b29f0e1ca6307 /sys/netinet | |
parent | 55cab290fcfb54ff2225bc84652ff631feca520a (diff) | |
download | FreeBSD-src-ac5e32881783d2a790978c8d3e987b0da27f0f2a.zip FreeBSD-src-ac5e32881783d2a790978c8d3e987b0da27f0f2a.tar.gz |
Remove unreachable code for generating RST segments from tcp_twcheck();
this code became stale when T/TCP support was removed.
Discussed with: bz, sam
MFC after: 1 month
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/tcp_timewait.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index 3138547..cc3170c 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -333,11 +333,6 @@ tcp_twcheck(struct inpcb *inp, struct tcpopt *to, struct tcphdr *th, struct tcptw *tw; int thflags; tcp_seq seq; -#ifdef INET6 - int isipv6 = (mtod(m, struct ip *)->ip_v == 6) ? 1 : 0; -#else - const int isipv6 = 0; -#endif /* tcbinfo lock required for tcp_twclose(), tcp_tw_2msl_reset(). */ INP_INFO_WLOCK_ASSERT(&V_tcbinfo); @@ -417,46 +412,6 @@ tcp_twcheck(struct inpcb *inp, struct tcpopt *to, struct tcphdr *th, if (thflags != TH_ACK || tlen != 0 || th->th_seq != tw->rcv_nxt || th->th_ack != tw->snd_nxt) tcp_twrespond(tw, TH_ACK); - goto drop; - - /* - * Generate a RST, dropping incoming segment. - * Make ACK acceptable to originator of segment. - * Don't bother to respond if destination was broadcast/multicast. - */ - if (m->m_flags & (M_BCAST|M_MCAST)) - goto drop; - if (isipv6) { -#ifdef INET6 - struct ip6_hdr *ip6; - - /* IPv6 anycast check is done at tcp6_input() */ - ip6 = mtod(m, struct ip6_hdr *); - if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) || - IN6_IS_ADDR_MULTICAST(&ip6->ip6_src)) - goto drop; -#endif - } else { - struct ip *ip; - - ip = mtod(m, struct ip *); - if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) || - IN_MULTICAST(ntohl(ip->ip_src.s_addr)) || - ip->ip_src.s_addr == htonl(INADDR_BROADCAST) || - in_broadcast(ip->ip_dst, m->m_pkthdr.rcvif)) - goto drop; - } - if (thflags & TH_ACK) { - tcp_respond(NULL, - mtod(m, void *), th, m, 0, th->th_ack, TH_RST); - } else { - seq = th->th_seq + (thflags & TH_SYN ? 1 : 0); - tcp_respond(NULL, - mtod(m, void *), th, m, seq, 0, TH_RST|TH_ACK); - } - INP_WUNLOCK(inp); - return (0); - drop: INP_WUNLOCK(inp); m_freem(m); |