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 -------