Create IPMI session interface for host and LAN
IPMI RMCP+ sessions are created & maintained by net-ipmid daemon,
whereas we need to provide details about the same using
phosphor-ipmi-host.Hence IPMI RMCP+ session details has to be
exposed through D-Bus interface,so that both phosphor-ipmi-host
& phosphr-ipmi-net will be in sync.
Tested:Checked in host and LAN interface.
we are able to manage the session in host and also in LAN.
Change-Id: Ibf0878e867de8cd116a22bdfff27d45dbf6104c1
Signed-off-by: Suryakanth Sekar <suryakanth.sekar@linux.intel.com>
diff --git a/xyz/openbmc_project/Ipmi/SESSION_README.md b/xyz/openbmc_project/Ipmi/SESSION_README.md
new file mode 100644
index 0000000..c59b251
--- /dev/null
+++ b/xyz/openbmc_project/Ipmi/SESSION_README.md
@@ -0,0 +1,25 @@
+# Session Management
+
+## Overview
+IPMI RMCP+ sessions are created and maintained by phosphor-ipmi-net daemon,
+whereas we need to provide details about the same using phosphor-ipmi-host.
+Hence IPMI RMCP+ session details has to be exposed through D-Bus interface,
+so that both phosphor-ipmi-host & phosphr-ipmi-net will be in sync.
+
+
+#### xyz.openbmc_project.Ipmi.SessionInfo interface
+##### properties
+* SessionHandle - SessionHandle,unique one-byte number to locate the session.
+* Channel - Session created channel.
+* SessionPrivilege - Privilege of the session.
+* RemoteIPAddr – Remote IP address.
+* RemotePort - Remote port address.
+* RemoteMACAddress -Remote MAC Address.
+* UserID - Session created by given user id.
+
+
+
+#### xyz.openbmc_project.Object.Delete
+#### methods
+* Delete - To delete the session object in the system.
+
diff --git a/xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml b/xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml
new file mode 100644
index 0000000..46cf919
--- /dev/null
+++ b/xyz/openbmc_project/Ipmi/SessionInfo.interface.yaml
@@ -0,0 +1,57 @@
+description: >
+ Provides properties for IPMI RMCP+ session objects.
+ Provides RMCP+ session information as session objects
+ with sessionID_sessionHandle(unique identifier)as path suffix.
+
+properties:
+ - name: SessionHandle
+ type: byte
+ description: >
+ Session Handle,unique number to locate the session.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: ChannelNum
+ type: byte
+ description: >
+ channelnumber which session is created.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: CurrentPrivilege
+ type: byte
+ description: >
+ Privilege of the session.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: RemoteIPAddr
+ type: uint32
+ description: >
+ Remote IP address.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: RemotePort
+ type: uint16
+ description: >
+ Remote IP Port.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: RemoteMACAddress
+ type: array[byte]
+ description: >
+ Remote MAC address.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: UserID
+ type: byte
+ description: >
+ Session created by given user ID.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+ - name: State
+ type: byte
+ default: 0
+ description: >
+ Session state.
+ errors:
+ - xyz.openbmc_project.Common.Error.InternalFailure
+
+# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4