CMC(4spp) Systems Programmer's Manual CMC(4spp)
NAME
cmc - UDP/IP, ARP protocols on top of CMC ENP-10 ethernet
controller
SYNOPSIS
{
"cmc", cmcinit, cmcopen,
cmcstrategy, cmcclose, cmcioctl,
DTTYPECHAR,
DTFSNONE, "UDP/IP on CMC ethernet"
}
DESCRIPTION
Udp provides UDP/IP datagram service via an ENP-10 ethernet
controller. Udp also provides ARP internet address resolu-
tion, but does not support internet routing or ip packet
fragments. Udp packets can be no larger than the ethernet
maximum transfer unit, 1500 bytes.
Udp 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.
Udp is currently only used internally by the bfs(4spp) boot
file server protocol, it is not configured for external use.
REGISTERS
Udp supports two ethernet controllers with control registers
in A24 supervisor address space. Controller 0 has its con-
trol registers based at 0xde0000, controller 1 has its con-
trol registers based at 0xf00000. The user may access cmc
ethernet controllers with control registers based dif-
ferently than these by specifying the controller number as
the negative of the control register base.
IOCTLS
Udp supports the following ioctl's:
ioctl(fd, NIOCBIND, portnum)
Bind this UDP connection to UDP port port_num.
ioctl(fd, FIOCSCAN, 0)
Scan the cmc ethernet controller for received packets and
transfer any found to the socket buffer.
DIAGNOSTICS
The following diagnostics are printed by the cmc driver:
bad size in iob for cmc
The constant IOB_INODE is incorrectly defined, seek out
Printed 1/6/92 standalone library Page 1
CMC(4spp) Systems Programmer's Manual CMC(4spp)
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; con-
troller 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
Internal error, no space in mbuf for ethernet header
cmc: recvd bad packet, stat %R
Cmc received garbled packet
ARP couldn't resolve network address
standalone library Page 2Printed 1/6/92
CMC(4spp) Systems Programmer's Manual CMC(4spp)
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
Contents of length field in ip header shorter than ip
header itself
ip pkt len error
Received packet shorter than length in ip header
ip options error
Received packet with unsupported ip options
ip fragments error
Received fragment ip packet
cmc pkt len error
ip length shorter than UDP length
cmc cksum error
UDP checksum failed
cmc port error
No bound UDP port found for received packet
cmc sktbuf error
No space in socket buffer for received packet
SEE ALSO
bfs(4spp), bfsd(8spp)
Printed 1/6/92 standalone library Page 3