Run time configurable parameters
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.
The structure of the files in /proc/sys/net/ax25/portname/ is as follows:
|ip_default_mode||IP Default Mode||0=DG 1=VC||0|
|ax25_default_mode||AX.25 Default Mode||0=Normal 1=Extended||0|
|connect_mode||Connected Mode||0=No 1=Yes||1|
|dama_slave_timeout||Timeout for DAMA slave mode||1 .. 65535000ms||3min|
|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. The dama_slave_timeout setting only exists if the kernel has been built with CONFIG_AX25_DAMA_SLAVE timeout.
The structure of the files in /proc/sys/net/netrom/ is as follows:
The same details which were explained above for the AX.25 timers also apply the NETROM timers. This affects the T1, T2, T4 and idle timers.
The structure of the files in /proc/sys/net/rose/ is as follows:
|no_activity_timeout||0 ... 65535s||0 (aus)|
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