Provided by: ax25-tools_0.0.10-rc5+git20190411+3595f87-5_amd64 bug

NAME

       AF_AX25 - AX.25 amateur packet radio protocol family

DESCRIPTION

       AX.25 is a protocol used extensively by radio amateurs. The Linux AX.25 protocol family permits access to
       these protocols via the standard networking socket metaphor.

       The  AX.25  protocol  layer supports both connected mode and datagram (UI) frame modes. IP traffic may be
       stacked on top of AX.25 frames for IP transmission over the AX.25 medium.

       The primary mode of  operation  is  connected  mode  which  is  the  mode  used  for  a  socket  of  type
       SOCK_SEQPACKET  (stream  sockets are not available in AX.25).  This requires that the user ensures output
       data is suitably packetised, and that input data is read a packet at a time into  a  buffer  of  suitable
       size.   The Linux AX.25 protocol layer can operate in standard AX.25 mode with three bit sequence numbers
       or in PE1CHL extended AX.25 mode which uses seven bit sequence numbers. The protocol passed to the socket
       is used for all outgoing frames. Passing 0 causes the normal AX.25 Text PID to be used.

       SOCK_DGRAM gives access to AX.25 UI frames. For access to special frames (of any form)  SOCK_RAW  can  be
       used.  There is no SOCK_PACKET support under AX.25.  Instead an AF_INET socket of type SOCK_PACKET should
       be used.

       AX.25 addresses consist of 6 ascii characters and a number called the SSID.  These  are  encoded  into  a
       sockaddr_ax25  structure  which is provided to the relevant system calls. When digipeaters are included a
       callsign path can be much more complex. When this is the  case  a  struct  full_sockaddr_ax25  should  be
       passed to the system calls.

       AX.25  has  some  unusual properties. Notably in a multi-user system an AX.25 address is often associated
       with a user, and some users may not have such an association. a set of ioctl calls are provided to manage
       an association table, and in addition the superuser may use an  arbitrary  callsign  by  binding  to  the
       callsign desired and specifying the port to use as a first digipeated hop.

       AX.25 supports the following socket options for SOL_AX25. AX25_T1 is the T1 timer in 1/10ths of a second,
       AX25_T2  is  the  T2  timer  in 1/10ths of a second, AX25_T3 is the T3 timer. The window is settable with
       AX25_WINDOW.  AX25_N2, the retry counter is also  configurable.  There  is  no  'infinite  retry'  option
       supported  however. The method of backoff for retries is configurable via the socket option AX25_BACKOFF,
       a value of true indicates the use of exponential backoff and false simple linear backoff. The mode  of  a
       connection  made be altered to be either standard AX.25 or extended AX.25 via AX25_EXTSEQ. It is possible
       to have the complete AX.25 header returned to the application by setting AX25_HDRINCL to  true,  programs
       must  be  aware  of  the  internal  structure  of  AX.25  frames  to  use this option. Note that if AX.25
       fragmentation is encountered, only the control information of the first frame is returned along with  the
       defragmented data.

SEE ALSO

       call(1), socket(2), setsockopt(2), getsockopt(2), axctl(8), axports(5), axparms(8), kissattach(8).

BUGS

       Too numerous to list in full currently.

       •  Minor protocol violations exist.

AUTHOR

       Alan Cox GW4PTS <alan@cymru.net>
       Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>

Linux                                             3 August 2017                                          AX25(4)