RMP(4) Device Drivers Manual (hp300) RMP(4)

rmp
HP Remote Maintenance Protocol Family

options RMP
#include <sys/types.h>
#include <sys/socket.h>
#include <netrmp/rmp.h>
#include <netrmp/rmp_var.h>

int
socket(AF_RMP, SOCK_RAW, proto);

Hewlett-Packard's Remote Maintenance Protocol family is a collection of protocols layered atop IEEE 802.3. The current implementation of the RMP family provides protocol support only for the SOCK_RAW socket type. As a result, sendto(2) and recvfrom(2) must be used to send and receive RMP packets.

The format of an RMP packet is defined in the include file <netrmp/rmp_var.h>. The RMP packet arrives encapsulated in an (HP extended) IEEE 802.2 packet. The IEEE 802.2 packet is preceded by the kernel address of an ifnet struct which is used to `route' a packet out the same interface it arrived on. Outgoing packets are encapsulated in a standard IEEE 802.3 packet, while incoming packets have this information stripped away.

RMP (IEEE 802.3) addresses are 6 octets in length (48 bytes). Sockets in the Remote Maintenance Protocol family use the following addressing structure:
struct sockaddr_rmp {
	short		srmp_family;
	u_char		srmp_dhost[6];
};

The RMP protocol family supported by the operating system currently consists of the Boot Protocol (proto=RMPPROTO_BOOT). Unfortunately, we have no documentation on the Remote Maintenance Protocol and only sketchy information about the Boot Protocol.

bind(2), recvfrom(2), sendto(2), socket(2), hp300/intro(4), rbootd(8)

Stuart Sechrest, An Introductory 4.4BSD Interprocess Communication Tutorial. (see /usr/share/doc/psd/20.ipctut)

Samuel J. Leffler, Robert S. Fabry, William N. Joy, Phil Lapsley, Steve Miller, and Chris Torek, Advanced 4.4BSD IPC Tutorial. (see /usr/share/doc/psd/21.ipc)

The rmp protocol interface currently under development.

February 17, 2017 NetBSD 9.4