SVR5 and SCO OpenServer
mdi_do_loopback(D3mdi)
mdi_do_loopback --
loopback convenience routine
Syntax
#include <sys/types.h>
#include <sys/stream.h>
#include <sys/types.h>
#include <sys/stream.h>
#include <sys/mdi.h>
#include <sys/ddi.h>
void mdi_do_loopback(queue_t * q, mblk_t * mp, int minsize);
Description
mdi_do_loopback( )
is a loopback convenience routine.
It loops the message back to the next module's read queue,
if it is not blocked by flow control.
Arguments
q-
Read queue call.
mp-
Pointer to message to be duplicated
minsize-
Minimum size of the message.
If necessary, the message will be padded
to reach this size.
Return values
None
Usage
The
mdi_do_loopback( )
function is used to loop the frame
back to the MDI user
when the network adapter hardware does not loop back messages
that are bound for the following addresses:
-
the broadcast MAC address
-
a multicast address in the multicast table,
or any multicast address
if all MCAs are set.
-
the device's MAC address
-
all messages being transmitted if the adapter is in promiscuous
mode; see
MACIOC_PROMISC
The
msgpullup(D3str)
function is then called
to collate the data into a single message
before placing it on the next module's read queue.
Context and synchronization
All
contexts
Hardware applicability
All
Version applicability
mdi:
1, 2, 2.1
References
mdi_addrs_equal(D3mdi),
mdi_valid_mca(D3mdi),
uwput(D2mdi)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005