lkml.org 
[lkml]   [2004]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRE: rcv_wnd = init_cwnd*mss
    Date
    From

    > From: David S. Miller [mailto:davem@davemloft.net]
    > Sent: Wednesday, October 27, 2004 10:21 PM
    > To: Meda, Prasanna
    > Cc: linux-kernel@vger.kernel.org; netdev@oss.sgi.com; davem@redhat.com
    > Subject: Re: rcv_wnd = init_cwnd*mss
    >
    >
    > On Wed, 27 Oct 2004 22:14:33 -0700
    > "Meda, Prasanna" <pmeda@akamai.com> wrote:
    >
    > >
    > > What is the reason for checking mss with 1<<rcv_wscale?
    > > include/net/tcp.h:

    > Because the advertised window field is 16-bits. It is
    > interpreted as "value << rcv_wscale"

    Thanks, still it is unclear to me why are we
    downsizing the advertised window(rcv_wnd) to cwnd?
    To defeat disobeying sender, or something like below?

    Suppose when wscale is zero, it is now checking mss > 1,
    and perhaps the intention was to check mss > rcv_wnd,
    where mss is greater than advertised, and we still
    want to advertise window to spwan 2 to 4 cwnd packets.

    And also in the following line,
    if (*rcv_wscale && sysctl_tcp_app_win && space>=mss &&
    space - max((space>>sysctl_tcp_app_win), mss>>*rcv_wscale) <
    65536/2)

    space is actual_space>>rcv_wscale, mss is actual value.
    Why are we checking space>=mss, which are in different
    scales? The second line is doing max on space and mss
    on same scales, and looks right.


    Thanks,
    Prasanna.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:07    [W:0.026 / U:31.260 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site