User Details
- User Since
- May 14 2014, 7:57 AM (622 w, 23 h)
Yesterday
Tue, Apr 14
good catch! would you mind adding a note in the code about this so it's not accidentally removed in the future when someone tinkers with compat stuff?
Mon, Apr 13
Sun, Apr 12
oh oops! ok sorry yes please test it. i missed that!
wait ignore me. There already IS stuff in sys/dev/intel/
oh one final comment - please put the code in sys/dev/intelpmc/, matching sys/modules/intelpmc/ .
I'm going to land this today unless someone has any last minute objections!
nice work!
Sat, Apr 11
Fri, Apr 10
address copyright/dates
Thu, Apr 9
update to include fixes to build on both 32 and 64 bit platforms
Tue, Apr 7
rebase/update
rename ixgbe_mdio -> if_ix_mdio_hw
Mon, Apr 6
Thanks! Lemme test it locally and then i'll pull it into -head.
Sun, Apr 5
hi! i'm trying to put as much hardware specific code into if_rge_hw.c to hopefully make it easier to keep whole hardware-specific routines in sync with openbsd.
Fri, Apr 3
Tue, Mar 31
looks like this diff got the flags stuff and shuffling around where the 'struct bus_dma_tag' is defined.
I'll go clean that up shortly.
Mon, Mar 30
Sun, Mar 29
swizzle when it's done to explicitly do it for mdio/management;
add comments in the code.
Update to latest -HEAD; make it default to off w/out a hint
Sat, Mar 28
at the surface this looks all just fine. I trust that if you've tested it a bunch and new installs are ok, I think we're ok.
Wed, Mar 25
@kevlo would you mind taking a look at this? What do y'all do in openbsd for SFP+ support?
Sun, Mar 22
Tue, Mar 17
this is good work! i would like to figure out how to describe the "why" this extra stuff is necessary though, so lemme noodle on that a bit first.
Mar 17 2026
Mar 16 2026
Mar 15 2026
Mar 14 2026
Ok, i'm now actively looking at this.
Lemme see which I can delete and which I need to keep and use.
Mar 8 2026
It's in here just in case i need it when figuring out WOL. I'd much prefer we figure out WOL :P
nice catch!
Mar 5 2026
Mar 4 2026
Mar 3 2026
First up - the alignment should be what the hardware supports, not what the ethernet type supports. Eg, if the virtio API supports 1 byte alignment and it's not hugely inefficient to do so then that's what you should create the DMA tag with.
There's a bunch of un-fun stuff around RX alignment of buffers versus the network stack requirements - notably the IP stack will do unaligned accesses and will trip an exception if you don't enable unaligned access or handle it in said exception handler.
This typically comes up when you have hardware with 4 byte alignment requirements but you need to start the mbuf at a 2 byte offset so a non-VLAN ethernet header will result in the IP header starting at a 4 byte alignment.
(Honestly though it's 2026 and we should just finally fix the IP/TCP stack..) So just keep that in mind if you're trialing 1 byte hardware alignment and you see weird shenanigans with RX path mbufs.
