Linux HAM/Amateur Radio development
 help / color / mirror / Atom feed
From: Stuart Longland VK4MSL <me@vk4msl.com>
To: David Ranch <linux-hams@trinnet.net>,
	Lars Kellogg-Stedman <lars@oddbit.com>,
	Dan Cross <crossd@gmail.com>
Cc: Chris Maness <christopher.maness@gmail.com>,
	linux-hams@vger.kernel.org, dan.carpenter@linaro.org
Subject: Userspace AX.25 stack library [was Re: Kernel 6.9.1 AX.25 Crash]
Date: Thu, 23 May 2024 10:54:38 +1000	[thread overview]
Message-ID: <9f43ddd7-4e61-4a37-a8d5-aadb1e26f38b@vk4msl.com> (raw)
In-Reply-To: <e0643fcd-fc41-0d56-0497-684fc7c157ae@trinnet.net>

On 23/5/24 08:22, David Ranch wrote:
> There are a lot of fine protocol details in the Linux stack that are NOT 
> exposed via the "defacto" AGW API standard that stands today.  Maybe if 
> the AGW API was heavily enhanced, maybe it would be possible but there 
> is a whole other level of potential legal issues with that.
> The following was posted years after tools like ldsped, soundmodem, 
> direwolf, etc. were already creating AGW "Server" API services:
> 
> https://www.sv2agw.com/Home/Developers
> -- 
> License Agreement
> 
> You must not reverse engineering the TCP/IP protocol that Packet Engine 
> uses to communicate with client applications. This protocol copyright 
> belongs to me and you cannot emulate it. You can only use it for writing 
> client applications.

Ehh, fun stuff.  I suppose the question then is, what would a home-grown 
packet API look like?

I recall looking at the AGW API and observing some of its limitations 
(the full list illudes me just now, but I recall things like the 
reserved bits were inaccessible).

One thing I observed recently, is that other userspace stacks like BPQ32 
will switch protocols after connecting, so the initial I-frame might be 
sent without routing protocol data (PID 0xf0), but then it'll switch to 
NETROM (PID 0xcf) with its own "frame" format within.

https://gist.github.com/sjlongland/0199d5a7cc7bbc71e83d0cc5577a2509

For someone like myself who's been used to dealing with TCP/IP, AX.25 
seems quite weird… yes, there's UI frames that behave like UDP and 
connected-mode that's sort-of like TCP; but then that connected-mode 
stream is actually functions as a multiplex separated by PID code.

I haven't tried picking apart NETROM yet, nor have I looked at how ROSE 
was structured.  Finding relevant documentation for these protocols is 
getting tricky now.  So the Linux kernel stack, for all its faults and 
failings, is still valuable as it at least implements these once 
documented protocols.

Do we start with maybe defining a wire-representation of the Linux 
kernel AX.25 stack data types and an RPC mechanism?  Or should we toss 
that and start afresh?

Regards,
-- 
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
   ...it's backed up on a tape somewhere.


  parent reply	other threads:[~2024-05-23  1:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01  6:02 [PATCH net] ax25: Fix refcount leak issues of ax25_dev Duoming Zhou
2024-05-01 17:33 ` Markus Elfring
2024-05-01 17:43 ` Dan Carpenter
2024-05-02  4:35   ` duoming
2024-05-02  7:56     ` Dan Carpenter
2024-05-02  9:30       ` Paolo Abeni
2024-05-02  1:29 ` Lars Kellogg-Stedman
2024-05-03 20:36   ` Dan Carpenter
2024-05-03 23:40     ` Lars Kellogg-Stedman
2024-05-04 12:16       ` Dan Carpenter
2024-05-04 22:16         ` Lars Kellogg-Stedman
2024-05-07  3:18           ` Lars Kellogg-Stedman
2024-05-07  8:08             ` Dan Carpenter
2024-05-07  9:04               ` duoming
2024-05-08 18:27                 ` Dan Carpenter
2024-05-09  1:40               ` duoming
2024-05-23 12:30               ` Lars Kellogg-Stedman
2024-05-07  6:38     ` Dan Carpenter
2024-05-15  9:52   ` duoming
2024-05-16 19:20     ` Lars Kellogg-Stedman
     [not found]       ` <CANnsUMHTZ_P4-C2iGdbakcp_Xk5c-aCO5kYEvaBdOcsaSnK5Pg@mail.gmail.com>
2024-05-20 14:42         ` Kernel 6.9.1 AX.25 Crash Lars Kellogg-Stedman
2024-05-20 14:49           ` Chris Maness
2024-05-21  0:11           ` Chris Maness
2024-05-21  0:48             ` Lars Kellogg-Stedman
2024-05-21  1:38               ` Chris Maness
2024-05-21  2:12               ` Dan Cross
2024-05-21  3:07                 ` Chris Maness
2024-05-21 11:47                   ` Dave Hibberd
2024-05-21 12:03                     ` Chris Maness
2024-05-21 19:20                       ` Mike Quin
2024-05-21 23:02                         ` Chris Maness
2024-05-21 23:07                           ` Mike Quin
2024-05-21 23:17                             ` Chris Maness
2024-05-21 15:53               ` David Ranch
2024-05-21 16:28                 ` Chris Maness
2024-05-21 18:12                 ` Lars Kellogg-Stedman
2024-05-22 15:32                   ` Dan Cross
2024-05-22 16:07                     ` Chris Maness
2024-05-22 17:06                       ` David Ranch
2024-05-22 18:04                         ` Dan Cross
2024-05-22 17:54                       ` Dan Cross
2024-05-22 18:17                     ` Lars Kellogg-Stedman
2024-05-22 18:37                       ` Dan Cross
2024-05-22 19:23                         ` Lars Kellogg-Stedman
2024-05-22 22:22                           ` David Ranch
2024-05-22 22:32                             ` Lars Kellogg-Stedman
2024-05-23  0:54                             ` Stuart Longland VK4MSL [this message]
2024-05-23 16:32                               ` Userspace AX.25 stack library [was Re: Kernel 6.9.1 AX.25 Crash] Dan Cross
2024-05-22 16:10                   ` Kernel 6.9.1 AX.25 Crash David Ranch
2024-05-22 18:13                     ` Lars Kellogg-Stedman
2024-06-07 12:01                   ` Lars Kellogg-Stedman
2024-06-07 13:49                     ` David Ranch
2024-06-08  1:59                       ` Lars Kellogg-Stedman
2024-06-08 15:23                         ` David Ranch
2024-05-23 10:30               ` Dan Carpenter
2024-05-27 17:59           ` Chris Maness
2024-05-04 11:04 ` [PATCH net] ax25: Fix refcount leak issues of ax25_dev Dan Carpenter

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=9f43ddd7-4e61-4a37-a8d5-aadb1e26f38b@vk4msl.com \
    --to=me@vk4msl.com \
    --cc=christopher.maness@gmail.com \
    --cc=crossd@gmail.com \
    --cc=dan.carpenter@linaro.org \
    --cc=lars@oddbit.com \
    --cc=linux-hams@trinnet.net \
    --cc=linux-hams@vger.kernel.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