From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id 33E4BC710 for ; Thu, 18 Jun 2015 16:43:54 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Date: Thu, 18 Jun 2015 16:43:43 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC358AF172@smartserver.smartshare.dk> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v2 1/2] Added ETH_SPEED_CAP bitmap in rte_eth_dev_info Thread-Index: AdCp1SygqywYuxhEThuwoyYW8J1EAw== From: =?iso-8859-1?Q?Morten_Br=F8rup?= To: Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] [PATCH v2 1/2] Added ETH_SPEED_CAP bitmap in rte_eth_dev_info X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2015 14:43:54 -0000 Regarding the PHY speed ABI: =20 1. The Ethernet PHY ABI for speed, duplex, etc. should be common = throughout the entire DPDK. It might be confusing if some = structures/functions use a bitmask to indicate PHY = speed/duplex/personality/etc. and other structures/functions use a = combination of an unsigned integer, duplex flag, personality enumeration = etc. (By personality enumeration, I am referring to PHYs with multiple = electrical interfaces. E.g. a dual personality PHY might have both an = RJ45 copper interface and an SFP module interface, whereof only one can = be active at any time.) =20 2. The auto-negotiation standard allows the PHY to announce (to its link = partner) any subset of its capabilities to its link partner. E.g. a = standard 10/100/100 Ethernet PHY (which can handle both 10 and 100 = Mbit/s in both half and full duplex and 1 Gbit/s full duplex) can be = configured to announce 10 Mbit/s half duplex and 100 Mbit/s full duplex = capabilities to its link partner. (Of course, more useful combinations = are normally announced, but the purpose of the example is to show that = any combination is possible.) =20 The ABI for auto-negotiation should include options to select the list = of capabilities to announce to the link partner. The Linux PHY ABI only = allows forcing a selected speed and duplex (thereby disabling = auto-negotiation) or enabling auto-negotiation (thereby announcing all = possible speeds and duplex combinations the PHY is capable of). Don't = make the same mistake in DPDK. =20 PS: While working for Vitesse Semiconductors (an Ethernet chip company) = a long time ago, I actually wrote the API for their line of Ethernet = PHYs. So I have hands on experience in this area. =20 =20 Med venlig hilsen / kind regards =20 Morten Br=F8rup CTO =20 =20 =20 SmartShare Systems A/S Tonsbakken 16-18 DK-2740 Skovlunde Denmark =20 Office +45 70 20 00 93 Direct +45 89 93 50 22 Mobile +45 25 40 82 12 =20 mb@smartsharesystems.com =20 www.smartsharesystems.com =20 =20