Thank you for the input and pointer to patches.

The problem is that it would require TOS deployed on the device, which is not the case and the repo being twice removed from the kernel source -> OpenWrt -> TOS, patches are neither available in mainline or OpenWrt whilst the Marvell SoC chipset is not unique to the CZ.NIC manufactured devices but leveraged by other vendors as well.

It seems a bit strange to be nudged to the deployment of a particular repo, unless self-compiling kernel with those patch sets, instead of the same functionality being provided straight from mainline. Are those patch sets being introduced to mainline?

On 22/06/2020 12:31, Marek Behun wrote:
TurrisOS has patches adding multi-CPU DSA support, look at those if you
want this functionality.

These patches apply on openwrt, after patching there should be kernel
patches created in target/linux/mvebu/patches-{4.14,5.4}

For 4.14 kernel:
https://gitlab.labs.nic.cz/turris/turris-build/-/blob/hbd/patches/openwrt/wip/0009-mvebu-turris-omnia-multi-cpu-dsa.patch

(this creates
target/linux/mvebu/patches-4.14/90500-net-dsa-multi-cpu.patch
target/linux/mvebu/patches-4.14/90501-omnia-dts-dsa-multi-cpu.patch
)

For 5.4 kernel:
https://gitlab.labs.nic.cz/turris/turris-build/-/blob/fix/hbd-omnia-5.4-kernel/patches/openwrt/wip/0005-mvebu-initial-support-for-Omnia-on-5.4-kernel.patch

(this creates
target/linux/mvebu/patches-5.4/9950-net-dsa-allow-for-multiple-CPU-ports.patch
target/linux/mvebu/patches-5.4/9951-net-add-ndo-for-setting-the-iflink-property.patch
target/linux/mvebu/patches-5.4/9952-net-dsa-implement-ndo_set_netlink-for-chaning-port-s.patch
target/linux/mvebu/patches-5.4/9953-net-dsa-mv88e6xxx-support-multi-CPU-DSA.patch
)

On Mon, 22 Jun 2020 07:39:00 +0000
ѽ҉ᶬḳ℠ <v...@gmx.net> wrote:

On 21/06/2020 21:08, Florian Fainelli wrote:
Le 2020-06-21 à 13:24, ѽ҉ᶬḳ℠ a écrit :
{"kernel":"5.4.46","hostname":"OpenWrt","system":"ARMv7 Processor rev 1
(v7l)","model":"Turris
Omnia","board_name":"cznic,turris-omnia","release":{"distribution":"OpenWrt","version":"SNAPSHOT","revision":"r13600-9a477b833a","target":"mvebu/cortexa9","description":"OpenWrt
SNAPSHOT r13600-9a477b833a"}}
_____

With the below cited DT both CPU ports facing the node's build-in switch
are brought online at boot time with kernel 4.14 but since having
switched to kernel 5.4 only one CPU port gets online. It is as if the
kernel discards the presence of the secondary CPU port. Kernel log only
prints for the offline port just a single entry:

mvneta f1070000.ethernet eth0: Using hardware mac address

Swapping eth1 to port6 and eth0 to port6 then eth0 is brought online but
eth1 is not. Removing port5 then the port6 listed port is brought
up/online.

Once the node is booted the offline port can brought up with ip l set
up. This seems like a regression bug in between the kernel versions.
There can only be one CPU port at a time active right now, so I am not
sure why it even worked with kernel 4.14.
What is the reasoning, because DSA is not coded to handle multi-ports?
DSA can be patched downstream (proposed patches to mainline kernel were
not accepted) and is so is for the 4.14 instance but there is DSA patch
available for the 5.4 instance yet. That aside I would assume that DSA
is not in charge of handling the state of the CPU ports but rather PHY
or PHYLINK?

I understand that dual CPU port chipset design is somewhat unusual but
it is something unique and therefore a fringe case that is not supported
by the kernel?

   Could you please share kernel
logs and the output of ip link show in both working/non-working cases?
Sure, does the ML accept attachments, if so which format, or you want
two full kernel logs in the message body? Meantime, the short version:

4.14
dmesg -t | grep mvneta
mvneta f1070000.ethernet eth0: Using hardware mac address d8:58:d7:00:79:7c
mvneta f1030000.ethernet eth1: Using hardware mac address d8:58:d7:00:79:7a
mvneta f1034000.ethernet eth2: Using hardware mac address d8:58:d7:00:79:7b
mvneta f1034000.ethernet eth2: switched to 802.3z/1000base-x link mode
mvneta f1070000.ethernet eth0: configuring for fixed/rgmii link mode
mvneta f1070000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
mvneta f1030000.ethernet eth1: Disable IP checksum for MTU greater than
1600B
mvneta f1030000.ethernet eth1: configuring for fixed/rgmii link mode
mvneta f1030000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
mvneta f1034000.ethernet eth2: configuring for 802.3z/1000base-x link mode
mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off
mvneta f1034000.ethernet eth2: Link is Down
mvneta f1034000.ethernet eth2: configuring for 802.3z/1000base-x link mode
mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off
mvneta f1034000.ethernet eth2: Link is Down
mvneta f1034000.ethernet eth2: configuring for 802.3z/1000base-x link mode
mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off

5.4
dmesg -t | grep mvneta
mvneta f1070000.ethernet eth0: Using hardware mac address d8:58:d7:00:79:7c
mvneta f1030000.ethernet eth1: Using hardware mac address d8:58:d7:00:79:7a
mvneta f1034000.ethernet eth2: Using hardware mac address d8:58:d7:00:79:7b
mvneta f1034000.ethernet eth2: switched to inband/1000base-x link mode
mvneta f1030000.ethernet eth1: Disable IP checksum for MTU greater than
1600B
mvneta f1030000.ethernet eth1: configuring for fixed/rgmii link mode
mvneta f1030000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
mvneta f1034000.ethernet eth2: configuring for inband/1000base-x link mode
mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off
mvneta f1034000.ethernet eth2: Link is Down
mvneta f1034000.ethernet eth2: configuring for inband/1000base-x link mode
mvneta f1034000.ethernet eth2: configuring for inband/1000base-x link mode
mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off
mvneta f1034000.ethernet eth2: Link is Down
mvneta f1034000.ethernet eth2: configuring for inband/1000base-x link mode
mvneta f1034000.ethernet eth2: configuring for inband/1000base-x link mode
mvneta f1034000.ethernet eth2: Link is Up - 1Gbps/Full - flow control off



Attachment: OpenPGP_0xF4F735931F05C5CE.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to