Repository navigation
Conversation
omrzk
marked this pull request as draft
October 26, 2026 14:13
Signed-off-by: omrzk <193513049+omrzk@users.noreply.github.com>
omrzk
force-pushed
the
fix/vlan-protocol-network-byte-order
branch
from
October 27, 2026 04:48
26b964e to
e7a69cb
Compare
omrzk
marked this pull request as ready for review
October 27, 2026 04:49
Author
|
The Go 1.25 vulnerability job fails while installing govulncheck, before scanning this code: Both Linux integration jobs and both macOS test jobs pass on Go 1.25/1.26, as do lint and DCO. The Go 1.26 vulnerability job is marked canceled, so the overall workflow is still not green. I have left the VLAN patch focused; the scanner/toolchain compatibility needs a separate CI fix. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
VLAN and bridge VLAN protocol attributes are network-endian, but the drivers used native-endian integers with byte-swapped constants. This produces
00 81instead of81 00for 802.1Q on s390x, and decoding a kernel response does not recognize the protocol.Use canonical EtherType constants (
0x8100/0x88a8) and network byte order for these payloads, preserving the surrounding native-endian attributes. Also make the four bridge raw fixtures native-endian so they can run on s390x; these reproduce the failures in #292.The exported constants' numeric values change; callers using the named constants retain the intended protocol and wire bytes on little-endian hosts. Callers using the previous byte-swapped numeric literals should use the named constants.
Validation: the new regression fails on the original code and passes with the fix for both VLAN drivers, both protocols and both byte orders. Full native
go test -race -shuffle=on -cover ./..., full Linux/s390x fixture suite under qemu-user,go vet ./...,go build -tags=gofuzz ./..., and golangci-lint 2.15.0 pass. No privileged live interface creation was run; this host has no effective capabilities.Fixes #292.