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: <CAHx5RXCWW5M-eW5v65bAkQWZemsU2NTvDv3jA9_XKz=+YP56Qg@mail.gmail.com>
Date: Mon, 13 May 2024 17:21:45 +0100
From: Stephen Langstaff <stephenlangstaff1@...il.com>
To: Florian Fainelli <f.fainelli@...il.com>
Cc: andrew@...n.ch, linux-kernel@...r.kernel.org, 
	"OlteanV@...il.com" <OlteanV@...il.com>
Subject: Re: drivers/net/dsa/dsa_loop_bdinfo.c build problems

On Mon, May 13, 2024 at 4:50 PM Florian Fainelli <f.fainelli@...il.com> wrote:
> Then dsa_loop_bdinfo is going to be built into your kernel image, and it
> will register a mdio_board_info structure which will create fixed PHY
> devices and it will assume that the DSA conduit network device name is
> "eth0". If this is not correct for your system, that needs changing.
>
> What are you trying to achieve? Can you be a tad more verbose about what
> you have tried and what is not working?

Sure, sorry I was being a bit terse.

In a 6.1.55 Linux kernel build, after a full make, if I touch a file
marked as "=y" in the .config (e.g. net/devres.c) I see that the
compiler rebuilds the corresponding .o file, as expected:

user@...hine:/opt/linux-imx$ touch net/devres.c
user@...hine:/opt/linux-imx$ make
  CALL    scripts/checksyscalls.sh
  CC      net/devres.o
  AR      net/built-in.a
..

If I do the same for drivers/net/dsa/dsa_loop_bdinfo.c nothing is rebuilt!

user@...hine:/opt/linux-imx$ touch drivers/net/dsa/dsa_loop_bdinfo.c
user@...hine:/opt/linux-imx$ make
  CALL    scripts/checksyscalls.sh
user@...hine:/opt/linux-imx$

What I am trying to achieve is to use dsa_loop to connect a CPU
running Linux to an Ethernet switch via a "conduit" Ethernet link
(e.g. eth0) using the port-based Ethertype DSA (Marvell) frame tagging
protocol, so that the Linux kernel will present the userspace with
separate Ethernet links for each of the switch's user ports (e.g.
lan1, lan2, lan3).

As I understand it this is usually done via a fixed phy-less conduit
(e.g. xMII) and an MDIO link between the processor and the switch so
that the processor can configure and control the physical user ports.

I want to do some software development ahead of receiving the
hardware, so I want to "fake" the MDIO link, or in some other way
configure the kernel, such that it uses port-based EDSA frame tagging
over an ordinary (PHY-equipped) Ethernet port and it looks to me like
dsa_loop should be capable of doing this.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ