Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Showing
10 changed files
with
491 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
/* | ||
* Management Component Transport Protocol (MCTP) - device | ||
* definitions. | ||
* | ||
* Copyright (c) 2021 Code Construct | ||
* Copyright (c) 2021 Google | ||
*/ | ||
|
||
#ifndef __NET_MCTPDEVICE_H | ||
#define __NET_MCTPDEVICE_H | ||
|
||
#include <linux/list.h> | ||
#include <linux/types.h> | ||
#include <linux/refcount.h> | ||
|
||
struct mctp_dev { | ||
struct net_device *dev; | ||
|
||
unsigned int net; | ||
|
||
/* Only modified under RTNL. Reads have addrs_lock held */ | ||
u8 *addrs; | ||
size_t num_addrs; | ||
spinlock_t addrs_lock; | ||
|
||
struct rcu_head rcu; | ||
}; | ||
|
||
#define MCTP_INITIAL_DEFAULT_NET 1 | ||
|
||
struct mctp_dev *mctp_dev_get_rtnl(const struct net_device *dev); | ||
struct mctp_dev *__mctp_dev_get(const struct net_device *dev); | ||
|
||
#endif /* __NET_MCTPDEVICE_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
obj-$(CONFIG_MCTP) += mctp.o | ||
mctp-objs := af_mctp.o | ||
mctp-objs := af_mctp.o device.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.