Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: qt multi- and broadcast (was Re: dhcpcd not working in simh-vax with xq0:nat networking)



On Sun 12 Dec 2021 at 18:24:13 +0000, Mark Pizzolato - Info Comm wrote:
> How does NetBSD generally handle multi-cast?  What interfaces exist to 
> NIC drivers to express the desire to receive all or particular multi-cast 
> packets?

I think a good example to look at would be the "qe" driver, i.e. for
DELQA-normal:
https://github.com/NetBSD/src/blob/trunk/sys/dev/qbus/if_qe.c
Starting at line 641 is the ioctl function, which handles the
SIOCADDMULTI and SIOCDELMULTI requests. I don't think there is something
similar to request receiving broadcasts; afaik they are always assumed to be
enabled. If any multicast address is added or deleted, a new init packet
is sent.

From line 790, the init packet is set up. It looks like it sets every
filter entry to the broadcast addr; leaves slot #0 alone, and then
overwrites slot #1 with its own address (j seems to be the slot number).
Then from slot #3 on it fills in multicast addresses, and if there are
too many it falls back to "all multicast" mode (which is actually
implemented as promiscuous mode; Maybe the driver writer didn't see
EK-DELQA-UG-002.pdf where page 3-31 mentions the C<00> All Multicast
address filter)

It looks like the DELQA-normal init packet sets too many bytes to 0xFF
and doesn't heed "reserved bytes should be set to zero"; slot #0 looks
like being part of the reserved bytes apart from the "MOP flag"; page
3-33.

> - Mark
-Olaf.
-- 
___ "Buying carbon credits is a bit like a serial killer paying someone else to
\X/  have kids to make his activity cost neutral." -The BOFH    falu.nl@rhialto

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index