Linux HAM/Amateur Radio development
 help / color / mirror / Atom feed
From: Dave Platt <dplatt@radagast.org>
To: Ralf Baechle DL5RB <ralf@linux-mips.org>
Cc: linux-hams <linux-hams@vger.kernel.org>
Subject: Re: BUGs into libax25
Date: Mon, 02 Jun 2008 10:16:57 -0700	[thread overview]
Message-ID: <48442B09.7060001@radagast.org> (raw)
In-Reply-To: <20080602091601.GC997@linux-mips.org>


> Anyway, the maximum callsign length in the AX.25 spec is 6 characters and
> (I looked into that ...) there is no way of extending that without causing
> large scale software breakage :-(  It's almost like retrofitting 128-bit
> addresses into IPv4 - it took a new protocol.

It might not be *that* bad.  I believe that it would be possible to
support 7-ASCII-character callsigns in the six octets that are
available.  It would require specialized encoding and decoding of
the longer callsigns, but would not change the layout of the AX.25
packet header.

Consider that callsigns are strictly alphanumeric and case-
insensitive.  That means that there are only 37 possible
characters (A-Z, 0-9, space).  That's just barely more than
five bits of information per character.  There are less than
37^7 possible callsigns.

There are numerous ways to encode 37^7 different values in
six octets.  It's very easy if you're willing to just fill
the octets with binary data.  It's almost as easy if you
want to use printable ASCII only (blank through tilde,
avoiding DEL and all of the 32 nonprintables at the start
of the character set)... there are 95 such printable
characters, and 95^6 >> 37^7.

I suspect that there's probably a fairly easy way to ensure
that any such encoding of the long callsign would result in
a set of six octets which could be guaranteed to be
recognizable as *not* a standard unencoded ASCII callsign,
and thus make the meaning (and the decoding) entirely
unambiguous.

This method would certainly cause compatibility problems
for many TNCs and other AX.25 devices, but at least it's
vaguely upwards-compatible and doesn't change the packet
structure - just the interpretation of the callsign/address
field.

Whether it'll ever happen?  Probably not, would be my guess, at
least not as-is.  Maybe an approach which can embed an encoded
callsign in an IPV6 address would work better.


  reply	other threads:[~2008-06-02 17:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-01 22:26 BUGs into libax25 Bernard Pidoux
2008-06-02  2:14 ` Mike McCarthy, W1NR
2008-06-02  6:49   ` Robin Gilks
2008-06-02  9:16   ` Ralf Baechle DL5RB
2008-06-02 17:16     ` Dave Platt [this message]
2008-06-02  8:49 ` Ralf Baechle DL5RB
  -- strict thread matches above, loose matches on Subject: below --
2008-06-02  9:36 DL5DI
2008-06-02 10:41 ` Matti Aarnio
2008-06-02 16:28   ` Bernard Pidoux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48442B09.7060001@radagast.org \
    --to=dplatt@radagast.org \
    --cc=linux-hams@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox