In tcp_ctlinput() do not swap ip->ip_len a second time. It
has been done in icmp_input() already. This fixes the ICMP_UNREACH_NEEDFRAG case where no MTU was proposed in the ICMP reply. PR: kern/81813 Submitted by: Vitezslav Novy <vita at fio.cz> MFC after: 3 days
This commit is contained in:
parent
df7eabb059
commit
ffabe3dce8
@ -1170,10 +1170,11 @@ tcp_ctlinput(cmd, sa, vip)
|
||||
/*
|
||||
* If no alternative MTU was
|
||||
* proposed, try the next smaller
|
||||
* one.
|
||||
* one. ip->ip_len has already
|
||||
* been swapped in icmp_input().
|
||||
*/
|
||||
if (!mtu)
|
||||
mtu = ip_next_mtu(ntohs(ip->ip_len),
|
||||
mtu = ip_next_mtu(ip->ip_len,
|
||||
1);
|
||||
if (mtu < max(296, (tcp_minmss)
|
||||
+ sizeof(struct tcpiphdr)))
|
||||
|
@ -1170,10 +1170,11 @@ tcp_ctlinput(cmd, sa, vip)
|
||||
/*
|
||||
* If no alternative MTU was
|
||||
* proposed, try the next smaller
|
||||
* one.
|
||||
* one. ip->ip_len has already
|
||||
* been swapped in icmp_input().
|
||||
*/
|
||||
if (!mtu)
|
||||
mtu = ip_next_mtu(ntohs(ip->ip_len),
|
||||
mtu = ip_next_mtu(ip->ip_len,
|
||||
1);
|
||||
if (mtu < max(296, (tcp_minmss)
|
||||
+ sizeof(struct tcpiphdr)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user