[ECOS] Default eth hardware address is an eCos bug

Paul Sheer psheer@icon.co.za
Sat Dec 8 08:37:00 GMT 2001


Hi there

./devs/eth/arm/flexanet/current/cdl/flexanet_eth_drivers.cdl
contains a default hardware address as follows:
	default_value {"{0x11, 0x12, 0x13, 0x14, 0x15, 0x16}"}

now yow will note in ./tcpip/current/src/sys/net/if_ethersubr.c
the lines:
        if (eh->ether_dhost[0] & 1) {
                if (bcmp((caddr_t)etherbroadcastaddr,
(caddr_t)eh->ether_dhost,
                    sizeof(etherbroadcastaddr)) == 0)
                        m->m_flags |= M_BCAST;
                else
                        m->m_flags |= M_MCAST;
        }

which breaks eCos accept()'s

The hardware address should be:
	default_value {"{0x0, 0x12, 0x13, 0x14, 0x15, 0x16}"}
since most (all?) ethernet cards have the first byte zero.

-paul

-- 
Paul Sheer Consulting IT Services . . . Tel . . . +27 21 761 7224
Email . . . psheer@icon.co.za . . . . . . Pager . . . 088 0057266
Linux development, cryptography, recruitment,  support,  training
http://www.icon.co.za/~psheer . . . . http://rute.sourceforge.net
L I N U X . . . . . . . . . . . .  The Choice of a GNU Generation



More information about the Ecos-discuss mailing list