[mod.computers.vax] Ethernet Protocol-access-modes

LEICHTER-JERRY@YALE.ARPA.UUCP (03/03/87)

    I have some questions about Ethernet Protocol access and multicasting.
    There are three possible Protocol access modes in the DEUNA-Driver
    available:

                    - NMA$C_ACC_EXE exclusive mode
                    - NMA$C_ACC_SHR Shared default user mode
                    - NMA$C_ACC_LIM Shared with destination
    
    The first one is quite clear. But for the last two ones are there some
    examples to see what they are used for? When does it make sense to use
    a "default user mode" protocol and when one with the "shared with desti-
    nation"?

This is very poorly explained in the documentation, unfortunately.  A shared-
mode protocol can be opened by one default user, and any number of shared-
with-destination users.  Each SWD user specifies a particular Ethernet address
that it is talking to; the address must be unique amount all SWD users of the
same protocol.

When a message for a shared protocol arrives the sender's address is extracted
and compared to the address specified by each SWD user.  If it matches, the
message is delivered to that user.  If no SWD user matches the address, but
a default user is found, the message is delivered to the default user instead.

When a SWD user sends a message, the destination address specified is op-
tional;  it is set to the address the SWD user is talking to.  (I don't recall
what happens if the SWD user specifies a different address - probably it is
ignored, perhaps an error occurs.)  The default user, like an exclusive-mode
user, MUST specify a destination address.

You would use this by setting up a default user as a listener that would start
up a process to talk to a particular other station.  What the whole mechanism
really does is provide a level of demultiplexing based on the sender; you can
thus set up to listen only to a particular sender, rather than having to worry
about all senders.

    The next question is about "multicast address state" (NMA$C_PCLI_MLT).
    In the PAGESWAPPER of July 1985 (Vol 7, #1) there was an article about
    "commonly asked XEDRIVER technical questions". For the multicast address
    state parameter one could read a sentence in the sense of ..."if you want
    more then 10 multicast adresses (the limit of the hardware) set NMA$C_
    PCLI_MLT on".
    My question is: Could the driver (or someone elese) quick
    enougth exchange the multicast address table in the DEUNA hardware to
    enable more than 10 multicast adddresses or what does this parameter
    really mean?

No.  Again, the documentation is VERY vague here, and the PAGESWAPPER article
is, unfortunately, incorrect.  The hardware is only capable of "watching for"
a limited number of addresses - multicast or otherwise - at a time.  (That
number is, as I recall, 12.)  Two of those are taken up by the broadcast
address - FF-FF-FF-FF-FF-FF - and the station's own physical address, which
is NOT a multicast address.  The remaining 10 are available for multicast
addresses.

The driver follows the hardware on this limitation:  The total number of
multicast addresses enabled by all units put together is limited to 10.  Any
attempt to enable another will fail with the uniquitous "invalid parameter
value" error.

Setting "receive all multicasts" tells the hardware to do no filtering of
multicast addresses:  It will pass ALL messages destined for multicast
addresses to the driver.  The driver will then have to do its own filtering.
I'm not sure about this, but I don't believe the driver is willing to filter
more than the same 10 multicast addresses the hardware could have; so you
gain nothing but drastically reduced performance, if there are any significant
number of multicast messages flying around your Ethernet.

							-- Jerry
-------