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-next>] [day] [month] [year] [list]
Date:	Thu, 25 Feb 2016 14:26:00 +0100
From:	Tomas Hlavacek <tmshlvck@...il.com>
To:	netdev@...r.kernel.org
Cc:	Pavol Korček <ikorcek@....vutbr.cz>,
	Martin Strbačka <martin.strbacka@....cz>
Subject: RFC: blueprint for proxy PHY module

Hello!

We have a board with a MAC in SoC that has SGMII connected through a 
signal switch to either 10/100/1000 wired PHY or to a SFP cage. The 
signal switch is set to pass signal to the wired PHY by default. When 
the MOD-DEF0 pin from SFP cage is low (which acts as a 
transceiver-present signal) the wired PHY is being disconnected and the 
SGMII is passed to the SFP cage. We also have the signal connected to a 
GPIO input, so we can detect the SFP presence from software. And there 
is always-connected MDIO to the wired PHY.

Now I use two different DTBs for testing purposes, one has a 
configuration for the wired PHY and another one uses fixed-link for 
SFP. And I have to reboot in order to switch from one to another.

My idea is to create a "proxy PHY" module that would take state from 
one of two (or more) underlying PHYs and pass it to the NIC driver. The 
selection of the active PHY would come from userspace. (There will be a 
board-specific
daemon that would react to the GPIO change and set the proper PHY 
accordingly.) Question is how to connect the userspace? I think that 
corresponding file in /sys would do the job, but I am not sure whether 
it is the proper way of doing that. (?)

What do you think about it?

Thanks,
Tomas

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ