The Management Gateway Service (MGS) is the control plane service that communicates with Service Processors (SPs) running hubris.
MGS itself lives in the omicron repo, and there is a corresponding agent task in hubris with which it communicates.
-
gateway-messages
- no_std code that defines the messages exchanged between MGS and SPs and provides serialization/deserialization support. This is used by the hubris task on the real SPs, by MGS proper for messaging, and by the simulated SPs we use for testing. Sharing this crate between hubris and omicron is the primary motivation for the existence of this repository. -
gateway-sp-comms
- std code used by MGS andfaux-mgs
for communicating with a set of SPs. -
faux-mgs
- command line application intended for debug and development work; it can pretend to be MGS to communicate with a single target SP (either directly via IP address or discovered via UDP multicast similarily to how MGS's general discovery process works).