Packet.Axudp 0.16.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Packet.Axudp --version 0.16.0
                    
NuGet\Install-Package Packet.Axudp -Version 0.16.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Packet.Axudp" Version="0.16.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Packet.Axudp" Version="0.16.0" />
                    
Directory.Packages.props
<PackageReference Include="Packet.Axudp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Packet.Axudp --version 0.16.0
                    
#r "nuget: Packet.Axudp, 0.16.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Packet.Axudp@0.16.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Packet.Axudp&version=0.16.0
                    
Install as a Cake Addin
#tool nuget:?package=Packet.Axudp&version=0.16.0
                    
Install as a Cake Tool

Packet.Axudp

AX.25-over-IP: UDP-encapsulated AX.25 frames, RFC 1226 style.

AxudpSocket is a bidirectional AXUDP endpoint — UDP encapsulation of AX.25 frames per the RFC 1226 "AX.25 over IP" convention. The UDP payload is the bare AX.25 frame body followed by the 2-octet AX.25 FCS, exactly as every real AXIP/AXUDP peer (LinBPQ's BPQAXIP, XRouter, ax25ipd, JNOS) speaks it. Part of Packet.NET, a .NET amateur-radio / AX.25 packet stack.

Install

dotnet add package Packet.Axudp

Quick start

using System.Net;
using Packet.Ax25;
using Packet.Axudp;

using var receiver = new AxudpSocket(localPort: 0);   // 0 = any free ephemeral port
using var sender = new AxudpSocket(localPort: 0);

var frame = Ax25Frame.Ui(
    destination: new Callsign("Q0PDN", 0),
    source: new Callsign("N0CALL", 7),
    info: "hello"u8);

// SendAsync always appends the 2-octet AX.25 FCS (CRC-16-CCITT, low byte first).
await sender.SendAsync(new IPEndPoint(IPAddress.Loopback, receiver.LocalPort), frame);

// ReceiveAsync strips + validates the FCS, dropping any bad-CRC datagram, then
// returns the sender endpoint, the bare frame body, and a best-effort decode.
AxudpReceiveResult result = await receiver.ReceiveAsync();
Console.WriteLine(result.DecodedFrame?.Source.Callsign);   // N0CALL-7

The FCS is part of the AXUDP wire format and is unconditional: there is no FCS-less form. The decode on receive is best-effort at modulo-8 (this transport layer holds no session context); a modulo-128 / extended link must re-parse RawFrame at its negotiated modulo before trusting N(S)/N(R)/PID/info.

Key types

  • AxudpSocket — the bidirectional AXUDP endpoint: SendAsync (appends FCS), ReceiveAsync (strips + validates FCS), SendRawAsync (verbatim escape hatch for replaying captures), LocalPort, Dispose.
  • AxudpReceiveResult — one received datagram after FCS strip/validation: From (sender IPEndPoint), RawFrame (bare AX.25 body), DecodedFrame (parsed Ax25Frame, or null if the body didn't decode).

See also


MIT-licensed. Part of the Packet.NET stack.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.24.0 63 7/20/2026
0.23.0 83 7/14/2026
0.22.0 83 7/14/2026
0.21.0 91 7/9/2026
0.20.0 92 7/5/2026
0.19.0 99 7/5/2026
0.18.0 101 7/5/2026
0.17.0 105 6/23/2026
0.16.0 111 6/23/2026
0.15.0 100 6/23/2026
0.14.0 102 6/22/2026