Add Get Channel Cipher Suites Command
Get Channel Cipher Suites Command is already implemented in
phosphor-ipmi-host, but it needs to be implemented in phosphor-ipmi-net
to be able to provide it as a pre-session command for discovering the
available cipher suites before initiating the session.
Without this, ipmitool will have a ten second timeout while attempting
to get the list of available cipher suites. At the same time, netipmid
will show the following messages in the journal:
netipmid[8261]: Table: refuse to forward session-zero command
Tested: ran ipmitool and saw that it did not require a timeout
ipmitool -U <user> -P <pw> -I lanplus -H <host> mc info
Change-Id: Iec1b6fc3262647b82acce0cba607b99e86b74985
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/command/channel_auth.hpp b/command/channel_auth.hpp
index b78fdb2..c518ba7 100644
--- a/command/channel_auth.hpp
+++ b/command/channel_auth.hpp
@@ -122,4 +122,22 @@
GetChannelCapabilities(const std::vector<uint8_t>& inPayload,
std::shared_ptr<message::Handler>& handler);
+/**
+ * @brief Get Channel Cipher Suites
+ *
+ * This command is used to look up what authentication, integrity, and
+ * confidentiality algorithms are supported. The algorithms are used in
+ * combination as ‘Cipher Suites’. This command only applies to implementations
+ * that support IPMI v2.0/RMCP+ sessions. This command can be executed prior to
+ * establishing a session with the BMC.
+ *
+ * @param[in] inPayload - Request Data for the command
+ * @param[in] handler - Reference to the Message Handler
+ *
+ * @return Response data for the command
+ */
+std::vector<uint8_t>
+ getChannelCipherSuites(const std::vector<uint8_t>& inPayload,
+ std::shared_ptr<message::Handler>& handler);
+
} // namespace command