Close active SOL session after disable SSH SOL
Issue: When SOL-SSH is being disable by Control BMC service command,
the active SOL session are not being closed.
Fix: Stop the Payload Instance and Host console for active SOL
session when SSH SOL is being disable.
Tested:
Verified using ipmitool sol commands.
1. Enable SSH SOL using control BMC service command
Command: ipmitool raw 0x30 0xb1 0x01 0x40 0x00 //SOL activate
Response: // Success
Check the status using below busctl command
command: busctl introspect xyz.openbmc_project.Control.Service.Manager
/xyz/openbmc_project/control/service/obmc_2dconsole_40ttyS2
Response: .Enabled true
2. Activate SOL session
Command: ipmitool -I lanplus -U root -P 0penBmc -H <BMC_IP> -C 17
sol activate
Response: // Success
3. Disable SSH SOL using control BMC service command
Command: ipmitool raw 0x30 0xb1 0x00 0x40 0x00
Response: // Success
Check the status using below busctl command
command: busctl introspect xyz.openbmc_project.Control.Service.Manager
/xyz/openbmc_project/control/service/obmc_2dconsole_40ttyS2
Response: .Enabled false
4. Enable SSH SOL using control BMC service command.
Command: ipmitool raw 0x30 0xb1 0x01 0x40 0x00
Response: // Success
Check the status using below busctl command
command: busctl introspect xyz.openbmc_project.Control.Service.Manager
/xyz/openbmc_project/control/service/obmc_2dconsole_40ttyS2
Response: .Enabled true
5. Activate SOL session
Command: ipmitool -I lanplus -U root -P 0penBmc -H <BMC_IP> -C 17
sol activate
Response: // Successfully establish the session
Signed-off-by: srikanta mondal <srikantax.mondal@intel.com>
Change-Id: I08a459e5a4245d969529c033e4b88625b0796fb2
diff --git a/sol/sol_manager.hpp b/sol/sol_manager.hpp
index 74ce8e9..5b48add 100644
--- a/sol/sol_manager.hpp
+++ b/sol/sol_manager.hpp
@@ -192,6 +192,9 @@
*/
void stopPayloadInstance(uint8_t payloadInstance);
+ /* @brief Stop all the active SOL payload instances */
+ void stopAllPayloadInstance();
+
/** @brief Get SOL Context by Payload Instance.
*
* @param[in] payloadInstance - SOL payload instance.
@@ -264,4 +267,7 @@
void consoleInputHandler();
};
+/** @brief Callback method to close SOL sessions for SOL service change */
+void registerSOLServiceChangeCallback();
+
} // namespace sol