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