Home Page The Club Computers News Links Glossary EYAWTK
Before Amiga Background ICS OCS ECS AGA ??? PPC
U-Boot SLB Linux Amiga OS Dual Boot Motherboards Peripherals Other
Initialisation Installation OS4 Updates About OS4 File Systems Networking Printing Other
Introduction File System Workbench Preferences Commands Error Msgs Miscellaneous

AmigaOS 4.0 - About OS4 - Commands

ROADSHOWCONTROL Networking
Purpose: To set parameters for RoadShow TCP/IP Stack.
Format: ROADSHOWCONTROL
Template: GET/K, SET/K/F, SAVE/S, QUIET/S
Path: C:roadshowcontrol
RoadShow controls the TCP/IP stack and is therefore the key component for any Internet access. It is essentially FreeBSD 4.4 wrapped into an API that is part of the bsdsocket.library.

ROADSHOWCONTROL can be used to display and manipulate the parameters used for TCP/IP processing.

Executing ROADSHOWCONTROL with no arguments from a Shell will display the current RoadShow parameters, for example:

3.OS4:> ROADSHOWCONTROL
bpf.bufsize = 4096
icmp.maskrepl= 0
icmp.processecho = 0
icmp.procesststamp = 0
ip.defttl = 64
ip.forwarding = 0
ip.sendredirects = 1
ip.subnetsarelocal = 0
tcp.do_rfc1323 = 1
tcp.do_timestamps = 1
tcp.do_win_scale = 1
tcp.mssdflt = 512
tcp.recvspace = 8192
tcp.rttdflt = 3
tcp.sendspace = 8192
tcp.use_mssdflt_for_remote = 0
udp.cksum = 1
udp.recvspace = 41600
udp.sendspace = 9216

GET <parameter name> displays the current value for the specifed parameter.

SET <parameter name> <value> sets the current value for the specifed parameter to the value specified.

SAVE saves the current value(s) to ENV:Roadshow and ENVARC:Roadshow.

QUIET suppresses output to the screen (for use in scripts).

The following arguments are recognized by RoadShowControl:

Parameter Default Description
bpf.bufsize 4096 Specifies the size of the buffer for the Berkeley Packet Filter which can be used to filter packets based on various criteria like destination host, source host, protocol.
icmp.maskrepl 0 Specifies whether replies to ICMP Address Mask Request packets are enabled/disabled.
  0 ICMP Address Mask Request packets are disabled
  1 ICMP Address Mask Request packets are enabled
icmp.processecho 0 ?.
icmp.procesststamp 0 ?.
ip.defttl 64 Specifies the default time-to-live reply time in seconds before timing out.
ip.forwarding 0 Specifies whether IP address forwarding via another IP address is acceptable.
  0 no forwarding
  1 allow forwarding
ip.sendredirects 1 Specifies whether redirection from one IP address to another is acceptable.
  0 no redirection
  1 allow redirection
ip.subnetsarelocal 0 Specifies whether an internet address is for a 'local' host (one to which we have a connection), and this includes other subnets of the local net. Otherwise, it includes only the directly-connected (sub)nets.
  0 an address is only for the directly-connected (sub)nets
  1 an address is for a 'local' host and other subnets
tcp.do_rfc1323 1 Specifies whether TCP Extensions for High Performance as published in the Request for Comments (RFCs) series of Internet standards and Internet protocols, are to be used.
  0 specifies no RFC 1323 compliance
  1 specifies RFC 1323 compliance
tcp.do_timestamps 1 Specifies whether time stamp information is transmitted with packets, and requested from the other side of the connection. Time stamps can be useful for timing transmissions and figuring out latency/delays, but if you don't need that it's just dead weight.
  0 specifies no time stamp information
  1 specifies time stamp information required
tcp.do_win_scale 1 Specifies whether a feature called "window scaling", is to be used by the TCP/IP stack to adjust the sizes of the intervals in which the both sides of the connection acknowledge to each other that the data transmitted so far was OK. This is useful for larger transmission buffer sizes (> 65535 bytes) and really fast data transmission rates. On a plain old DSL link that doesn't go much faster than 10 MBit/s it's probably no help at all.
  0 specifies no window scaling
  1 specifies window scaling required
tcp.mssdflt 512 Specifies how much an Ethernet frame will hold (plus the header added for transmission), so that the TCP/IP stack can try to build packets of this size thereby reducing the tranmission overhead and has probably the largest impact on transmission speed. The default is 500 bytes, because when the TCP/IP kernel used by Roadshow was still new, not many routers in the Internet could be expected to transport packets larger than that. Modern routers can handle more, which is why this setting helps. It would help more if Roadshow could figure out for itself how large a packet size the network can handle, but the code is a little too old for that. The recommended value for modern routers is 1460 bytes.
tcp.recvspace 8192 ?.
tcp.rttdflt 3 ?.
tcp.sendspace 8192 ?.
tcp.use_mssdflt_for_remote 0 This parameter works in conjunction with tcp.mssdflt, and activates the larger packet size for remote packets.
udp.cksum 1 ?.
udp.recvspace 41600 Specifies the size of the receive buffer for incoming packets. The larger buffer size helps because if that buffer fills up, reception may have to wait until the application receiving the data has picked up what's waiting. The default size is 8K, or 32K unless I forgot to upload the most recent bsdsocket.library in time.
udp.sendspace 9216 ?.

Example 1:

3.OS4:> ROADSHOWCONTROL GET udp.cksum
udp.cksum = 1
Displays the current value for the specified parameter.

Example 2:

3.OS4:> ROADSHOWCONTROL SET udp.cksum 0 udp.cksum = 0 Sets the value of the specified parameter to the value specified and saves the new value to ENV:Roadshow .

Example 3:

3.OS4:> ROADSHOWCONTROL SAVE SET udp.cksum 0 udp.cksum = 0 Sets the value of the specified parameter to the value specified and saves the new value to ENV:Roadshow and ENVARC:Roadshow.

Example 4:

3.OS4:> ROADSHOWCONTROL SAVE
bpf.bufsize = 4096
icmp.maskrepl= 0
icmp.processecho = 0
icmp.procesststamp = 0
ip.defttl = 64
ip.forwarding = 0
ip.sendredirects = 1
ip.subnetsarelocal = 0
tcp.do_rfc1323 = 1
tcp.do_timestamps = 1
tcp.do_win_scale = 1
tcp.mssdflt = 512
tcp.recvspace = 8192
tcp.rttdflt = 3
tcp.sendspace = 8192
tcp.use_mssdflt_for_remote = 0
udp.cksum = 0
udp.recvspace = 41600
udp.sendspace = 9216
Saves all parameter values to ENV:Roadshow and ENVARC:Roadshow.

Example 5:

For optimal performance the following parameters changes are recommended:

3.OS4:> ROADSHOWCONTROL SAVE QUIET SET tcp.do_timestamps 0
3.OS4:> ROADSHOWCONTROL SAVE QUIET SET tcp.do_win_scale 0
3.OS4:> ROADSHOWCONTROL SAVE QUIET SET tcp.mssdflt 1460
or should that be 1452???
3.OS4:> ROADSHOWCONTROL SAVE QUIET SET tcp.recvspace 65536
3.OS4:> ROADSHOWCONTROL SAVE QUIET SET tcp.sendspace 65536
3.OS4:> ROADSHOWCONTROL SAVE QUIET SET tcp.use_mssdflt_for_remote 0
Sets the value of the specified parameters to the values specified and saves the new values to ENV:Roadshow and ENVARC:Roadshow.


Return to Commands Selection

Disclaimer: Amiga Auckland have prepared the above information for the use of its members based on our experiences and as such is subject to revision at any time. Amiga Auckland cannot guarantee any of the information and cannot be held accountable for any issues that may result from using it.


Copyright 2006 Amiga Auckland Inc. All rights reserved.
Revised: February 9, 2006.