Next Previous Contents

5. A note on callsigns, addresses and things before we start.

Each AX.25 and NetRom port on your system must have a callsign/ssid allocated to it. These are configured in the configuration files that will be described in detail later on.

Some AX.25 implementations such as NOS and BPQ will allow you to configure the same callsign/ssid on each AX.25 and NetRom port. For somewhat complicated technical reasons Linux does not allow this. This isn't as big a problem in practise as it might seem.

This means that there are things you should be aware of and take into consideration when doing your configurations.

  1. Each AX.25 and NetRom port must be configured with a unique callsign/ssid.
  2. TCP/IP will use the callsign/ssid of the AX.25 port it is being transmitted or received by, ie the one you configured for the AX.25 interface in point 1.
  3. NetRom will use the callsign/ssid specified for it in its configuration file, but this callsign is only used when your NetRom is speaking to another NetRom, this is not the callsign/ssid that AX.25 users who wish to use your NetRom `node' will use. More on this later.
  4. Rose will, by default, use the callsign/ssid of the AX.25 port, unless the Rose callsign has been specifically set using the `rsparms' command. If you set a callsign/ssid using the `rsparms' command then Rose will use this callsign/ssid on all ports.
  5. Other programs, such as the `ax25d' program can listen using any callsign/ssid that they wish and these may be duplicated across different ports.
  6. If you are careful with routing you can configure the same IP address on all ports if you wish.

5.1 What are all those T1, T2, N2 and things ?

Not every AX.25 implementation is a TNC2. Linux uses nomenclature that differs in some respects from that you will be used to if your sole experience with packet is a TNC. The following table should help you interpret what each of the configurable items are, so that when you come across them later in this text you'll understand what they mean.

-------------------------------------------------------------------
Linux  | TAPR TNC | Description
-------------------------------------------------------------------
T1     | FRACK    | How long to wait before retransmitting an
       |          | unacknowledged frame.
-------------------------------------------------------------------
T2     | RESPTIME | The minimum amount of time to wait for another
       |          | frame to be received before transmitting
       |          | an acknowledgement.
-------------------------------------------------------------------
T3     | CHECK    | The period of time we wait between sending
       |          | a check that the link is still active.
-------------------------------------------------------------------
N2     | RETRY    | How many times to retransmit a frame before
       |          | assuming the connection has failed.
-------------------------------------------------------------------
Idle   |          | The period of time a connection can be idle
       |          | before we close it down.
-------------------------------------------------------------------
Window | MAXFRAME | The maximum number of unacknowledged
       |          | transmitted frames.
-------------------------------------------------------------------

5.2 Run time configurable parameters

The 2.1.* and 2.0.* +moduleXX kernels have a new feature that allows you to change many previously unchangable 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 represents 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
standard_window_size  Standard Window      1  <= N <= 7            2
extended_window_size  Extended Window      1  <= N <= 63           32
t1_timeout            T1 Timeout           1s <= N <= 30s          10s
t2_timeout            T2 Timeout           1s <= N <= 20s          3s
t3_timeout            T3 Timeout           0s <= N <= 3600s        300s
idle_timeout          Idle Timeout         0m <= N                 20m
maximum_retry_count   N2                   1  <= N <= 31           10
maximum_packet_length AX.25 Frame Length   1  <= N <= 512          256
In the table T1, T2 and T3 are given in seconds, and the Idle Timeout is given in minutes. But please note that the values used in the sysctl interface are given in internal units where the time in seconds is multiplied by 10, this allows resolution down to 1/10 of a second. With timers that are allowed to be zero, eg T3 and Idle, a zero value indicates that the timer is disabled.

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

FileName                       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

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

FileName                       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

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


Next Previous Contents