tcp_time_wait_interval

Ask a Question related to Sun Solaris, Design and Development.

  1. #1

    Default tcp_time_wait_interval

    I just installed ENVI 3.6 (from Kodak) on a 280R.
    The machine is running the latest version of 2.8
    and is fairly up-to-date with patches.

    The license manager (FLEXlm v8.1b) log file suggests
    changing tcp_time_wait_interval to 2400 (from
    the current default of 240000).

    Are there any adverse effects from resetting
    this parameter? I would probably put an ndd
    command in the /etc/init.d script that starts
    the license manager to change it.

    Thanks,

    Stuart

    Stuart Biggar Guest

  2. #2

    Default Re: tcp_time_wait_interval

    Stuart Biggar <Stuart.Biggar@opt-sci.arizona.edu> wrote:
    > I just installed ENVI 3.6 (from Kodak) on a 280R. The machine is
    > running the latest version of 2.8 and is fairly up-to-date with
    > patches.
    > The license manager (FLEXlm v8.1b) log file suggests changing
    > tcp_time_wait_interval to 2400 (from the current default of 240000).
    > Are there any adverse effects from resetting this parameter? I
    > would probably put an ndd command in the /etc/init.d script that
    > starts the license manager to change it.
    Only 2.4 seconds? Does the license software do something unfortunate
    like use the same port number for the client side each time or
    something?

    TIME_WAIT is an integral part of TCP's correctness algorithms. A TCP
    connection is identified by the four-tuple of local/remote IP and
    local/remote port. TIME_WAIT is there to ensure that any old segments
    for a given connection have timed-out in the network before a new
    connection of the same name is established. It is supposed to last
    for twice the maximum segment lifetime.

    One common excuse for making TIME_WAIT very short is broken server
    application code that does not set SO_REUSEADDR - attempts to restart
    such server code will fail while there are still connections in
    various states. TIME_WAIT is one of those states, but not the only
    one. ESTABLISHED would also be one of those states.

    rick jones
    --
    firebug n, the idiot who tosses a lit cigarette out his car window
    these opinions are mine, all mine; HP might not want them anyway... :)
    feel free to post, OR email to raj in cup.hp.com but NOT BOTH...
    Rick Jones Guest

  3. #3

    Default Re: tcp_time_wait_interval



    Rick Jones wrote:
    > Stuart Biggar <Stuart.Biggar@opt-sci.arizona.edu> wrote:
    >
    >>I just installed ENVI 3.6 (from Kodak) on a 280R. The machine is
    >>running the latest version of 2.8 and is fairly up-to-date with
    >>patches.
    >
    >
    >>The license manager (FLEXlm v8.1b) log file suggests changing
    >>tcp_time_wait_interval to 2400 (from the current default of 240000).
    >
    >
    >>Are there any adverse effects from resetting this parameter? I
    >>would probably put an ndd command in the /etc/init.d script that
    >>starts the license manager to change it.
    >
    >
    > Only 2.4 seconds? Does the license software do something unfortunate
    > like use the same port number for the client side each time or
    > something?
    Possibly but I don't know at all - the following is cut from the
    lmgrd log file (machine restarted earlier this AM to ensure that
    lmgrd restarted automatically on reboot):

    4:27:56 (lmgrd) Solaris Note:
    4:27:56 (lmgrd)
    4:27:56 (lmgrd) We recommend adding the following command to the boot
    4:27:56 (lmgrd) scripts due to a bug in the Solaris operating system:
    4:27:56 (lmgrd)
    4:27:56 (lmgrd) Solaris 2.1-2.6:
    4:27:56 (lmgrd) /usr/sbin/ndd -set /dev/tcp tcp_close_wait_interval 2400
    4:27:56 (lmgrd) Solaris 2.7 and higher:
    4:27:56 (lmgrd) /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 2400
    4:27:56 (lmgrd)
    4:27:56 (lmgrd) By default on Solaris, upon stopping a license server,
    4:27:56 (lmgrd) 1 to 5 minutes are required for the port to free up so it
    4:27:56 (lmgrd) will restart, which can result in checkout failures.
    4:27:56 (lmgrd) The command above resets this default to 2.4 seconds

    Note the comment "due to a bug in the Solaris ..." - or is it a bug
    in lmgrd?
    >
    > TIME_WAIT is an integral part of TCP's correctness algorithms. A TCP
    > connection is identified by the four-tuple of local/remote IP and
    > local/remote port. TIME_WAIT is there to ensure that any old segments
    > for a given connection have timed-out in the network before a new
    > connection of the same name is established. It is supposed to last
    > for twice the maximum segment lifetime.
    >
    > One common excuse for making TIME_WAIT very short is broken server
    > application code that does not set SO_REUSEADDR - attempts to restart
    > such server code will fail while there are still connections in
    > various states. TIME_WAIT is one of those states, but not the only
    > one. ESTABLISHED would also be one of those states.
    I expect I will not change the parameter as we shouldn't really
    have to stop the license server. Thanks for the information.

    Stuart
    >
    > rick jones
    Stuart Biggar Guest

  4. #4

    Default Re: tcp_time_wait_interval

    In article <bgo898$a5a$1@oasis.ccit.arizona.edu>,
    Stuart Biggar <Stuart.Biggar@opt-sci.arizona.edu> wrote:
    > 4:27:56 (lmgrd) Solaris Note:
    > 4:27:56 (lmgrd)
    > 4:27:56 (lmgrd) We recommend adding the following command to the boot
    > 4:27:56 (lmgrd) scripts due to a bug in the Solaris operating system:
    > 4:27:56 (lmgrd)
    > 4:27:56 (lmgrd) Solaris 2.1-2.6:
    > 4:27:56 (lmgrd) /usr/sbin/ndd -set /dev/tcp tcp_close_wait_interval 2400
    > 4:27:56 (lmgrd) Solaris 2.7 and higher:
    > 4:27:56 (lmgrd) /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 2400
    > 4:27:56 (lmgrd)
    > 4:27:56 (lmgrd) By default on Solaris, upon stopping a license server,
    > 4:27:56 (lmgrd) 1 to 5 minutes are required for the port to free up so it
    > 4:27:56 (lmgrd) will restart, which can result in checkout failures.
    > 4:27:56 (lmgrd) The command above resets this default to 2.4 seconds
    >
    >Note the comment "due to a bug in the Solaris ..." - or is it a bug
    >in lmgrd?
    I initially thought it sounded like a bug in their code, because simply
    using the SO_REUSEADDR socket option should allow the port to be reused.

    But the fact that they single out Solaris for this recommendation suggests
    that they already do this. If they didn't, they should have the same
    problem on other platforms as well. So maybe there's some other problem,
    although I've never heard about it. Considering how popular Solaris is for
    servers, I'd expect this to be a more well-known problem.

    --
    Barry Margolin, [email]barry.margolin@level3.com[/email]
    Level(3), Woburn, MA
    *** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
    Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
    Barry Margolin Guest

  5. #5

    Default Re: tcp_time_wait_interval

    > The license manager (FLEXlm v8.1b) log file suggests
    > changing tcp_time_wait_interval to 2400 (from
    > the current default of 240000).
    [url]http://docs.sun.com/db/doc/806-7009/[/url]
    TCP/IP Tunable Parameters

    tcp_time_wait_interval

    Description
    The time in milliseconds a TCP connection stays in TIME-WAIT state.
    For more information, refer to RFC 1122, 4.2.2.13.
    Default
    60,000 (60 seconds)
    Range
    1 second to 10 minutes
    Dynamic?
    Yes
    When to Change
    Do not set the value lower than 60 seconds.
    For more information, refer to RFC 1122, 4.2.2.13.


    Some versions of FlexLM insisted in changing this in Solaris to 2400.
    The manual for the current version (9.2 Jul 2003) seems to have that
    recommendation removed; I do not know if lmgrd 9.2 still logs
    the warning on startup; 9.0 did:

    (lmgrd) Solaris Note:
    (lmgrd)
    (lmgrd) We recommend adding the following command to the boot
    (lmgrd) scripts due to a bug in the Solaris operating system:
    (lmgrd)
    (lmgrd) Solaris 2.1-2.6:
    (lmgrd) /usr/sbin/ndd -set /dev/tcp tcp_close_wait_interval 2400
    (lmgrd) Solaris 2.7 and higher:
    (lmgrd) /usr/sbin/ndd -set /dev/tcp tcp_time_wait_interval 2400
    (lmgrd)
    (lmgrd) By default on Solaris, upon stopping a license server,
    (lmgrd) 1 to 5 minutes are required for the port to free up so it
    (lmgrd) will restart, which can result in checkout failures.
    (lmgrd) The command above resets this default to 2.4 seconds
    (lmgrd) -----------------------------------------------
    (lmgrd) FLEXlm (v9.0 ) started on hostname (Sun) (7/29/2003)
    (lmgrd) Copyright (c) 1988-2003 by Macrovision Corporation.

    Does anyone know what's the "bug in the Solaris operating system"
    they are talking about?

    Oscar del Rio Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139