Update the session/SOL mgmt section in ipmi doc
phosphor-ipmi-net manages session(RMCP+) & SOL commands directly
and responses to those commands. As these commands can also be
requested through host (KCS) interface, phosphor-ipmi-host daemon
must also need details about session & SOL. In order to maintain
sync between phosphor-ipmi-net & phosphor-ipmi-host daemon,
session & SOL are exposed in D-Bus, which phosphor-ipmi-host
can query and respond to commands issued through host interface(KCS).
Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
Change-Id: I629c35b20ee225972be6c2588514281cafa40157
diff --git a/ipmi-architecture.md b/ipmi-architecture.md
index 13960ee..d5cf749 100644
--- a/ipmi-architecture.md
+++ b/ipmi-architecture.md
@@ -16,14 +16,28 @@
```
-___________ ___________________
-| KCS/BT | | |
-| Channel | <------> | |
-----------/ | IPMI Daemon |
------------ | (ipmid) |
-| RMCP+ | | |
-| Channel | <------> | |
-----------/ ------------------/
+ /------------------\
+ /----------------------------\ | |
+ | KCS/BT - Host | <-All IPMI cmds-> | |
+ | | | |
+ \----------------------------/ | IPMI Daemon |
+ | (ipmid) |
+ | |
+ /-----------------------------\ | |
+ | LAN - RMCP+ | | |
+ | /--------------------------\| | |
+ | |*Process the Session and || <-All IPMI cmds-> | |
+ | | SOL commands. || except session | |
+ | |*Create Session Objs || and SOL cmds | |
+ | \--------------------------/| | |
+ \-----------------------------/ \------------------/
+ : ^
+ : |
+ : |
+ /-------------------------\ |
+ | Active session/SOL Objs | <---------Query the session-/
+ | - Properities | and SOL data via Dbus
+ \-------------------------/
```
@@ -88,6 +102,14 @@
completion code would prevent the command from executing and would be returned
to the caller.
+The network channel bridges (netipmid), executing one process per interface,
+handle session (RMCP+) and SOL commands and responses to those commands.
+Get/Set SOL configuration, Get session info, close session commands can also be
+requested through KCS/BT interface, ipmid daemon must also need details about
+session and SOL. In order to maintain sync between ipmid and netipmid
+daemon, session and SOL are exposed in D-Bus, which ipmid can query and respond
+to commands issued through host interface (KCS/BT).
+
The next phase is parameter unpacking and validation. This is done by
compiler-generated code with variadic templates at handler registration time.
The registration function is a templated function that allows any type of