The Layer 2 digipeater (digital repeater):
- Repeats all packets (I, S, and U) containing the digipeater’s address in the next-to-digipeat position if
- the total path does not exceed the digipeater's maximum hop count.
- the next digipeater (if there is one) in the path is in this
digipeater's "ok" list.
- none of the digipeaters in the path are in this digipeater's
"exclude" list or, in lieu of an "exclude" list, all
digipeaters in the path must be in the "ok" list.".
- Processing is performed per the specification. Special purpose
addresses are not supported.
- Repeats any UI packets containing any special purpose address in the next-to-digipeat position
which is recognized by the digipeater. The packet will be
repeated if
- it was heard directly
- it was last digipeated by a digipeater in its
"ok" list unless the packet has been digipeated by a digipeater in its
"exclude" list or, in lieu of an "exclude" list, all digipeaters
in the digipeated path must be in the "ok" list."
- it has not been digipeated the
maximum hop count.
The digipeater will replace the portion of the path with the H-bit not set with
the digipeater's address
with the H-bit set and any path defined by the sysop. The sysop
defined path will be trimmed or omitted based on the digipeater's maximum
hop count.
The "generic discovery" special purpose address is DISCVR and must be implemented
by all compliant digipeaters.
- Does not repeat duplicate UI packets if the path contains a recognized
special purpose address as specified in #2. Duplication is determined
by calculating a CRC or checksum on all packets repeated based on #2.
The CRC or checksum is based on the origin address, destination address,
and I-field data.
- Does not repeat any packet where the digipeater's address appears before or
including the call with the H-bit set in the path.
- Responds to XID packets with settings for PI 5 (max TX I-Field length)
and 6 (max RX I-Field length) using the reverse path the packet was
received.
These provide:
- A method for two layer 2 endpoints to establish “best path”
communications within the constraints of the LAN.
- A method for a LAN to span more than one digipeater although 2 is the
recommended maximum due to reliability issues. Repeater identification is
implemented and path discovery is supported. The sysop defined path should
be the generic layer 2 special purpose address DISCVR in most cases. Only UI packets are
supported due to only U packet with PID.
- A multipath duplicate repeat prevention mechanism. This prevents
packets received by multiple digipeaters directly from being improperly
repeated multiple times by the same digipeater. Multipath is not an
issue with a defined path (#1).
- A method to prevent link layer loops.
- This implements MTU discovery for higher layer protocol interfaces.
The definition of packet types from the AX.25 v2.2 specification:
4.2.1.1. Information-Transfer Format
All I frames have bit 0 of the control field set to “0”. N(S) is
the sender’s send sequence number (the send sequence number of this frame). N(R)
is the sender’s receive sequence number (the sequence number of the next
expected receive frame). These numbers are described in Section 4.2.4.
4.2.1.2. Supervisory Format
Supervisory frames have bit 0 of the control field set to “1”,
and bit 1 of the control field set to “0”. S frames provide supervisory link
control such as acknowledging or requesting retransmission of I frames, and
link-layer window control. Because S frames do not have an information field,
the sender’s send variable and the receiver’s receive variable are not
incremented for S frames.
4.2.1.3. Unnumbered Format
Unnumbered frames have both bits 0 and 1 of the control field
set to “1”. U frames are responsible for maintaining additional control over the
link beyond what is accomplished with S frames. U frames are responsible for
establishing and terminating link connections. U frames also allow for the
transmission and reception of information outside of the normal flow control.
Some U frames may contain both information and PID fields.