Re: duplicate MAC - Re: 13.1R problems on Pi3

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
[It may be that you got your TO: and CC: list a
little mixed up. But I was listed as the TO:
and Bob P. as a CC: . I'm answering on that
basis but Bob P. is one with 2 RPi* that have
the same MAC address in use.]

On 2022-Jul-5, at 02:55, Ronald Klop <[email protected]> wrote:

> Van: Mark Millard <[email protected]>
> Datum: maandag, 4 juli 2022 20:47
> Aan: bob prohaska <[email protected]>
> CC: Karl Denninger <[email protected]>, [email protected]
> Onderwerp: Re: 13.1R problems on Pi3
> 
> On 2022-Jul-4, at 11:25, bob prohaska <[email protected]> wrote:
> 
> > On Mon, Jul 04, 2022 at 12:17:15PM -0400, Karl Denninger wrote:
> >>
> >> On 7/4/2022 11:28, bob prohaska wrote:
> >>> On Sun, Jul 03, 2022 at 10:36:35PM -0400, Karl Denninger wrote:
> >>>
> >>> Can any sense be made of the few ping responses obtained when ntp
> >>> is coming up? It's looks as if something happens after ntp runs
> >>> that blocks subsequent network traffic, but why starting an outbound
> >>> ping should partly unblock things is obscure to me.
> >>
> >> Yes.?? The odds are reasonably high that there is confusion as to which MAC
> >> address maps to which device.?? This implies there's a loop between the two
> >> switches (e.g. there is more than one way for packets to get into and out of
> >> each said switch to the other) or the two devices are claiming the same MAC
> >> address and thus when each "speaks" and performs ARP it "grabs" the map
> >> which works until the next one pipes up and it grabs it.
> >>
> >
> > Looks like that's the problem. There's only one cable between switches, but
> > here's what I get from ifconfig on each host:
> >
> > On the machine running 13.1-R attached to switch 2:
> > bob@www:~ % ifconfig
> > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> >   options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
> >   inet6 ::1 prefixlen 128
> >   inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
> >   inet 127.0.0.1 netmask 0xff000000
> >   groups: lo
> >   nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> > ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >   options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
> >>>>>>>>    ether b8:27:eb:71:46:4e
> >   inet 50.1.20.28 netmask 0xffffff00 broadcast 50.1.20.255
> >   media: Ethernet autoselect (100baseTX <full-duplex>)
> >   status: active
> >   nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> > bob@www:~ % hostname
> > www.zefox.org
> > bob@www:~ %
> > bob@www:~ % uname -a
> > FreeBSD www.zefox.org 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC arm64
> > bob@www:~ %
> >
> > On the machine running an updated stable/13 system attached to switch 1:
> > bob@pelorus:~ % ifconfig
> > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> >   options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
> >   inet6 ::1 prefixlen 128
> >   inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
> >   inet 127.0.0.1 netmask 0xff000000
> >   groups: lo
> >   nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
> > ue0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >   options=80009<RXCSUM,VLAN_MTU,LINKSTATE>
> >>>>>>>     ether b8:27:eb:71:46:4e
> >   inet 50.1.20.24 netmask 0xffffff00 broadcast 50.1.20.255
> >   media: Ethernet autoselect (100baseTX <full-duplex>)
> >   status: active
> >   nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> > bob@pelorus:~ % hostname
> > pelorus.zefox.org
> > bob@pelorus:~ %
> > bob@pelorus:~ % uname -a
> > FreeBSD pelorus.zefox.org 13.1-STABLE FreeBSD 13.1-STABLE #6 stable/13-n251601-2353343b324: Sun Jul  3 21:43:04 PDT 2022     [email protected]:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC arm64
> >
> >
> > Thinking it over, I added the extra switch some time ago and didn't
> > immediately notice any problems. Both Pi3s started out on the first
> > switch (NetGear), with no obvdious problems. Later I probably moved
> > one Pi3 to the second switch (D-Link) and started to notice troubles.
> > Does this story make sense?
> >
> >> Each interface device from the factory is supposed to have a unique MAC
> >> address.?? This can, for most interfaces, be overridden (modern Android
> >> phones "randomize" it if told to as a "security" measure) but for obvious
> >> reasons doing that can lead to problems. Collisions where multiple devices
> >> are using the same MAC will lead to exactly the sort of thing you're seeing
> >> because the switch is sending the packets to the wrong place.
> >>
> >> I've got a decent number of Pis of everything back to the "2" here and most
> >> of the time several of them are on my network at once.?? I've not seen this
> >> problem but I wouldn't exclude that both are claiming the same MAC and, if
> >> so, that's what's causing the problem.
> >>
> > [example ifconfig output snipped]
> >>
> >> That MUST be unique on your LAN; the prefix (first three octets) is a vendor
> >> code /*and the last three should never be duplicated by a vendor. */If you
> >> are not setting it in /etc/rc.conf or elsewhere and there /are /duplicates
> >> then a very bad thing happened when those units were manufactured -- set one
> >> of them to something else.
> >>
> >
> > Any pointers to MAC-setting methods appreciated.....
> 
> My example is not the best fit because it is for DHCP
> but in /etc/rc.conf I use (but showing "??"s):
> 
> ifconfig_dwc0="ether ??:??:??:??:??:?? DHCP"
> 
> to avoid its random assignment at power up.

FYI: The example system that has random assignment is
a Rock64, not a RPi* . I got the example line from the
Rock64's /etc/rc.conf file in order to show it to Bob
P.

I do not have such a line on any RPi* that I have
access to.

> So for you I would guess:
> 
> ifconfig_ue0="ether ??:??:??:??:??:?? inet 50.1.20.28 netmask 255.255.255.0"
> 
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> 
>  
> 
> 
> Hi,
> 
> My Rpi3B+ does not have a random MAC on ue0.

Niether would the RPi3B that I have access to or any
of the other RPi* that I have access to.

> NB: It uses the muge driver:
> # devinfo | more
> ...
>       bcm283x_dwcotg0
>         usbus1
>           uhub0
>             uhub1
>               uhub2
>                 muge0
>                   miibus0
>                     ukphy0
> ...
> 
> Your current MAC is officially from the Raspberry Pi Foundation: https://hwaddress.com/oui-iab/B8-27-EB/ .

Not for a Rock64 --but true of the RPi* that I have access to.

> Could you have hardcoded the MAC in a *.dtb file or other config in the /boot directory and copied that over to the other RPI?

Bob P. is the one that reported 2 fixed MAC addresses on two
RPI3*'s that are equal (duplicates). I was trying to help
him make the machines not present a duplication.

> If you are going to assign some MAC yourself take a look at https://en.wikipedia.org/wiki/MAC_address#Universal_vs._local_(U/L_bit) to choose a locally administered MAC.

I expect that Bob P. will do something like that.


===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.