obmc-console design for multi host support

Andrew Jeffery andrew at aj.id.au
Tue Mar 3 15:03:22 AEDT 2020


On Fri, 28 Feb 2020, at 18:00, Vijay Khemka wrote:
> On 2/27/20, 2:05 AM, "openbmc on behalf of Andrew Jeffery" 
>     
>     ```
>     $ ls -1 /etc/obmc-console
>     client.2200.conf
>     server.ttyVUART0.conf
>     ```
> What are other contents of client and server conf file other than socket-id?

Whatever else you were previously specifying for the server.

>     
>     So to map the client associated with port 2200 to the server associated
>     with ttyVUART0 we set the same socket-id value in both files:
> 
> Can this socket-id be any random word and can this be same across multiple
> Host (client/server) configuration. I mean, do we need different socket-id for
> client.2200 and client.2201 or it can be same.

The socket-id is a unique portion for the unix domain socket created by the
obmc-console-server instance. The server needs to know this because it needs
to know what to name the pipe; the client needs to know it as it needs to form
the abstract socket name to which to connect.

In general unless you're looking to expose the same console on _different_
network ports, you want to pair each client with a unique server.

Here's an ASCII diagram:

               +--------------------------------------------------------------------------------------------+
               |                                                                                            |
               |       obmc-console-client      unix domain socket         obmc-console-server              |
               |                                                                                            |
               |     +---------------------+                           +------------------------+           |
               |     | client.2201.conf    |  +---------------------+  | server.ttyVUART1.conf  |           |
           +---+--+  +---------------------+  |                     |  +------------------------+  +--------+-------+
Network    | 2201 +-->                     +->+ @obmc-console.host1 +<-+                        <--+ /dev/ttyVUART1 |   UARTs
           +---+--+  | socket-id = "host1" |  |                     |  | socket-id = "host1"    |  +--------+-------+
               |     |                     |  +---------------------+  |                        |           |
               |     +---------------------+                           +------------------------+           |
               |                                                                                            |
               |                                                                                            |
               |                                                                                            |
               +--------------------------------------------------------------------------------------------+

Does that help?

Andrew


More information about the openbmc mailing list