https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/types.h#L35
в gcc есть костыль
#define __bitwise __attribute__((bitwise))
typedef __u32 __bitwise __be32;
который на этапе компиляции ругается на тебя если пытаешься u32 = be32 и на оборот.
А если очень надо, пиши стандартизаторам мозговыносящее письмо, пусть типы расширяют !