The ROSE protocol was conceived and first implemented by Tom Moulton W2VY and is an implementation of the X.25 packet layer protocol (PLP) and is designed to operate with AX.25 as its datalink layer protocol. It too provides a network layer. ROSE addresses take the form of 10 digit numbers. The first four digits are called the Data Network Identification Code (DNIC) and are taken from Appendix B of the ITU-T X.121 recommendation. The kernel based ROSE support is a modified version of the FPAC Rose implementation. Installing FPAC as a wrapper around ROSE makes for a much easier use and operation of the protocol, there is also ongoing work on FPAC under Linux.
These days ROSE is a rare protocol; islands in Australia, France and the United States (Florida and Michigan) are known to still use the protocol.
The ROSE packet layer protocol protocol relies on, and uses the AX.25 ports you have created. The ROSE protocol rides on top of the AX.25 protocol. To configure ROSE you must create a configuration file that describes the ROSE ports you want. You can create multiple ROSE ports if you wish, the same procedure applies for each.
The file where you configure your ROSE interfaces is the /etc/ax25/rsports file. This file describes the ROSE port in much the same way as the /etc/ax25/axports file describes the AX.25 ports.
This file is formatted as follows:
name address description
- is the text name that you wish to refer to the port by.
- is the 10 digit ROSE address you wish to assign to this port.
- is a free text description of the port.
An example would look something like the following:
rose 5050294760 Rose Port
Note that ROSE will use the default callsign/ssid configured on each AX.25 port unless you specify otherwise.
To configure a separate callsign/ssid for ROSE to use on each port you use the rsparms command as follows:
# /usr/sbin/rsprams -call VK2KTJ-10
This example would make Linux listen for and use the callsign/ssid VK2KTJ-10 on all of the configured AX.25 ports for ROSE calls.
Creating the ROSE Network device
When you have created the /etc/ax25/rsports file you may create the ROSE device in much the same way as you did for the AX.25 devices. This time you use the rsattach command. The rsattach command creates network devices named `rose[0-5]'. The first time you use the rsattach command it create the `rose0' device, the second time it creates the `rose1' device etc. For example:
# rsattach rose
This command would start the ROSE device (rose0) configured with the details specified in the /etc/ax25/rsports file for the entry named `rose'.
Configuring ROSE Routing
The ROSE protocol currently supports only static routing. The rsparms utility allows you to configure your ROSE routing table under Linux.
# rsparms -nodes add 5050295502 radio vk2xlz
would add a route to ROSE node 5050295502 via an AX.25 port named `radio' in your /etc/ax25/axports file to a neighbour with the callsign VK2XLZ.
You may specify a route with a mask to capture a number of ROSE destinations into a single routing entry. The syntax looks like:
# rsparms -nodes add 5050295502/4 radio vk2xlz
which would be identical to the previous example except that it would match any destination address that matched the first four digits supplied, in this case any address commencing with the digits 5050. An alternate form for this command is:
# rsparms -nodes add 5050/4 radio vk2xlz
which is probably the less ambiguous form.
- X.25 on Wikipedia
- X.121 on Wikipedia
- http://www.itu.int/rec/T-REC-X.25-199610-I/E Recommendation ITU-T X.25 (10/96)
- http://www.itu.int/rec/T-REC-X.25-199809-I!Cor1/E Recommendation ITU-T X.25 (10/96) Corrigendum 1
- http://www.itu.int/rec/T-REC-X.121-200010-I/E Recommendation ITU-T X.121 (10/00)
- RATS website on archive.org]