PUP(4F) — UNKNOWN SECTION OF THE MANUAL
NAME
pup − Xerox PUP-I protocol family
SYNOPSIS
#include <sys/types.h>
#include <netpup/pup.h>
DESCRIPTION
The PUP-I protocol family is a collection of protocols layered atop the PUP Level-0 packet format, and utilizing the PUP Internet address format. The PUP family is currently supported only by a raw interface.
ADDRESSING
PUP addresses are composed of network, host, and port portions. The include file <netpup/pup.h> defines this address as,
struct pupport {
u_charpp_net;
u_charpp_host;
u_longpp_socket;
};
Sockets bound to the PUP protocol family utilize the following addressing structure,
struct sockaddr_pup {
shortspup_family;
shortspup_zero1;
structpupport spup_addr;
charspup_zero2[4];
};
HEADERS
The current PUP support provides only raw access to the Ethernet. Packets sent and received through this interface have the following packet header present,
struct pup_header {
u_shortpup_length;
u_charpup_tcontrol;/∗ transport control ∗/
u_charpup_type;/∗ protocol type ∗/
u_longpup_id;/∗ used by protocols ∗/
structpupport pup_dport, pup_sport;
};
As mentioned above, the length and source “port” are automatically filled in by the raw interface software. The tcontrol field is restricted to be 0 or 1; with 1 indicating packet tracing should be performed.
INTERFACES
The only interface which currently supports use of pup’s is the Xerox 3 Mb/s en(4i) interface.
SEE ALSO
BUGS
With the release of the second generation, PUP-II, protocols it is not clear what future PUP-I has. Consequently, there has been little motivation to provide extensive kernel support.
Routing support should be provided; currently the destination host and network are used in encapsulating the packet in the interface driver.
Sun System Release 0.3 — 1 April 1982