mctp: Add device handling and netlink interface

This change adds the infrastructure for managing MCTP netdevices; we add
a pointer to the AF_MCTP-specific data to struct netdevice, and hook up
the rtnetlink operations for adding and removing addresses.

Includes changes from Matt Johnston <matt@codeconstruct.com.au>.

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jeremy Kerr
2021-07-29 10:20:44 +08:00
committed by David S. Miller
parent 4b2e69305c
commit 583be982d9
10 changed files with 491 additions and 1 deletions

View File

@@ -10,6 +10,7 @@
#define __NET_MCTP_H
#include <linux/bits.h>
#include <linux/mctp.h>
/* MCTP packet definitions */
struct mctp_hdr {
@@ -32,4 +33,17 @@ struct mctp_hdr {
#define MCTP_HDR_TAG_SHIFT 0
#define MCTP_HDR_TAG_MASK GENMASK(2, 0)
static inline bool mctp_address_ok(mctp_eid_t eid)
{
return eid >= 8 && eid < 255;
}
static inline struct mctp_hdr *mctp_hdr(struct sk_buff *skb)
{
return (struct mctp_hdr *)skb_network_header(skb);
}
void mctp_device_init(void);
void mctp_device_exit(void);
#endif /* __NET_MCTP_H */