|
|
Re: [PATCH] tcp: fix TCP_MAXSEG for established IPv6 passive sockets |
On Sun, 2012-04-22 at 15:45 -0400, Neal Cardwell wrote: > Commit f5fff5d forgot to fix TCP_MAXSEG behavior IPv6 sockets, so IPv6 > TCP server sockets that used TCP_MAXSEG would find that the advmss of > child sockets would be incorrect. This commit mirrors the advmss logic > from tcp_v4_syn_recv_sock in tcp_v6_syn_recv_sock. Eventually this > logic should probably be shared between IPv4 and IPv6, but this at > least fixes this issue. > > Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> > --- > net/ipv6/tcp_ipv6.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c > index 86cfe60..98256cf 100644 > --- a/net/ipv6/tcp_ipv6.c > +++ b/net/ipv6/tcp_ipv6.c > @@ -1383,6 +1383,10 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, > tcp_mtup_init(newsk); > tcp_sync_mss(newsk, dst_mtu(dst)); > newtp->advmss = dst_metric_advmss(dst); > + if (tcp_sk(sk)->rx_opt.user_mss && > + tcp_sk(sk)->rx_opt.user_mss < newtp->advmss) > + newtp->advmss = tcp_sk(sk)->rx_opt.user_mss; > + > tcp_initialize_rcv_mss(newsk); > if (tcp_rsk(req)->snt_synack) > tcp_valid_rtt_meas(newsk, Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion] [Ethernet Bridging] [Linux Wireless Networking] [Linux Bluetooth Networking] [Linux Networking Users] [VLAN] [Git] [IETF Annouce] [Linux Assembly] [Security] [Bugtraq] [Photo] [Singles Social Networking] [Yosemite Information] [MIPS Linux] [ARM Linux Kernel] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Free Dating]
![]() |
![]() |