lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ