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



Home | Main Index | Thread Index | Old Index