summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_private_mrp.h
diff options
context:
space:
mode:
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>2021-01-21 21:40:37 +0100
committerJakub Kicinski <kuba@kernel.org>2021-01-23 12:38:42 -0800
commit6781939054a1a161e06e7a7955a4846be770a711 (patch)
tree5b69bffa059f72b3fa4000a2d57275a8c0ab6c77 /net/bridge/br_private_mrp.h
parentdc090de854b9d7fdbc6f4df70bd7fc1b43eeccf8 (diff)
downloadlinux-6781939054a1a161e06e7a7955a4846be770a711.tar.gz
linux-6781939054a1a161e06e7a7955a4846be770a711.tar.bz2
linux-6781939054a1a161e06e7a7955a4846be770a711.zip
net: mrp: move struct definitions out of uapi
None of these are actually used in the kernel/userspace interface - there's a userspace component of implementing MRP, and userspace will need to construct certain frames to put on the wire, but there's no reason the kernel should provide the relevant definitions in a UAPI header. In fact, some of those definitions were broken until previous commit, so only keep the few that are actually referenced in the kernel code, and move them to the br_private_mrp.h header. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/bridge/br_private_mrp.h')
-rw-r--r--net/bridge/br_private_mrp.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/net/bridge/br_private_mrp.h b/net/bridge/br_private_mrp.h
index 1883118aae55..32a48e5418da 100644
--- a/net/bridge/br_private_mrp.h
+++ b/net/bridge/br_private_mrp.h
@@ -88,4 +88,33 @@ int br_mrp_switchdev_send_in_test(struct net_bridge *br, struct br_mrp *mrp,
int br_mrp_ring_port_open(struct net_device *dev, u8 loc);
int br_mrp_in_port_open(struct net_device *dev, u8 loc);
+/* MRP protocol data units */
+struct br_mrp_tlv_hdr {
+ __u8 type;
+ __u8 length;
+};
+
+struct br_mrp_common_hdr {
+ __be16 seq_id;
+ __u8 domain[MRP_DOMAIN_UUID_LENGTH];
+};
+
+struct br_mrp_ring_test_hdr {
+ __be16 prio;
+ __u8 sa[ETH_ALEN];
+ __be16 port_role;
+ __be16 state;
+ __be16 transitions;
+ __be32 timestamp;
+} __attribute__((__packed__));
+
+struct br_mrp_in_test_hdr {
+ __be16 id;
+ __u8 sa[ETH_ALEN];
+ __be16 port_role;
+ __be16 state;
+ __be16 transitions;
+ __be32 timestamp;
+} __attribute__((__packed__));
+
#endif /* _BR_PRIVATE_MRP_H */