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
diff --git a/src/argument.cpp b/src/argument.cpp
index bcd5a13..0c49b11 100644
--- a/src/argument.cpp
+++ b/src/argument.cpp
@@ -72,6 +72,8 @@
std::cerr << " --set=<set> Set a specific package/channel.\n";
std::cerr
<< " --clear=<clear> Clear all the settings on the interface.\n";
+ std::cerr
+ << " --oem-payload=<hex data> Send an OEM command with payload.\n";
std::cerr << " --package=<package> Specify a package.\n";
std::cerr << " --channel=<channel> Specify a channel.\n";
std::cerr << " --index=<device index> Specify device ifindex.\n";
@@ -82,6 +84,7 @@
{"info", no_argument, NULL, 'i'},
{"set", no_argument, NULL, 's'},
{"clear", no_argument, NULL, 'r'},
+ {"oem-payload", required_argument, NULL, 'o'},
{"package", required_argument, NULL, 'p'},
{"channel", required_argument, NULL, 'c'},
{"index", required_argument, NULL, 'x'},
@@ -89,7 +92,7 @@
{0, 0, 0, 0},
};
-const char* ArgumentParser::optionStr = "i:s:r:p:c:x:h?";
+const char* ArgumentParser::optionStr = "i:s:r:o:p:c:x:h?";
const std::string ArgumentParser::trueString = "true";
const std::string ArgumentParser::emptyString = "";