#
bad17c0b |
| 21-Nov-2024 |
Jeremy Kerr <jk@codeconstruct.com.au> |
ncsi-cmd: Add a new executable for issuing NCSI commands
At the moment, the ncsi-netlink utility does two things:
- allows management of the kernel NCSI state, such as the channel and package m
ncsi-cmd: Add a new executable for issuing NCSI commands
At the moment, the ncsi-netlink utility does two things:
- allows management of the kernel NCSI state, such as the channel and package masks
- allows issuing NCSI messages to the NCSI-capable NIC, through the NCSI_CMD_SEND_CMD interface
While these two things do share the same kernel API, they have somewhat different objectives: one is controlling local state, the other is controlling remote (ie, the NIC) state.
In future, we want to allow non-netlink-based NCSI transports for issuing commands to the NIC, which makes the ncsi-netlink name somewhat inaccurate for those.
So, introduce a new tool, 'ncsi-cmd', for issuing NCSI commands over the netlink interface.
This has similar command-line semantics to the existing 'ncsi-netlink [...] -o <PAYLOAD>' usage, but has a few changes for a more ergonomic UI:
Firstly, the type (or "opcode") byte is no longer packed into the payload data, because it's not really payload.
Secondly, we use --interface/-i rather than --index/-x, with a note that interfaces are specified by index. This allows for future changes that allow specifying interfaces by name.
Finally, to make it clear that we can issue more than just OEM commands, we have separate subcommands: "oem" and "raw". These are similar, just that "oem" implies the standard OEM type value of 0x50. So, the following are equivalent:
ncsi-cmd -i2 -p0 oem 010203
ncsi-cmd -i2 -p0 raw 0x50 010203
But now we have a cleaner interface for not-OEM commands:
ncsi-cmd -i12 -p0 raw 0x15
For issuing command type 0x15, "Get Version ID".
We remove the send logic from ncsi-netlink, but leave a compatibility shim that will exec() ncsi-cmd with the appropriate arguments instead.
Change-Id: Ied240db0d545d5770df0927da354c65b82ee9508 Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
show more ...
|
#
5a456061 |
| 15-Feb-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Add Set Package and Channel Mask to ncsi-netlink utility
The NCSI driver has added two commands for setting the Package Mask and the Channel Mask within a package. The ncsi-netlink utility does not
Add Set Package and Channel Mask to ncsi-netlink utility
The NCSI driver has added two commands for setting the Package Mask and the Channel Mask within a package. The ncsi-netlink utility does not support these new commands.
Add the ability to set the package and the channel mask values.
Tested: Instrumented the NCSI kernel driver to print mask values. Issued 'ncsi-netlink -x 3 -j 0x3' and saw the NCSI driver print the new package mask. Issued 'ncsi-netlink -x 3 -p 0 -k 0x3' and saw the NCSI driver print the new channel mask.
Change-Id: Icd2188e789de43f631fe26d9e751d564ba5f822f Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
#
1ebea28c |
| 15-Feb-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Make Send Command feature more flexible
The sendOemCommand command, used to send NCSI_CMD_SEND_CMD payloads, is hardcoded to only send one command.
Update the sendOemCommand function to allow the s
Make Send Command feature more flexible
The sendOemCommand command, used to send NCSI_CMD_SEND_CMD payloads, is hardcoded to only send one command.
Update the sendOemCommand function to allow the sub-operation to be passed as a command line argument. This is done by prepending the sub-operation byte to the front of the Send Cmd payload.
Doing this allows sub-operations without any payload bytes to be called. For example "-o 0a", where the sub-operation for Send Cmd is the 0x0a value.
Tested: Sent 'ncsi-netlink -x 3 -p 0 -c 0 -o 50000001572100' and confirmed the 0x50 byte worked the same way as the original hard-coded value. Sent 'ncsi-netlink -x 3 -p 0 -c 0 -o 0a' and confirmed the 0x0a sub-operation functioned on the submitters SUT.
Change-Id: I20f093fd8296f549fce03dc5729b8e5fedcab313 Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
#
fa1f5c03 |
| 17-Sep-2020 |
Eddie James <eajames@linux.ibm.com> |
Add support for sending NCSI command
Provide a means to send an OEM command to an NIC via NCSI netlink. This may be invoked from a systemd Unit file to configure NIC behavior.
Some NICs provide OEM
Add support for sending NCSI command
Provide a means to send an OEM command to an NIC via NCSI netlink. This may be invoked from a systemd Unit file to configure NIC behavior.
Some NICs provide OEM commands to influence their behavior, for example maintaining full speed even when the host is down instead of negotiating a lower speed for power.
Signed-off-by: Eddie James <eajames@linux.ibm.com> Change-Id: Id920b618422e8fbfc51984fbf932045bfb5e56e6
show more ...
|