On Fri, 21 Jun 2024, Nosey Nick VA3NNW wrote:
> This thread talks about *duplicates*, which are bad enough, but I think I have to assume this
> behaviour could also cause *loops*.
>
> It would be perfectly legitimate, perhaps even encouraged, for igates to gate
> (appropriately-selected) traffic back in the other direction too. If they do so, they should be
> sending the packets unmodified in that direction too, NOT adding (or indeed stripping) any comments
> or any other parts of the packet (caveats apply - see Hessu's / other igate guide(s))...
Actually, TX igates must send all frames in the 3rd party format with
"TCPIP" in the inner packet path, and RX igates must not gate such packets
back from RF to APRS-IS. The APRS-IS servers will drop the packet if the
RX igate fails to drop it.
This is documented here:
https://aprs-is.net/IGating.aspx
"""
* An IGate should not gate third-party packets (data type }) with TCPIP or
TCPXX in the third-party header to APRS-IS.
* Third-party packets without TCPIP in the header are to be gated to
APRS-IS AFTER stripping the RF header and third-party data type.
"""
https://aprs-is.net/IGateDetails.aspx
"""
IGates must use the 3rd-party format on RF of
IGATECALL>APRS,GATEPATH:}FROMCALL>TOCALL,TCPIP,IGATECALL*:original packet data
where GATEPATH is the path that the gated packet is to follow on RF. This
format will allow IGates to prevent gating the packet back to APRS-IS. The
format of the 3rd party path (TCPIP,IGATECALL*) is mandatory; APRS-IS
paths MUST be removed before gating to RF.
"""
There have been a few igate implementations out there which fail to do the
3rd party formatting on transmit. When the packets were delayed a bit on
RF (due to digipeaters and congestion), they were re-injected to APRS-IS
by other igates outside the 30-second dupe checking window, and we got
loops. It caused part of the mess on APRS Thursday last year.
The non-third-party packets also caused all other igates and their
upstream APRS-IS servers to think that the originators of the packets were
locally reachable on RF, and all APRS text messages to those stations were
then transmitted to RF by all those other (correctly-working) iGates.
Full story:
https://blog.aprs.fi/2023/06/cg-antenna-gw-1000-aprs-igate-has.html
This 3rd-party packet format, when correctly implemented, should prevent
loops going APRS-IS -> RF -> APRS-IS completely, even if the packet data
is modified.
But yes, modifying the packet does open up other possibilities of packet
loops, if modifications are stacked. It's one good reason to not do it
when duplicate packet suppression is based on packet content.
- Hessu