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: <20220913181009.13693-2-oleksandr.mazur@plvision.eu>
Date:   Tue, 13 Sep 2022 21:10:08 +0300
From:   Oleksandr Mazur <oleksandr.mazur@...ision.eu>
To:     netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Cc:     pabeni@...hat.com, kuba@...nel.org, edumazet@...gle.com,
        davem@...emloft.net, hkallweit1@...il.com, andrew@...n.ch,
        linux@...linux.org.uk,
        Oleksandr Mazur <oleksandr.mazur@...ision.eu>
Subject: [PATCH 1/2] net: sfp: add quirk for FINISAR FTLX8574D3BCL and FTLX1471D3BCL SFP modules

FINISAR FTLX8574D3BCL and FTLX1471D3BCL modules report 10Gbase-SR mode
support, but can also operate at 1000base-X.

Add quirk to also support 1000base-X.

EEPROM content of FTLX8574D3BCL SFP module is (where XX is serial number):

00:  03 04 07 10 00 00 00 00  00 00 00 06 67 00 00 00  |............g...|
10:  08 03 00 1e 46 49 4e 49  53 41 52 20 43 4f 52 50  |....FINISAR CORP|
20:  2e 20 20 20 00 00 90 65  46 54 4c 58 38 35 37 34  |.   ...eFTLX8574|
30:  44 33 42 43 4c 20 20 20  41 20 20 20 03 52 00 4b  |D3BCL   A   .R.K|
40:  00 1a 00 00 41 30 XX XX  XX XX XX XX XX XX XX XX  |....A0XXXXXXXXXX|
50:  20 20 20 20 31 38 30 38  31 32 20 20 68 f0 05 e7  |    180812  h...|

EEPROM content of FTLX1471D3BCL SFP module is (where XX is serial number):

00:  03 04 07 20 00 00 00 00  00 00 00 06 67 00 0a 64  |... ........g..d|
10:  00 00 00 00 46 49 4e 49  53 41 52 20 43 4f 52 50  |....FINISAR CORP|
20:  2e 20 20 20 00 00 90 65  46 54 4c 58 31 34 37 31  |.   ...eFTLX1471|
30:  44 33 42 43 4c 20 20 20  41 20 20 20 05 1e 00 63  |D3BCL   A   ...c|
40:  00 1a 00 00 55 4b XX XX  XX XX XX XX XX XX XX XX  |....UKXXXXXXXXXX|
50:  20 20 20 20 31 31 30 34  30 32 20 20 68 f0 03 bb  |    110402  h...|

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@...ision.eu>
---
 drivers/net/phy/sfp-bus.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c
index 15aa5ac1ff49..c3df85501836 100644
--- a/drivers/net/phy/sfp-bus.c
+++ b/drivers/net/phy/sfp-bus.c
@@ -38,6 +38,12 @@ struct sfp_bus {
 	bool started;
 };
 
+static void sfp_quirk_1000basex(const struct sfp_eeprom_id *id,
+				unsigned long *modes)
+{
+	phylink_set(modes, 1000baseX_Full);
+}
+
 static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
 				unsigned long *modes)
 {
@@ -84,6 +90,16 @@ static const struct sfp_quirk sfp_quirks[] = {
 		.vendor = "UBNT",
 		.part = "UF-INSTANT",
 		.modes = sfp_quirk_ubnt_uf_instant,
+	}, {
+		// Finisar FTLX1471D3BCL can operate at 1000base-X and 10000base-SR,
+		.vendor = "FINISAR CORP.",
+		.part = "FTLX1471D3BCL",
+		.modes = sfp_quirk_1000basex,
+	}, {
+		// Finisar FTLX8574D3BCL can operate at 1000base-X and 10000base-SR,
+		.vendor = "FINISAR CORP.",
+		.part = "FTLX8574D3BCL",
+		.modes = sfp_quirk_1000basex,
 	},
 };
 
-- 
2.17.1

Powered by blists - more mailing lists