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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161214110058.GE27370@lunn.ch>
Date:   Wed, 14 Dec 2016 12:00:58 +0100
From:   Andrew Lunn <andrew@...n.ch>
To:     John Crispin <john@...ozen.org>
Cc:     Florian Fainelli <f.fainelli@...il.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: dsa: handling more than 1 cpu port

On Wed, Dec 14, 2016 at 11:35:30AM +0100, John Crispin wrote:
> 
> 
> On 14/12/2016 11:31, Andrew Lunn wrote:
> > On Wed, Dec 14, 2016 at 11:01:54AM +0100, John Crispin wrote:
> >> Hi Andrew,
> >>
> >> switches supported by qca8k have 2 gmacs that we can wire an external
> >> mii interface to. Usually this is used to wire 2 of the SoCs MACs to the
> >> switch. Thw switch itself is aware of one of the MACs being the cpu port
> >> and expects this to be port/mac0. Using the other will break the
> >> hardware offloading features.
> > 
> > Just to be sure here. There is no way to use the second port connected
> > to the CPU as a CPU port?
> 
> both macs are considered cpu ports and both allow for the tag to be
> injected. for HW NAT/routing/... offloading to work, the lan ports neet
> to trunk via port0 and not port6 however.

Maybe you can do a restricted version of the generic solution. LAN
ports are mapped to cpu port0. WAN port to cpu port 6?

> > The Marvell chips do allow this. So i developed a proof of concept
> > which had a mapping between cpu ports and slave ports. slave port X
> > should you cpu port y for its traffic. This never got past proof of
> > concept. 
> > 
> > If this can be made to work for qca8k, i would prefer having this
> > general concept, than specific hacks for pass through.
> 
> oh cool, can you send those patches my way please ? how do you configure
> this from userland ? does the cpu port get its on swdev which i just add
> to my lan bridge and then add the 2nd cpu port to the wan bridge ?

https://github.com/lunn/linux/tree/v4.1-rc4-net-next-multiple-cpu

You don't configure anything from userland. Which was actually a
criticism. It is in device tree. But my solution is generic. Having
one WAN port and four bridges LAN ports is a pure marketing
requirement. The hardware will happily do two WAN ports and 3 LAN
ports, for example. And the switch is happy to take traffic for the
WAN port and a LAN port over the same CPU port, and keep the traffic
separate. So we can have some form of load balancing. We are not
limited to 1->1, 1->4, we can do 1->2, 1->3 to increase the overall
performance. And to the user it is all transparent.

This PoC is for the old DSA binding. The new binding makes it easier
to express this. Which is one of the reasons for the new binding.

	Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ