summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Joseph <tomjoseph@in.ibm.com>2017-08-21 11:47:25 +0530
committerTom Joseph <tomjoseph@in.ibm.com>2017-08-21 11:57:11 +0530
commit694fc0cf579eac378df87400a7ba90d6f416de97 (patch)
tree559bf47e3c35c4f4738b1a5671570009f909b433
parentf6c97e11c33babc49c44fde38f997640a182610b (diff)
downloadphosphor-net-ipmid-694fc0cf579eac378df87400a7ba90d6f416de97.tar.gz
phosphor-net-ipmid-694fc0cf579eac378df87400a7ba90d6f416de97.zip
netipmid: Support usesolkeepalive option
ipmitool keeps SOL session active by sending Get Device ID command or using SOL packet to keep the session active. We are adding support for keeping the SOL session active by using SOL packet in which case ipmitool would send a SOL payload with no character data and a valid SOL sequence number, the BMC would respond with acknowledgement for that sequence number. Resolves openbmc/openbmc#2101 Change-Id: Ia10e622e761e0de3530e3cc8bc2148a477ffd4ba Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
-rw-r--r--sol/sol_context.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/sol/sol_context.cpp b/sol/sol_context.cpp
index c00d01c..08be77b 100644
--- a/sol/sol_context.cpp
+++ b/sol/sol_context.cpp
@@ -95,6 +95,14 @@ void Context::processInboundPayload(uint8_t seqNum,
acceptedCount = input.size();
}
}
+ /*
+ * SOL payload with no character data and valid sequence number can be used
+ * as method to keep the SOL session active.
+ */
+ else if (input.empty() && seqNum)
+ {
+ respAckSeqNum = seqNum;
+ }
if (seqNum != 0)
{
OpenPOWER on IntegriCloud