Realtek Remote Control Protocol
# Realtek Remote Control Protocol

The Realtek Remote Control Protocol (RRCP), developed by Realtek, is an application layer protocol, running directly over Ethernet frames. The main idea behind this protocol is to allow direct access to the internal register of an Ethernet switch controller (ASIC) over an Ethernet network itself. This approach allows to avoid cost of including a processor, RAM, flash memory, etc. in a managed Ethernet switch. Instead, all "intelligence" is targeted to reside in a nearby computer, running special RRCP-aware Ethernet switch management software.

All RRCP packets are transmitted as Ethernet frames with EtherType 0x8899. Details on the RRCP protocol are listed in the datasheets of some Realtek ASICs with RRCP support, including RTL8324BP and RTL8326. RRCP packet types are the following:

* Hello – used to initiate a scan for RRCP-capable switches in a network segment, and to fetch some of their parameters.
* Hello reply – sent by an RRCP-capable switch as a response to a valid "Hello" packet. Contains some their parameters, such as IDs, and MAC addresses.
* Get – used to fetch the value from an internal register of the switch controller.
* Get reply – sent by an RRCP-capable switch as a response to a valid Get packet. Contains requested register number and value, that was read from it.
* Set – used to set an internal switch controller's register to a certain value. Contains register number and a value to be written to register. No acknowledgment is generated by a switch.
* Loop Detect packet – not a part of RRCP protocol itself, but is closely associated, being an underlying mechanism for a simplified Spanning tree protocol substitute in RRCP-capable switch controllers.
* Echo request – not a part of RRCP protocol itself, but is closely associated, being an underlying mechanism for a Layer-2 analog of ICMP Echo request (Type 8) message in RRCP-capable switch controllers.
* Echo reply – not a part of RRCP protocol itself, but is closely associated, being an underlying mechanism for a Layer-2 analog of ICMP Echo reply (Type 0) message in RRCP-capable switch controllers.

Currently, RRCP protocol is officially working on Realtek's RTL8316BP, RTL8318P and RTL8324P switch controller chips. Unofficially, it also found to be working on RTL8316B, RTL8324, RTL8326 and RTL8326S.

There are two software suites that are able to communicate with RRCP-capable switches. First is Realtek's own WinSmart utility and Vendor-derived variants from it. Second is the OpenRRCP open-source project. Additionally, tcpdump has an interpreter for RRCP packets.

