On Sun 12 Dec 2021 at 16:54:34 +0100, Anders Magnusson wrote:
> Yep, the board should always receive ethernet broadcast, no matter which
> mode is set.
For DELQA-normal, the qe driver probably always puts the broadcast
address in the filters:
sim> show xq filter
Filters:
[ 0]: 08:00:2B:AF:2C:E8
[ 1]: FF:FF:FF:FF:FF:FF
[ 2]: 01:00:5E:00:00:01
[ 3]: 33:33:FF:31:40:F7
[ 4]: 33:33:00:00:00:01
[ 5]: 33:33:FF:D3:A2:D3
[ 6]: FF:FF:FF:FF:FF:FF
[ 7]: FF:FF:FF:FF:FF:FF
[ 8]: FF:FF:FF:FF:FF:FF
[ 9]: FF:FF:FF:FF:FF:FF
[10]: FF:FF:FF:FF:FF:FF
[11]: FF:FF:FF:FF:FF:FF
[12]: FF:FF:FF:FF:FF:FF
[13]: FF:FF:FF:FF:FF:FF
NetBSD's src/sys/dev/qbus/if_qe.c qe_setup() line 790 seems related:
/*
* Init the setup packet with valid info.
*/
memset(qc->qc_setup, 0xff, sizeof(qc->qc_setup)); /* Broadcast */
...
for (i = 0; i < ETHER_ADDR_LEN; i++)
qc->qc_setup[i * 8 + 1] = enaddr[i]; /* Own address */
...
ETHER_FIRST_MULTI(step, ec, enm);
...
for (i = 0; i < ETHER_ADDR_LEN; i++)
qc->qc_setup[i * 8 + j + k] = enm->enm_addrlo[i];
Looking at the docs,
http://www.bitsavers.org/pdf/dec/qbus/EK-DELQA-UG-002.pdf, it is not
entirely clear if broadcast reception requires listing the broadcast
address in the filter list: (page 3-31)
3.6.2.4 Setup Packet Format
The first part of a setup packet defines the Ethernet addresses to
which the DELQA should respond. Figure 3-8 shows the setup packet
format in bytes (octal). The columns are used to show how the DELQA
can be programmed to recognize up to 14 six-byte Ethernet addresses.
The low-order byte of the address is at the top of each column. The
low-order bit of the low-order byte is the Multicast bit.
Each group of seven addresses is interleaved through 56 bytes of the
setup packet. One of the addresses must be the physical address of the
DELQA module. Any other specified addresses are multicast addresses. The
broadcast Ethernet address (all Is) may be optionally enabled. Any
columns not used should be set to the physical address (for better
protection against mischievous Ethernet traffic). More than one physical
address may be specified, but in Normal mode, only the first is used
for receiving datagrams, and as the source address for system ID
messages generated by the DELQA. In DEQNA-Iock mode the specifications
of multiple physical Ethernet addresses will cause the DELQA to filter
all such physical Ethernet addresses for packet reception.
NOTE Enabling more than one physical address is not recommended under
normal circumstances. This may have a substantial impact on performance.
The examples on page C-6 and C-7 do include the broadcast address.
Searching for "broadcast" and "promisc" I didn't find a promise that
non-promiscuous mode accepts broadcasts and the examples seem to assume
that there is a chance it doesn't.
> -- R
-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