[PATCH] net:mctp: split mctp hdr version to ver and rsvd

From: wit_yuan

Date: Thu Apr 09 2026 - 08:56:27 EST


From: yuanzhaoming <yuanzm2@xxxxxxxxxx>

from spec dsp0236_1.2.1.pdf page 26, the mctp header contains the
RSVD(4bit) and Hdr version(4 bit).

mctp_pkttype_receive invoke mctp_hdr, and get mh->ver whole byte
compare the MCTP_VER_MIN, MCTP_VER_MAX. the reserver bits may be
by misleading used.

Signed-off-by: yuanzhaoming <yuanzm2@xxxxxxxxxx>
---
include/net/mctp.h | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/net/mctp.h b/include/net/mctp.h
index e1e0a69afdce..80cc9c63f6ba 100644
--- a/include/net/mctp.h
+++ b/include/net/mctp.h
@@ -14,10 +14,17 @@
#include <linux/netdevice.h>
#include <net/net_namespace.h>
#include <net/sock.h>
+#include <asm/byteorder.h>

/* MCTP packet definitions */
struct mctp_hdr {
- u8 ver;
+#if defined(__LITTLE_ENDIAN_BITFIELD)
+ u8 ver:4, rsvd: 4;
+#elif defined(__BIG_ENDIAN_BITFIELD)
+ u8 rsvd:4, ver: 4;
+#else
+#error "Please fix <asm/byteorder.h>"
+#endif
u8 dest;
u8 src;
u8 flags_seq_tag;
--
2.49.0