Protocol Stack Section

The Protocol Stack [TCP/IP] section of the RtxTcpIp INI file is used to configure the RtxTcpIp protocol stack.

Configurable Parameter

Default Value

Description

MemoryInK

256

Required. Memory (in Kbytes) that will be allocated for stack use. This memory does not include memory allocated by device drivers at startup.

IMPORTANT!  In order to initialize multiple RTX NICs, you must increase the default MemoryInK value. Otherwise, a Blue Screen will occur.

TimerPriority

66

Required. Priority of the protocol timer. 127 Max (highest priority), 0 Min (lowest priority). Default value is 66.

NumStartupEvents

20

Required. The number of events pre-allocated for the stack to use at startup.

MaxSockets

30

Required. The maximum number of sockets available at one time. Minimum number is 1. Maximum number is 255. Simultaneous connection attempts greater than the number defined in MaxSockets will be denied.

IPv6Router

0

Optional. Configures RT-TCP/IP stack to function as router. Default is 0 to disable and will function as IPv6 Host, value 1 to function as Router.

ArpCacheSize

8

Optional. Configures the Address Resolution Protocol cache size. Minimum size is 1. Maximum size is 255.

IPTTL

60

Optional. Sets the default value of the time-to-live field of outgoing packets, in seconds. This value will be used unless over-ridden on a particular socket by the IP-TTL socket option. Minimum is 1 second. Maximum is 255 seconds.

TcpKeepAlive

7200000

Optional. Overrides the default value for the TCP keepalive interval which, by default, is 7200000 milliseconds (2 hours).

StackMTU

1500

Optional. Sets the Maximum Transmission Unit size (in bytes) or the largest packet size that can be sent by the stack, independent of the underlying medium. Default is 1500 bytes.

This setting can be used to:

  • Configure the stack to use MTU values larger than 1500 bytes, thereby allowing jumbo frames to be used.
  • Restrict the MTU value that the stack uses below the default value of 1500 bytes that most NICs support.

NumOfInterfaces

1

Optional. Number of interfaces on this system. The maximum number of interfaces is 255. Each physical interface must be defined in an [rtndn] section, as described in NIC Driver section of the RtxTcpIp .INI file.

A value of 0 indicates that no physical network interfaces are connected to this machine and a loopback driver will be used instead. In this case, you do not need to configure an [rtndn] section in the INI file. Furthermore, any [rtndn] sections that are defined in the INI file are ignored.

Click here to see a sample INI file that implements multiple interfaces.

TickInterval 200 Optional. The number of milliseconds/tick the stack timer is configured to use. Minimum is 1 millisecond. Maximum is 1000 milliseconds.

The RtxTcpIp Stack, when running, needs a block of memory to store its internal information (packet buffers and various control information). This block of memory is allocated during startup and is of fixed size specified by the MemoryInK field. The setting to use depends on how much memory is available and how much network traffic is expected.

If you are not sure what value should be entered for MemoryInk, leave this field blank. The RtxTcpIp Stack will return WSAENOBUFS to an application when memory reserves have been exhausted. This provides an indication to the user to increase this value. The RtTcpipCtrl.exe utility with the +h option may also be used to determine the amount of memory that is currently free.

The RtxTcpIp stack, when running, uses multiple threads to accomplish its tasks. The priority of each thread can be set independently. The main portion of the RtxTcpIp Stack uses a timer thread (with priority as TimerPriority), to handle all TCP/IP time-related functions. Each network card uses two threads, an interrupt service thread (with priority as InterruptPriority) that handles all interrupt-related processing, and a receiving thread (with priority as ReceivePriority) that handles all receive-related processing. The priority settings needed for these threads depend greatly on how time-critical the TCP/IP processing is, related to any other processing activities running on the system. If you are not sure what values to enter, leave these fields blank.

Use IPv6Router if you are configuring RT-TCP/IP with multiple interfaces and wish to use it as an IPv6 router (gateway) to forward IP datagrams from one interface to another. RT-TCP/IP can be used as a router with static routes. Forwarding must be enabled on individual interfaces. If IPv6Router entry is not defined RT-TCP/IP stack would function as IPv4/IPv6 host.

 

See Also

IntervalZero.com | Support | Give Feedback