fix: convert MacAddr from vector to int

Still expose a vector / slice API with .fromSlice,
This commit is contained in:
2026-04-15 19:44:48 -04:00
committed by Tangled
parent 1f500b9b0a
commit 7077aae9ce
2 changed files with 15 additions and 4 deletions

View File

@@ -53,8 +53,19 @@ pub const EthIpUdp = packed struct(u336) { // 42 bytes * 8 bits = 336
// --- Ethernet ---
eth_type: u16 = std.os.linux.ETH.P.IP,
src_mac: @Vector(6, u8),
dst_mac: @Vector(6, u8) = @splat(0xff),
src_mac: MacAddr,
dst_mac: MacAddr = .fromSlice(@splat(0xff)),
pub const MacAddr = packed struct {
int: I,
pub const V = @Vector(6, u8);
pub const I = @Int(.unsigned, @bitSizeOf(V));
pub fn fromSlice(s: V) MacAddr {
return .{ .int = @bitCast(s) };
}
};
pub fn toBytes(self: @This()) [336 / 8]u8 {
var res: [336 / 8]u8 = undefined;