mctp: Add base packet definitions
authorJeremy Kerr <jk@codeconstruct.com.au>
Thu, 29 Jul 2021 02:20:41 +0000 (10:20 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Jul 2021 14:06:49 +0000 (15:06 +0100)
Simple packet header format as defined by DMTF DSP0236.

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
MAINTAINERS
include/net/mctp.h [new file with mode: 0644]

index 22a1ff9afd9df45a1d1ab708e963263425a8dc40..770b986d10f04b3df20ee23f929a659a33de32fa 100644 (file)
@@ -11037,6 +11037,7 @@ M:      Jeremy Kerr <jk@codeconstruct.com.au>
 M:     Matt Johnston <matt@codeconstruct.com.au>
 L:     netdev@vger.kernel.org
 S:     Maintained
+F:     include/net/mctp.h
 F:     net/mctp/
 
 MAN-PAGES: MANUAL PAGES FOR LINUX -- Sections 2, 3, 4, 5, and 7
diff --git a/include/net/mctp.h b/include/net/mctp.h
new file mode 100644 (file)
index 0000000..4c01e08
--- /dev/null
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Management Component Transport Protocol (MCTP)
+ *
+ * Copyright (c) 2021 Code Construct
+ * Copyright (c) 2021 Google
+ */
+
+#ifndef __NET_MCTP_H
+#define __NET_MCTP_H
+
+#include <linux/bits.h>
+
+/* MCTP packet definitions */
+struct mctp_hdr {
+       u8      ver;
+       u8      dest;
+       u8      src;
+       u8      flags_seq_tag;
+};
+
+#define MCTP_VER_MIN   1
+#define MCTP_VER_MAX   1
+
+/* Definitions for flags_seq_tag field */
+#define MCTP_HDR_FLAG_SOM      BIT(7)
+#define MCTP_HDR_FLAG_EOM      BIT(6)
+#define MCTP_HDR_FLAG_TO       BIT(3)
+#define MCTP_HDR_FLAGS         GENMASK(5, 3)
+#define MCTP_HDR_SEQ_SHIFT     4
+#define MCTP_HDR_SEQ_MASK      GENMASK(1, 0)
+#define MCTP_HDR_TAG_SHIFT     0
+#define MCTP_HDR_TAG_MASK      GENMASK(2, 0)
+
+#endif /* __NET_MCTP_H */