Banjo in drivers

Devices may implement protocols, which are Banjo ABIs used by child devices to interact with parent devices in a device-specific manner. The USB Protocol, Block Core Protocol, and Ethernet Protocol, are examples of these. Protocols are usually in-process interactions between devices in the same driver host, but in cases of driver isolation, they may take place through RPC to another driver host (through proxy).