#packet #networking #packet-parser #set #cross-platform #generate #xenet

macro xenet-macro

A macro for generating packet structures used by xenet-packet. Not intended for direct use.

5 releases (breaking)

0.5.0 Feb 12, 2024
0.4.0 Dec 13, 2023
0.3.0 Dec 3, 2023
0.2.0 Nov 20, 2023
0.1.0 Nov 19, 2023

#63 in #packet-parser

Download history 781/week @ 2024-01-30 926/week @ 2024-02-06 405/week @ 2024-02-13 9/week @ 2024-02-20 65/week @ 2024-02-27 21/week @ 2024-03-05 17/week @ 2024-03-12 11/week @ 2024-03-19 4/week @ 2024-03-26 49/week @ 2024-04-02 11/week @ 2024-04-09 14/week @ 2024-04-16 105/week @ 2024-04-23 16/week @ 2024-04-30 8/week @ 2024-05-07 2/week @ 2024-05-14

131 downloads per month
Used in 9 crates (2 directly)

MIT license

96KB
2.5K SLoC

xenet

Cross-platform networking library for Rust

Crates.io Documentation License

Overview

xenet is a Rust library that provides cross-platform low-level networking capabilities.
It includes a set of modules, each with a specific focus:

  • datalink: Datalink layer networking.
  • packet: Low-level packet parsing and building.
  • packet-builder: High-level packet building.
  • socket: Socket-related functionality.

Upcoming Features

The project has plans to enhance xenet with the following features:

  • XDP Support: Adding support for eBPF, specifically XDP (eXpress Data Path), for high-performance packet processing and filtering.
  • More Protocol Support: Expanding protocol support to include additional network protocols and standards.
  • Performance Improvements: Continuously working on performance enhancements for faster network operations.

Usage

To use xenet, add it as a dependency in your Cargo.toml:

[dependencies]
xenet = "0.5"

Using Specific Sub-crates

You can also directly use specific sub-crates by importing them individually.

  • xenet-datalink
  • xenet-packet
  • xenet-packet-builder
  • xenet-socket

If you want to focus on network interfaces, you can use the default-net.

Dependencies

~2.4–4MB
~71K SLoC