SVR5 and SCO OpenServer
uwput(D2mdi)
uwput --
receive messages from the upper STREAMS queue
Syntax
See
put(D2str)
for syntax,
context,
and general usage information
about this entry point routine.
Usage
This function is the STREAMS upper write
put(D2str)
routine,
called by the STREAMS module
that is above the MDI driver
to pass down one of the following:
MDI primitives and MDI ioctls
should be processed immediately by the MDI driver, or
the
DLPI in HDK Technical Reference
module will assume that the hardware is inactive.
MDI data should be queued
on the MDI driver's STREAMS queue
if the adapter is not immediately ready to transmit it.
This data will be de-queued at interrupt time
when the adapter is ready to send more frames.
Queuing transmit data in this manner
instead of dropping outgoing frames when the hardware is busy
reduces the number of dropped frames.
De-queuing the data from the interrupt routine
means that no STREAMS write queue service routine is needed.
Do not put messages back on the queue with
putbq(D3str).
NOTE:
Do not delay processing of messages for too long, or
txmon assumes that the hardware is inactive. Also, do not put
messages back on a queue using
putbq( ).
Frame loop back
If the network adapter hardware does not loop back messages
that are bound for the following addresses
then the MDI driver must loop the frame back
to the MDI user:
-
The broadcast MAC address.
-
A multicast address in the multicast table,
or any multicast address
if all MCAs are set.
-
The adapter's MAC address.
-
All transmit frames if the adapter is in
promiscuous
mode.
Use the
mdi_do_loopback(D3mdi)
function to make the data looped back to the MAC user
be indistinguishable from data received from the network.
Version applicability
mdi:
1, 2, 2.1 running with ddi: 7, 7mp, 8, 8mp.
References
mdi_do_loopback(D3mdi),
mdi_valid_mca(D3mdi),
Intro(MDI)
(on OpenServer 6),
Intro(7mdi)
(on UnixWare 7.1.4),
put(D2str)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005