obmc-console design for multi host support

Joseph Reynolds jrey at linux.ibm.com
Wed Mar 4 04:23:43 AEDT 2020



On 3/2/20 10:03 PM, Andrew Jeffery wrote:
> 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?

Nice diagram!  Can this be added to
https://github.com/openbmc/obmc-console/blob/master/README.md

I tried to capture this network interface in an architecture review here:
https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/27969/3/architecture/interface-overview.md#130
which also includes 'ipmi sol activate' and hostlogger.

Please let me know the best way to document this in the project?  I 
would be happy to remove details from the doc-under-review and point to 
the obmc-console README.  Does that sound right?

- Joseph

>
> Andrew



More information about the openbmc mailing list