I really appreciate this, thank you. I think I had confused myself by playing with ‘u16’ and ‘u8’ and somehow coming to the conclusion that they were matching the right side of a 32-bit string. (Which may still be true, but, I’m just masking u32s now).
This is what I ended up with, which is working the way I’d expect:
<span style="color:#323232;">tc filter add dev wlan0 protocol ip parent 1: prio 1 u32
</span><span style="color:#323232;"> match u32 0x30d6 0x0000ffff at -16
</span><span style="color:#323232;"> match u32 0xc92d1905 0xffffffff at -12 flowid 1:20
</span>
This sends Ethernet frames destined for 30:d6:c9:2d:19:05 to flow 1:20, and it doesn’t seem to match a second device I tested. So, all good! Thank you again.
Oooh, don’t do the Pinebook Pro. I think anything Pine64 isn’t unsuitable for a non-tinkerer to be using. Also, if there’s DRM content involved (unsure on Hulu), you’ll probably want to stick with an x86 CPU.
Are you leaving behind the dotfiles because you don’t want to bring over any of your old configuration?
For whatever it’s worth, you can remove Snap support from your Ubuntu system. If you want more current software, AppImage and Flatpaks are good for that.