|
|
1.1 root 1: .\" Copyright (c) 1990 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: .\"
8: .\" Redistribution and use in source and binary forms are permitted provided
9: .\" that: (1) source distributions retain this entire copyright notice and
10: .\" comment, and (2) distributions including binaries display the following
11: .\" acknowledgement: ``This product includes software developed by the
12: .\" University of California, Berkeley and its contributors'' in the
13: .\" documentation or other materials provided with the distribution and in
14: .\" all advertising materials mentioning features or use of this software.
15: .\" Neither the name of the University nor the names of its contributors may
16: .\" be used to endorse or promote products derived from this software without
17: .\" specific prior written permission.
18: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
19: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
20: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21: .\"
22: .\" @(#)rmp.4 5.1 (Berkeley) 6/29/90
23: .\"
24: .TH RMP 4F "June 29, 1990"
25: .UC 7
26: .SH NAME
27: rmp \- HP Remote Maintenance Protocol family
28: .SH SYNOPSIS
29: .B options RMP
30: .PP
31: .B #include <sys/types.h>
32: .br
33: .B #include <sys/socket.h>
34: .br
35: .B #include <netrmp/rmp.h>
36: .br
37: .B #include <netrmp/rmp_var.h>
38: .PP
39: .B s = socket(AF_RMP, SOCK_RAW, proto);
40: .SH DESCRIPTION
41: Hewlett-Packard's Remote Maintenance Protocol family is a collection
42: of protocols layered atop
43: .I IEEE 802.3.
44: The current implementation of the RMP family provides protocol support only
45: for the SOCK_RAW socket type.
46: As a result, sendto(2) and recvfrom(2) must be used to send and
47: receive RMP packets.
48: .PP
49: The format of an RMP packet is defined in the include file
50: .RI < netrmp/rmp_var.h >.
51: The RMP packet arrives encapsulated in an (HP extended)
52: .I IEEE 802.2
53: packet.
54: The
55: .I IEEE 802.2
56: packet
57: is preceded by the kernel address of an
58: .I ifnet struct
59: which is used to `route' a packet out the same interface it
60: arrived on.
61: Outgoing packets are encapsulated in a standard
62: .I IEEE 802.3
63: packet, while incoming packets have this information stripped away.
64: .SH ADDRESSING
65: RMP (IEEE 802.3) addresses are 6 octets in length (48 bytes).
66: Sockets in the Remote Maintenance Protocol family use the following
67: addressing structure:
68: .nf
69:
70: struct sockaddr_rmp {
71: short srmp_family;
72: u_char srmp_dhost[6];
73: };
74:
75: .fi
76: .SH PROTOCOLS
77: The RMP protocol family supported by the operating system
78: is currently comprised of the Boot Protocol
79: .I (proto=RMPPROTO_BOOT).
80: Unfortunately, we have no documentation on the Remote Maintenance
81: Protocol and only sketchy information about the Boot Protocol.
82: .SH SEE ALSO
83: socket(2), bind(2), sendto(2), recvfrom(2), intro(4N), rbootd(8)
84: .br
85: An Advanced 4.3BSD Interprocess Communication Tutorial
86: .SH BUGS
87: .TP 2
88: \-
89: The HP ROM uses IEEE 802.3 (as opposed to Ethernet) packets. While the
90: kernel heuristically recognizes these packets, a more general mechanism
91: for doing so should be provided.
92: .TP 2
93: \-
94: The HP ROM uses a multicast address when first trying to locate boot
95: servers. While the Ethernet [sic] board is programmed to recognize
96: this particular multicast address (9:0:9:0:0:4), a more general
97: mechanism for doing so should be provided.
98: .TP 2
99: \-
100: The kernel supports only RAW sockets for the RMP protocol.
101: This is either a bug or a feature, since the kernel is smaller at the
102: price of greater complexity in the server.
103: .TP 2
104: \-
105: There is no support for bind(2)'ing an address in the RMP domain.
106: Something like an RMPADDR_ANY should be provided to prevent more than one
107: .I rbootd
108: server from running at the same time.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.