Difference between revisions of "Run time configurable parameters"

From LinuxHam
Jump to: navigation, search
(Rawhide uses an 833ns not 8333ns timer; fix markup and typo buglets.)
(ROSE timiners were changed in 2.6.17 as well.)
Line 86: Line 86:
 
| window_size ||        ||        || 3
 
| window_size ||        ||        || 3
 
|}
 
|}
 +
 +
Again the units of time for the T0, T1, T2, T3, Holdback and idle timers were changed to miliseconds in Linux 2.6.17
  
 
To set a parameter all you need to do is write the desired value to the file itself, for example to check and set the ROSE window size you'd use something like:
 
To set a parameter all you need to do is write the desired value to the file itself, for example to check and set the ROSE window size you'd use something like:

Revision as of 22:39, 6 May 2006

The kernel allows you to change many parameters at run time. If you take a careful look at the /proc/sys/net/ directory structure you will see many files with useful names that describe various parameters for the network configuration. The files in the /proc/sys/net/ax25/ directory each represent one configured AX.25 port. The name of the file relates to the name of the port.

AX.25

The structure of the files in /proc/sys/net/ax25/portname/ is as follows:

Filename Meaning Values Default
ip_default_mode IP Default Mode 0=DG 1=VC 0
ax25_default_mode AX.25 Default Mode 0=Normal 1=Extended 0
backoff_type Backoff 0=Linear 1=Exponential 1
connect_mode Connected Mode 0=No 1=Yes 1
standard_window_size Standard Window 1 .. 7 2
extended_window_size Extended Window 1 .. 63 32
t1_timeout T1 Timeout 1s .. 30s 10s
t2_timeout T2 Timeout 1s .. 20s 3s
t3_timeout T3 Timeout 0s .. 3600s 300s
idle_timeout Idle Timeout 0m or greater 20m
maximum_retry_count N2 1 .. 31 10
maximum_packet_length AX.25 Frame Length 1 .. 512 256

The range for the T1, T3 and T3 timers in above table is given in seconds and the idle timeout in minutes. However note that the procfs and sysctl interfaces actually used miliseconds rsp. seconds starting Linux 2.6.17. Before that the values for T1, T2 and T3 were measured in the unit which the kernel was running internal interrupt timer. For Linux 2.4 and older running on i386 MIPS and a few other architectures that was 100Hz (so time was given in units of 100th of a seconds that is multiple of 10ms), some Linux 2.4 Suse kernels however were running at 1000Hz (so AX.25 timings were in units of 1ms), any Linux version on Alpha was always running at 1000Hz except on Rawhide which were running at 1200Hz (thus making the timing values multiple of 0.833ms). Too complicated? Upgrade to Linux 2.6.17 or newer.

NET/ROM

The structure of the files in /proc/sys/net/netrom/ is as follows:

Filename Meaning Values Default
default_path_quality 10
link_fails_count 2
network_ttl_initialiser 16
obsolescence_count_initialiser 6
routing_control 1
transport_acknowledge_delay 50
transport_busy_delay 1800
transport_maximum_tries 3
transport_requested_window_size 4
transport_timeout 1200

ROSE

The structure of the files in /proc/sys/net/rose/ is as follows:

Filename Meaning Values Default
acknowledge_hold_back_timeout 50
call_request_timeout 2000
clear_request_timeout 1800
link_fail_timeout 1200
maximum_virtual_circuits 50
reset_request_timeout 1800
restart_request_timeout 1800
routing_control 1
window_size 3

Again the units of time for the T0, T1, T2, T3, Holdback and idle timers were changed to miliseconds in Linux 2.6.17

To set a parameter all you need to do is write the desired value to the file itself, for example to check and set the ROSE window size you'd use something like:

# cat /proc/sys/net/rose/window_size
3
# echo 4 >/proc/sys/net/rose/window_size
# cat /proc/sys/net/rose/window_size
4