I can't really remember what changed between the first release
ax25-module.tar.gz and the second release ax25-module-1.tar.gz but here is
an inspired guess at all the changes so far:


From standard kernel to ax25-module.tar.gz:

AX.25, NET/ROM and the new KISS driver are available as a single loadable
module.

PI2 and PT drivers converted to modules.

A new driver for BPQ Ethernet is now used instead of the previous method, it
too is available as a module.

Within the PI2 (or was it PT) driver, removed the code that returned the
current settings when KISS was used to change some value. This is against
the KISS specification.

Hooks put into the code to support the eventual inclusion of Rose.

Patches to AX.25 and NET/ROM to add features and remove bugs.

Patch made against Linux 2.0.11.


From ax25-module.tar.gz to ax25-module-1.tar.gz:

The patches to AX.25 and NET/ROM to add features and remove bugs removed
since they appeared in the standard kernel from 2.0.12.

The KISS driver was split off into its own driver, it now has the same
status as 'optional' as PI2, PT and friends.

NET/ROM is now a seperate module from AX.25.

Patch made against Linux 2.0.12.


From ax25-module-1.tar.gz to ax25-module-2.tar.gz:

Added extra cleanup code to PI2, PT and NET/ROM modules so that removal of a
module will free up its resources. Without this insmod-ing PI2 or PT after
rmmod-ing it would possibly fail.

Patch made against Linux 2.0.13.


From ax25-module-2.tar.gz to ax25-module-3.tar.gz:

Removed bug when NET/ROM attempted to remove a non-existent registered
callsign with AX.25.

Patch made against Linux 2.0.14.


From ax25-module-3.tar.gz to ax25-module-4.tar.gz:

Added barring of associating a callsign with root.

Modified NET/ROM node adding code.

Added new (exported) function from AX.25, asc2ax.

Fixed AX.25 makefile to allow it to be compiled with MODVERSIONS defined.

Fixed callsign nasty in AX.25, it now behaves like the original code. I'm
suprised nobody spotted this one.

Added the Rose protocol, X.25 PLP by any other name.

Patch made against Linux 2.0.15.


From ax25-module-4.tar.gz to ax25-module-5.tar.gz:

Changed NET/ROM node adding code back to original.

Added new (exported) function from AX.25, ax25_link_up.

All protocol modules make an attempt at releasing memory allocated to their
routing tables when the module is removed.

Made start at adding IP over Rose, not finished.

General work on Rose.

Patch made against Linux 2.0.17.


From ax25-module-5.tar.gz to ax25-module-6.tar.gz:

AX.25, NET/ROM and ROSE brought into line with the code included in Linux
2.1.17. For the most part these changes are minor for AX.25 and NET/ROM,
just a few changes of error return codes in a few places. For ROSE quite a
lot of work has been done, including Terry Dawsons routing mask.

Patch made against Linux 2.0.27.


From ax25-module-6.tar.gz to ax25-module-7.tar.gz:

Added the manual setting of NET/ROM routes via digipeaters.

Increased the number of ROSE devices to six.

Made the code more like the original Linux 2.0.27 code, the patch size is
therefore reduced.

Code is now in line with pre-2.1.19.

Patch made against Linux 2.0.27.


From ax25-module-7.tar.gz to ax25-module-8.tar.gz:

Fixed bug in ROSE routing with an odd number in the routing mask.

New AX.25 ioctl to get information about a socket, SIOCAX25GETINFO.

New ROSE ioctl to use a common L2 callsign on all ports, SIOCRSL2CALL.

Added Frederics (F1OAT) patches to support pseudo-digipeating for the
support of FPAC and other uses.

Put an IP over AX.25 fix in by Joerg Reuter to fix a Linux 2.0.x specific
problem.

Code is now in line with pre-2.1.21.

Patch made against Linux 2.0.27.


From ax25-module-8.tar.gz to ax25-module-9.tar.gz:

Added forwarding of packets onto a new device, two new ioctls to support it.

Added patch from Tomi Manninen to change NET/ROM routing for the better.

Patch made against Linux 2.0.27.


From ax25-module-9.tar.gz to ax25-module-10.tar.gz:

Use of the sysctl interface for parameter setting instead of ioctls.

Uprated ROSE routing based on ideas from FPAC, a timeout on failed L2
connections, the value is settable via the sysctl interface.

Writing to a disconnected socket will now generated a SIGPIPE and will set
errno to EPIPE.

Socket accounting seems to be fixed.

AX.25 bug spotted my Tomi Manninen is hopefully cured.

A lot of code cleanups in all protocols.

This code is in advance of what will appear in 2.1.22, many bugs are fixed.

Thomas Sailers soundmodem patch.

Patch made against Linux 2.0.28.


From ax25-module-10.tar.gz to ax25-module-11.tar.gz:

Changed AX.25 sysctl interface to be more logical. Each device appears as a
directory with each parameter having its own file. Thanks for Joerg Reuter
for this.

Renamed patch file to better reflect its purpose.


From ax25-module-11.tar.gz to ax25-module-12.tar.gz:

Fixed patch to make it correct :-)

Removed digipeating from the kernel.

Changed AX.25 segmentation decision making.

Removed AX25_MAXQUEUE, a very very broken concept.

Fixed ROSE state machine bug, but not totally :-(

Patch made against Linux 2.0.29.


From ax25-module-12.tar.gz to ax25-module-13.tar.gz:

Removed the DAMA flag from /proc/net/ax25 for compatibility with 2.1.x.

Removed RTT calculation when running with no backoff.

Improved display in /proc/net/rose_routes.

ROSE now sends Clear Requests when L2 link fails or device downed.

Many improvements to through routing for ROSE.

Added "random" number with ROSE facilities to detect routing loops.

BPQ Ethernet driver now sends packets to dev_queue_xmit instead of devices
own transmit routine.

Added Thomas Sailers sound modem patches that were published on linux-hams.

Moved the PI2 and PT header files to /usr/src/include/linux as they include
user level definitions.

The AX.25 Idle Timer is now set to zero (none) by default.

Removed the NET/ROM HDRINCL socket option.

Changed the AX.25 HDRINCL socket option to PIDINCL for including the PID
field.

Changed the ROSE HDRINCL socket option to QBITINCL to allow setting of the Q
Bit value.

Most of the device drivers now have a default IP address to stop some of the
IP routing problems experienced in the past.

Locked NET/ROM routes now preserve their qualities.

LCI allocation for ROSE distinguishes between DTE and DCE and fixes a
potential bug. The maximum LCI is settable via a sysctl entry.

The maximum packet length for ROSE is settable via a sysctl entry.

Hooks for nrctl and rsctl removed.

Soundmodem changes from Thomas Sailer.

Patch made against Linux 2.0.30.


From ax25-module-13.tar.gz to ax25-module-13a.tar.gz:

Fixed bug when listening on all AX.25 ports simultaneously.

Patch made against Linux 2.0.30.


From ax25-module-13a.tar.gz to ax25-module-14.tar.gz:

NET/ROM now sends Connect Acknowledge with the Choke bit sent more often to
stray NET/ROM packets.

The ROSE Clear Request cause and diagnostic values can be read and written
via a couple of ioctls (SIOCRSGCAUSE, SIOCRSSCAUSE). A new structure
rose_cause_struct is used for this purpose.

Incoming ROSE connections may have their acceptance deferred until the user
level decides that it wants it (or not). This is set with the setsockopt
value (ROSE_DEFER) and a connection is established by a call to the ioctl
SIOCRSACCEPT, they are rejected via a close.

Updated the ROSE cause and diagnostic codes that are generated internally to
match a real ROSE node better.

Centralised change to AX.25 disconnected state in attempt to find bug.

Fixed the use of digipeaters for NET/ROM and ROSE interlinks.

Digipeaters used in ROSE interlinks appear in /proc/net/rose_neigh.

General area of digipeating cleaned/tightened up.

Ax25_connect now properly validates all outgoing connections for uniqueness.
Previously digipeater paths weren't checked which could cause problems.

Removed minor memory leak in ax25_connect associated with digipeating.

AX.25 sockets for pseudo-digipeating are now displayed with a * by the side
of them to avoid confusion.

Soundmodem updates and new modems from Thomas Sailer.

ROSE cause and diagnostics vary when finding a route fails. If no route
exists then NOT_OBTAINABLE is generated, if routes exist, but are broken then
OUT_OF_ORDER is generated.

AX.25 I frame handling altered a little. If we go to busy status then we
will generate an RNR even if no poll is set on the I frame.

New ROSE ioctl, SIOCRSCLRRT removes all existing routes.

Fixed problem with digipeating IP packets ... hopefully.

Patch made against Linux 2.0.30.


From ax25-module-14b to ax25-module-14c

Removed M bit processing from the ROSE code.

Added a patch from Thomas Sailer to fix a bug in half duplex operation.

Added patch from Terry Dawson that fixes UI IP mode. My mistake !

Serious idle timer setting bug fixed. This bug was introduced in
ax25-module-14 sometime.

Patch made against Linux 2.0.30.


From ax25-module-14c to ax25-module-14d

Patch modified to run against Linux 2.0.31


From ax25-module-14d to ax25-module-14e

Fix to Soundmodem BUFFER size from Thomas Sailer
Fix to correct rose route search continuing after all neighbours have
been exhausted from Jean-Paul.

