capsule-rs / capsule-rs/capsule

Support generating a VLAN-tagged Ethernet frame

Open
#81 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
443
Forks
42
PR merge metrics
No merged PRs in 30d

Description

## Background

Currently, we can read Ethernet frames with VLAN-tags, but not generate/create ones. We'd like to be able to generate packets with VLAN-tagged Ethernet frames. More information about tags can be found at https://docs.rs/capsule/latest/capsule/packets/struct.Ethernet.html#8021q and https://docs.rs/capsule/latest/capsule/packets/struct.Ethernet.html#8021ad, including links to specs/Wikipedia.

## Notes on Addition

[VlanTag](https://docs.rs/capsule/latest/capsule/packets/struct.VlanTag.html) methods will need setters for these fields.

Contributor guide

Open the contributing guide

Research direction

Start with the Ethernet and VlanTag documentation linked in the issue, then inspect the existing VLAN-tag parsing and Ethernet frame-generation paths. Determine how VlanTag fields are represented and where setters are needed. Done means callers can generate Ethernet frames with 802.1Q and 802.1ad VLAN tags, matching the documented tag formats.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.