Run time configurable parameters

From LinuxHam
Revision as of 00:03, 22 May 2006 by (talk) (Fix after report of Bernard Pidoux F6BVP.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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:

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
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:

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

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:

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
no_activity_timeout 0 ... 65535s 0 (aus)
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
# echo 4 >/proc/sys/net/rose/window_size
# cat /proc/sys/net/rose/window_size