digraph {
node [shape="box"];
subgraph {
node [shape=plaintext];
ncsid [label=<
net::ConfigBase |
net::SockIO |
ncsi::StateMachine |
L2 FSM |
L3/4 FSM |
Test FSM |
>];
}
subgraph notes {
node [shape="note" style="filled"];
core [label="NC-SId Core" fillcolor="lightblue"];
hardware [label="Hardware" fillcolor="limegreen"];
external [label="External Components" color="magenta" fillcolor="white"];
ec [label="EC" fillcolor="black" fontcolor="white"];
} -> NIC [style="invis"];
subgraph external {
node [color="magenta"];
p_networkd [label="phosphord-networkd"];
systemd;
d_bus [shape="doublecircle" label="DBus"];
}
subgraph core_comps {
node [fillcolor="lightblue" style="filled"];
p_config [label="net::PhosphorConfig"];
ncsi_sockio [label="ncsi::SockIO"];
net_ifacebase [label="net::IFaceBase"];
net_iface [label="net::IFace"];
net_iface -> net_ifacebase [arrowhead="diamond"];
ncsi_sockio -> net_iface [label="bind"];
ncsid;
}
NIC [shape="tab" fillcolor="limegreen" style="filled"];
ncsi_sockio -> ncsid:sockio [arrowhead="diamond"];
NIC -> ncsi_sockio [dir="both" label="NC-SI Cable" color="limegreen"];
p_config -> ncsid:config [arrowhead="diamond"];
p_config -> p_networkd [style="dashed"];
p_config -> d_bus;
p_networkd -> d_bus [dir="both"];
d_bus -> systemd;
p_networkd -> systemd [style="dashed"];
}