xref: /netbsd-src/share/man/man4/man4.hp300/rmp.4 (revision f1e042b8d2af97db97f5dd4497e7e3b416d950d3)
1.\" Copyright (c) 1990, 1991 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" the Systems Programming Group of the University of Utah Computer
6.\" Science Department.
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. Neither the name of the University nor the names of its contributors
16.\"    may be used to endorse or promote products derived from this software
17.\"    without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\"     from: @(#)rmp.4	5.2 (Berkeley) 3/27/91
32.\"	$NetBSD: rmp.4,v 1.13 2022/06/28 20:12:52 rillig Exp $
33.\"
34.Dd June 28, 2022
35.Dt RMP 4 hp300
36.Os
37.Sh NAME
38.Nm rmp
39.Nd
40.Tn HP
41Remote Maintenance Protocol Family
42.Sh SYNOPSIS
43.Cd "options RMP"
44.In sys/types.h
45.In sys/socket.h
46.In netrmp/rmp.h
47.In netrmp/rmp_var.h
48.Ft int
49.Fn socket AF_RMP SOCK_RAW proto
50.Sh DESCRIPTION
51Hewlett-Packard's Remote Maintenance Protocol family is a collection
52of protocols layered atop
53.Tn IEEE  802.3 .
54The current implementation of the RMP family provides protocol support only
55for the
56.Dv SOCK_RAW
57socket type.
58As a result,
59.Xr sendto 2
60and
61.Xr recvfrom 2
62must be used to send and
63receive
64.Tn RMP
65packets.
66.Pp
67The format of an
68.Tn RMP
69packet is defined in the include file
70.In netrmp/rmp_var.h .
71The
72.Tn RMP
73packet arrives encapsulated in an
74.Pf ( Tn HP
75extended)
76.Tn IEEE  802.2
77packet.
78The
79.Tn IEEE  802.2
80packet
81is preceded by the kernel address of an
82.Ar ifnet struct
83which is used to `route' a packet out the same interface it
84arrived on.
85Outgoing packets are encapsulated in a standard
86.Tn IEEE  802.3
87packet, while incoming packets have this information stripped away.
88.Sh ADDRESSING
89.Tn RMP
90.Pf ( Tn IEEE
91802.3) addresses are 6 octets in length (48 bytes).
92Sockets in the Remote Maintenance Protocol family use the following
93addressing structure:
94.Bd -literal -offset indent
95struct sockaddr_rmp {
96	short		srmp_family;
97	u_char		srmp_dhost[6];
98};
99.Ed
100.Sh PROTOCOLS
101The
102.Tn RMP
103protocol family supported by the operating system
104currently consists of the Boot Protocol
105.Pq Em proto= Ns Dv RMPPROTO_BOOT .
106Unfortunately, we have no documentation on the Remote Maintenance
107Protocol and only sketchy information about the Boot Protocol.
108.Sh SEE ALSO
109.Xr bind 2 ,
110.Xr recvfrom 2 ,
111.Xr sendto 2 ,
112.Xr socket 2 ,
113.Xr hp300/intro 4 ,
114.Xr rbootd 8
115.Rs
116.%T "An Introductory 4.4BSD Interprocess Communication Tutorial"
117.%A Stuart Sechrest
118.Re
119.Pq see Pa /usr/share/doc/reference/ref3/sockets
120.Rs
121.%T "Advanced 4.4BSD IPC Tutorial"
122.%A Samuel J. Leffler
123.%A Robert S. Fabry
124.%A William N. Joy
125.%A Phil Lapsley
126.%A Steve Miller
127.%A Chris Torek
128.Re
129.Pq see Pa /usr/share/doc/reference/ref3/sockets-advanced
130.Sh HISTORY
131The
132.Nm
133protocol interface
134.Ud
135.Sh BUGS
136.Bl -bullet
137.It
138The
139.Tn HP ROM
140uses
141.Tn IEEE
142802.3 (as opposed to Ethernet) packets.  While the
143kernel heuristically recognizes these packets, a more general mechanism
144for doing so should be provided.
145.It
146The
147.Tn HP ROM
148uses a multicast address when first trying to locate boot
149servers.  While the Ethernet [sic] board is programmed to recognize
150this particular multicast address (9:0:9:0:0:4), a more general
151mechanism for doing so should be provided.
152.It
153The kernel supports only
154.Tn RAW
155sockets for the
156.Tn RMP
157protocol.
158This is either a bug or a feature, since the kernel is smaller at the
159price of greater complexity in the server.
160.It
161There is no support for
162.Xr bind 2 Ns 'ing
163an address in the
164.Tn RMP
165domain.
166Something like an
167.Dv RMPADDR_ANY
168should be provided to prevent more than one
169.Xr rbootd 8
170server from running at the same time.
171.El
172