SVR5
mdi_valid_mca(D3mdi)
mdi_valid_mca --
Verify that the specified multicast address has been set for this adapter
Synopsis
#include <sys/types.h>
#include <sys/stream.h>
#include <sys/stropt.h>
#include <sys/mdi.h>
#include <sys/ddi.h>
int mdi_valid_mca (void *mac_cookie, macaddr_t addr);
Description
mdi_valid_mca( )
verifies that the specified multicast address
has been set for this adapter.
Arguments
mac_cookie-
The
mac_cookie
value passed in the
mac_bind_req structure returned by the
MAC_BIND_REQ(D7mdi)
primitive.
addr-
multicast address being checked
Return values
mdi_valid_mca( )
returns TRUE if the specified multicast address
is valid for this adapter.
If not, it returns FALSE.
Usage
The
mdi_valid_mca( )
function does a quick hash lookup,
with no address comparison,
of the same multicast address table that the
mdi_get_mctable(D3mdi)
function searches.
It is used during packet reception,
to avoid the overhead of searching through
what could be a very large hash table.
Specifically, it is used in the following situations:
-
To determine if a transmit packet
sent to multicast destination addresses
needs to be looped back with the
mdi_do_loopback(D3mdi)
function.
-
To determine if a received packet sent to
multicast destination addresses
should be sent to the MDI user.
This is especially useful for hardware
with imperfect multicast address matching,
such as those that use some type of address mask
or a hashing function.
Drivers should use the
mdi_get_mctable(D3mdi)
function to check if the given multicast address
exists for the adapter when processing the
MACIOC_SETMCA
and
MACIOC_DELMCA
ioctls.
Context and synchronization
Any
context
Hardware applicability
All
Version applicability
mdi:
2, 2.1
Differences between versions
This function is not supported in MDI on SCO OpenServer systems.
References
mdi_do_loopback(D3mdi),
mdi_get_mctable(D3mdi),
Intro(MDI)
(on OpenServer 6),
Intro(7mdi)
(on UnixWare 7.1.4)
``Multicast addresses and failover'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005