DragonFly BSD
DragonFly commits List (threaded) for 2012-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: tcp: Fix window scaling for accecpted socket


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Apr 2012 01:22:56 -0700 (PDT)

commit df1d2774875776b9ee946a447abd7a9ab8bd7052
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Fri Apr 27 14:49:07 2012 +0800

    tcp: Fix window scaling for accecpted socket
    
    - Retire tcpcb.requested_s_scale, use tcpcb.snd_scale directly.
    - Set tcpcb.snd_wnd in SYN_SENT state only if the TCP flags contains SYN.
    - Save other side advertised window into syncache, and setup tcpcb.snd_wnd
      according to the save value after the 3-way hand shake is done.
    - Delay tiwin setup in tcp_input(), specificly after tcpcb.snd_scale is
      setup on the SO_ACCEPTCONN path.
    
    This tends to fix the window scaling bug: when the sender accepts
    connection and data only follow from sender to receiver.

Summary of changes:
 sys/netinet/tcp_input.c    |   44 ++++++++++++++++++--------------------------
 sys/netinet/tcp_syncache.c |    7 ++++++-
 sys/netinet/tcp_var.h      |    2 +-
 3 files changed, 25 insertions(+), 28 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/df1d2774875776b9ee946a447abd7a9ab8bd7052


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]