|
|
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.