[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230425090748.2380222-1-krzysztof.richert@intel.com>
Date: Tue, 25 Apr 2023 11:07:47 +0200
From: Krzysztof Richert <krzysztof.richert@...el.com>
To: jk@...econstruct.com.au, matt@...econstruct.com.au
Cc: davem@...emloft.net, kuba@...nel.org, netdev@...r.kernel.org,
krzysztof.richert@...el.com
Subject: [RFC PATCH v1 0/1] net: mctp: MCTP VDM extension
Hi,
According to vendor needs it seems that supporting Vendor Define Messages
based on PCI vendor ID (0x7e) or based on IANA number (0x7f) which are
described in DSP0236 will bring additional value to existing MCTP
susbsystem. Currently MCTP subsystem allows to register one specific
client for each MCTP message type.
Under MCTP type=0x7e we handle two different messages, one is handle by
user-space application and the other is handle by kernel-space driver.
Because each vendor may define, own, internal message format that's why
we considered to extend sockaddr_mctp and allow for registration on MCTP
message types = 0x7e/0x7f with additional sub-type (up to 8 bytes), which
can be defined and use by each vendor to distinguish MCTP VDM packages.
union mctp_vendor_id {
struct {
__u32 resvd : 16,
data : 16;
} pci_vendor_id;
struct {
__u32 data;
} iana_number;
};
struct mctp_vdm_data {
union mctp_vendor_id smctp_vendor;
__u64 __smctp_pad0;
__u64 smctp_sub_type;
};
struct sockaddr_mctp_vendor_ext {
struct sockaddr_mctp_ext smctp_ext;
struct mctp_vdm_data smctp_vdm_data;
};
Please confirm if new uapi (above) looks fine for you.
#### Background and References
https://www.dmtf.org/dsp/DSP0236
https://github.com/openbmc/docs/blob/master/designs/mctp/mctp-kernel.md
https://codeconstruct.com.au/docs/mctp-on-linux-introduction/
#### Requirements
1. Kernel shall allow to register many clients for MCTP VDM types(0x7e/0x7f)
based on additional sub-type field.
2. VDM extension shall be easy extendable for different vendors purposes.
Thanks in advance for your inputs/feedback.
Krzysztof Richert (1):
net: mctp: MCTP VDM extension
include/net/mctp.h | 24 ++++++++
include/uapi/linux/mctp.h | 23 ++++++++
net/mctp/af_mctp.c | 114 +++++++++++++++++++++++++++++++++++++-
net/mctp/route.c | 9 +++
4 files changed, 169 insertions(+), 1 deletion(-)
--
2.25.1
Powered by blists - more mailing lists