udp − UDP/IP, ARP protocols on top of CMC ENP-10 ethernet controller
{
"udp",_cmcinit,_cmcopen,
_cmcstrategy,_cmcclose,_cmcioctl,
DTTYPE_CHAR,
DTFS_NONE,"UDP/IP on CMC ethernet"
}
provides UDP/IP datagram service via an ENP-10 ethernet controller.
also provides ARP internet address resolution, but does not support
internet routing or ip packet fragments. Udp packets can be no larger
than the ethernet maximum transfer unit, 1500 bytes.
normally formats packets for compatability with 4.2 BSD UNIX implementations.
4.3 BSD systems will also accept these packets. Full UDP functionality
with 4.3 BSD systems may be obtained by setting the prom monitor
environment variable $UDPCKSUM non-zero.
is currently only used internally by the
boot file server protocol, it is not configured for external use.
supports two ethernet controllers with control registers in A24
supervisor address space. Controller 0 has its control registers
based at 0xde0000, controller 1 has its control registers based at
0xf00000. The user may access cmc ethernet controllers with
control registers based differently than these by specifying the
controller number as the negative of the control register base.
supports the following ioctl’s:
Bind this UDP connection to UDP port
Scan the cmc ethernet controller for received packets and transfer
any found to the socket buffer.
The following diagnostics are printed by the
driver:
bad size in iob for cmc
The constant IOB_INODE is incorrectly defined, seek out an SPP guru.
cmc bad controller number
A controller number other than 0 or 1 was specified
$netaddr not set or incorrect
The prom monitor environment variable $netaddr was not set or is
not in Internet standard "." format
already bound
An attempt was made to bind a connection that has already been bound
to a UDP port
out of socket buffers
Too many simultaneous UDP connections
socket not bound
An attempt was made to do i/o over a UDP connection before the descriptor
was bound to a UDP port with the NIOCBIND ioctl
socket screw-up
Internal error in the socket allocation code
out of mbufs
No message buffer was available to copy a packet to for transmission
cmc bad function
Internal error detected in cmc driver
no cmc controller at 0x%x
No cmc controller was found at address shown;
controller either not in backplane, malfunctioning, or has incorrect
switch settings
cmc detected error on reset
Cmc controller detected error during power-up tests
timed out waiting for cmc to reset
Cmc controller never indicated it was ready
cmc application firmware failed
Cmc application firmware never indicated it was ready
cmc_output -- no space in mbuf
showchar − print character in visible form
showchar(c)
char c;
prints its argument on the console in a visible manner. All printable
ASCII characters are printed as is, all other characters are printed as
C backslash escapes.
printf(3spp)
on pc, contents of the cause and
status registers. The R2000 bad virtual address register and
the R2300 syste header
cmc: recvd bad packet, stat %R
Cmc received garbled packet
ARP couldn’t resolve network address
Address resolution protocol failed to convert Internet address to
physical ethernet address
duplicate IP address!! set from ethernet address: %x
Two nodes on network have same internet address
The following error messages are only printed if the environment
variable $VERBOSE is non-zero.
ip hdr len error
Received packet shorter than length of an ip header
ip cksum error
IP checksum failed
ip len error
Con