lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOiHx==HkOqi4TY6v7bdzWoHEQxO4Q4=HH8kWe7hJiEdLTy3-g@mail.gmail.com>
Date: Wed, 4 Jun 2025 08:32:09 +0200
From: Jonas Gorski <jonas.gorski@...il.com>
To: Florian Fainelli <florian.fainelli@...adcom.com>
Cc: Álvaro Fernández Rojas <noltari@...il.com>, 
	andrew@...n.ch, olteanv@...il.com, davem@...emloft.net, edumazet@...gle.com, 
	kuba@...nel.org, pabeni@...hat.com, vivien.didelot@...il.com, 
	netdev@...r.kernel.org, linux-kernel@...r.kernel.org, dgcbueu@...il.com
Subject: Re: [RFC PATCH net-next v2 01/10] net: dsa: b53: add support for FDB
 operations on 5325/5365

On Wed, Jun 4, 2025 at 12:10 AM Florian Fainelli
<florian.fainelli@...adcom.com> wrote:
>
> On 6/3/25 13:48, Álvaro Fernández Rojas wrote:
> > From: Florian Fainelli <f.fainelli@...il.com>
> >
> > BCM5325 and BCM5365 are part of a much older generation of switches which,
> > due to their limited number of ports and VLAN entries (up to 256) allowed
> > a single 64-bit register to hold a full ARL entry.
> > This requires a little bit of massaging when reading, writing and
> > converting ARL entries in both directions.
> >
> > Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
> > Signed-off-by: Álvaro Fernández Rojas <noltari@...il.com>
> > ---
>
> [snip]
>
> >   static int b53_arl_op(struct b53_device *dev, int op, int port,
> >                     const unsigned char *addr, u16 vid, bool is_valid)
> >   {
> > @@ -1795,14 +1834,18 @@ static int b53_arl_op(struct b53_device *dev, int op, int port,
> >
> >       /* Perform a read for the given MAC and VID */
> >       b53_write48(dev, B53_ARLIO_PAGE, B53_MAC_ADDR_IDX, mac);
> > -     b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
> > +     if (!is5325(dev))
> > +             b53_write16(dev, B53_ARLIO_PAGE, B53_VLAN_ID_IDX, vid);
>
> I used the 5325M-DS113-RDS datasheet for this code initially but the
> 5325E-DS14-R datasheet shows that this register is defined. It's not
> clear to me how to differentiate the two kinds of switches. The 5325M
> would report itself as:
>
> 0x00406330
>
> in the integrated PHY PHYSID1/2 registers, whereas a 5325E would report
> itself as 0x0143bc30. Maybe we can use that to key off the very first
> generation 5325 switches?

According to the product brief and other documents BCM5325M does not
support 802.1Q VLANs, which would explain the missing register
descriptions. It does have 2k ARL entries compared to 1k for the 5325E
though, so I now see where that value comes from.

If it really doesn't support 802.1Q, then checking if related
registers are writable might also work.

Jonas

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ