[PATCH 0/3] net/ncsi: Add NC-SI 1.2 Get MC MAC Address command

Peter Delevoryas posted 3 patches 2 years, 9 months ago
There is a newer version of this series
net/ncsi/internal.h     |  7 ++--
net/ncsi/ncsi-cmd.c     |  3 +-
net/ncsi/ncsi-manage.c  | 29 ++++++-----------
net/ncsi/ncsi-netlink.c |  4 +--
net/ncsi/ncsi-pkt.h     | 17 ++++++++--
net/ncsi/ncsi-rsp.c     | 71 +++++++++++++++++++++++++++++++++++++++--
6 files changed, 102 insertions(+), 29 deletions(-)
[PATCH 0/3] net/ncsi: Add NC-SI 1.2 Get MC MAC Address command
Posted by Peter Delevoryas 2 years, 9 months ago
NC-SI 1.2 isn't officially released yet, but the DMTF takes way too long
to finalize stuff, and there's hardware out there that actually supports
this command (Just the Broadcom 200G NIC afaik).

The work in progress spec document is here:

https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.2WIP90_0.pdf

The command code is 0x58, the command has no data, and the response
returns a variable-length array of MAC addresses for the BMC.

I've tested this out using QEMU emulation (I added the Mellanox OEM Get
MAC Address command to libslirp a while ago [1], although the QEMU code
to use it is still not in upstream QEMU [2] [3]. I worked on some more
emulation code for this as well), and on the new Broadcom 200G NIC.

The Nvidia ConnectX-7 NIC doesn't support NC-SI 1.2 yet afaik. Neither
do older versions in newer firmware, they all just report NC-SI 1.1.

Let me know what I can do to change this patch to be more suitable for
upstreaming, I'm happy to work on it more!

Thanks,
Peter

[1] https://gitlab.freedesktop.org/slirp/libslirp/-/blob/0dd7f05095c0a77d9d2ec4764e8617192b4fa6ec/src/ncsi.c#L59
[2] https://github.com/facebook/openbmc/blob/a33dbcc25759f00baf113fd497c8d9db60eeed9e/common/recipes-devtools/qemu/qemu/0003-slirp-Add-mfr-id-to-netdev-options.patch
[3] https://github.com/facebook/openbmc/blob/a33dbcc25759f00baf113fd497c8d9db60eeed9e/common/recipes-devtools/qemu/qemu/0004-slirp-Add-oob-eth-addr-to-netdev-options.patch

Peter Delevoryas (3):
  net/ncsi: Simplify Kconfig/dts control flow
  net/ncsi: Fix netlink major/minor verison numbers
  net/ncsi: Add NC-SI 1.2 Get MC MAC Address command

 net/ncsi/internal.h     |  7 ++--
 net/ncsi/ncsi-cmd.c     |  3 +-
 net/ncsi/ncsi-manage.c  | 29 ++++++-----------
 net/ncsi/ncsi-netlink.c |  4 +--
 net/ncsi/ncsi-pkt.h     | 17 ++++++++--
 net/ncsi/ncsi-rsp.c     | 71 +++++++++++++++++++++++++++++++++++++++--
 6 files changed, 102 insertions(+), 29 deletions(-)

-- 
2.30.2
Re: [PATCH 0/3] net/ncsi: Add NC-SI 1.2 Get MC MAC Address command
Posted by Paolo Abeni 2 years, 8 months ago
On Tue, 2022-12-20 at 21:22 -0800, Peter Delevoryas wrote:
> NC-SI 1.2 isn't officially released yet, but the DMTF takes way too long
> to finalize stuff, and there's hardware out there that actually supports
> this command (Just the Broadcom 200G NIC afaik).
> 
> The work in progress spec document is here:
> 
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.2WIP90_0.pdf
> 
> The command code is 0x58, the command has no data, and the response
> returns a variable-length array of MAC addresses for the BMC.
> 
> I've tested this out using QEMU emulation (I added the Mellanox OEM Get
> MAC Address command to libslirp a while ago [1], although the QEMU code
> to use it is still not in upstream QEMU [2] [3]. I worked on some more
> emulation code for this as well), and on the new Broadcom 200G NIC.
> 
> The Nvidia ConnectX-7 NIC doesn't support NC-SI 1.2 yet afaik. Neither
> do older versions in newer firmware, they all just report NC-SI 1.1.
> 
> Let me know what I can do to change this patch to be more suitable for
> upstreaming, I'm happy to work on it more!

This series is targeting the net-next tree, you should include such tag
into the patch subjected.

We have already submitted the networking pull request to Linus
for v6.2 and therefore net-next is closed for new drivers, features,
code refactoring and optimizations. We are currently accepting
bug fixes only.

Please repost when net-next reopens after Jan 2nd.

RFC patches sent for review only are obviously welcome at any time.

Thanks,

Paolo
Re: [PATCH 0/3] net/ncsi: Add NC-SI 1.2 Get MC MAC Address command
Posted by Peter Delevoryas 2 years, 8 months ago

> On Dec 22, 2022, at 2:44 AM, Paolo Abeni <pabeni@redhat.com> wrote:
> 
> On Tue, 2022-12-20 at 21:22 -0800, Peter Delevoryas wrote:
>> NC-SI 1.2 isn't officially released yet, but the DMTF takes way too long
>> to finalize stuff, and there's hardware out there that actually supports
>> this command (Just the Broadcom 200G NIC afaik).
>> 
>> The work in progress spec document is here:
>> 
>> https://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.2WIP90_0.pdf
>> 
>> The command code is 0x58, the command has no data, and the response
>> returns a variable-length array of MAC addresses for the BMC.
>> 
>> I've tested this out using QEMU emulation (I added the Mellanox OEM Get
>> MAC Address command to libslirp a while ago [1], although the QEMU code
>> to use it is still not in upstream QEMU [2] [3]. I worked on some more
>> emulation code for this as well), and on the new Broadcom 200G NIC.
>> 
>> The Nvidia ConnectX-7 NIC doesn't support NC-SI 1.2 yet afaik. Neither
>> do older versions in newer firmware, they all just report NC-SI 1.1.
>> 
>> Let me know what I can do to change this patch to be more suitable for
>> upstreaming, I'm happy to work on it more!
> 
> This series is targeting the net-next tree, you should include such tag
> into the patch subjected.
> 
> We have already submitted the networking pull request to Linus
> for v6.2 and therefore net-next is closed for new drivers, features,
> code refactoring and optimizations. We are currently accepting
> bug fixes only.
> Please repost when net-next reopens after Jan 2nd.

I see, thanks, I’ll resubmit later.

> 
> RFC patches sent for review only are obviously welcome at any time.

Oh good point, I should have submitted it as an RFC.

> 
> Thanks,
> 
> Paolo
>