Revision Date Author Comments
# b9f7c1de 16-May-2023 Ninad Palsule <ninadpalsule@us.ibm.com>

Added Connect() method in console DBUS interface

The "xyz.openbmc_project.Console.Access" interface is updated to add new
method called Connect(). This method returns the unix socket file
descriptor

Added Connect() method in console DBUS interface

The "xyz.openbmc_project.Console.Access" interface is updated to add new
method called Connect(). This method returns the unix socket file
descriptor. The consumer can use this file descriptor to receive the
console data. The leaf node in the object path is a console id.

Also, the "SocketName" property is deprecated and removed to avoid
exposing implementation details about the console.

The tree for the "default" console id.
$ busctl tree xyz.openbmc_project.Console.default
`-/xyz
`-/xyz/openbmc_project
`-/xyz/openbmc_project/console
`-/xyz/openbmc_project/console/default

The introspect for the "default" console id.
$ busctl introspect xyz.openbmc_project.Console.default \
/xyz/openbmc_project/console/default
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Console.Access interface - - -
.Connect method - h -

Change-Id: I52472320de0990dcf0e802add87141a97288085c
Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>

show more ...


# 927d0930 06-Mar-2023 Ninad Palsule <ninadpalsule@us.ibm.com>

Add a new dbus interface to get list of consoles

The "xyz.openbmc_project.Console.Access" interface will provide a
single property containing the name of the abstract socket for the
object hosting t

Add a new dbus interface to get list of consoles

The "xyz.openbmc_project.Console.Access" interface will provide a
single property containing the name of the abstract socket for the
object hosting the interface. The caller can use mapper function to
find the list of registered consoles. The bmcweb can exploit this
interface by putting console for each console object.

The SocketName attribute provides unix abstract socket name and it's
first character is always null, the attribute type is an array of bytes
types instead of string type. The byte array does not include a null
terminator.

For example, object path and property exposed for host console is as
follows:
Object:
/xyz/openbmc_project/console/host
Property:
SocketName -> "\0obmc-console.host"

The tree for console0:
$ busctl tree xyz.openbmc_project.Console.console0
`-/xyz
`-/xyz/openbmc_project
`-/xyz/openbmc_project/console
`-/xyz/openbmc_project/console/console0

The introspect for console0:
busctl introspect xyz.openbmc_project.Console.console0 /xyz/openbmc_project/console/console0
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable interface - - -
.Introspect method - s -
org.freedesktop.DBus.Peer interface - - -
.GetMachineId method - s -
.Ping method - - -
org.freedesktop.DBus.Properties interface - - -
.Get method ss v -
.GetAll method s a{sv} -
.Set method ssv - -
.PropertiesChanged signal sa{sv}as - -
xyz.openbmc_project.Console.Access interface - - -
.SocketName property ay 22 0 111 98 109 99 45 99 111 110 115 ... -

Related commits:
1) phosphor-dbus-interface: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/61486
2) obmc-console: https://gerrit.openbmc.org/c/openbmc/obmc-console/+/62496
3) bmcweb: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/62525

Change-Id: Ic50d311b327d9a4d917e4656af3ebeebfe95b5c9
Signed-off-by: Ninad Palsule <ninadpalsule@us.ibm.com>

show more ...