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