From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx.bisdn.de (mx.bisdn.de [185.27.182.31]) by dpdk.org (Postfix) with ESMTP id A05312A07 for ; Tue, 12 May 2015 01:46:43 +0200 (CEST) Received: from localhost.localdomain (x5ce15ddb.dyn.telefonica.de [92.225.93.219]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by mx.bisdn.de (Postfix) with ESMTPSA id E523AA3174; Tue, 12 May 2015 01:46:42 +0200 (CEST) From: Marc Sune To: dev@dpdk.org Date: Tue, 12 May 2015 01:45:44 +0200 Message-Id: <1431387946-29950-1-git-send-email-marc.sune@bisdn.de> X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [RFC PATCH 0/2] ethdev: add port speed capability bitmap 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: Mon, 11 May 2015 23:46:43 -0000 The current rte_eth_dev_info abstraction does not provide any mechanism to know the supported speed(s) of an ethdev. For some drivers (e.g. ixgbe), an educated guess can be done based on the driver's name (driver_name in rte_eth_dev_info), see: http://dpdk.org/ml/archives/dev/2013-August/000412.html However, i) doing string comparisons is annoying, and can silently break existing applications if PMDs change their names ii) it does not provide all the supported capabilities of the ethdev iii) for some drivers it is impossible determine correctly the (max) speed by the application (e.g. in i40, distinguish between XL710 and X710). This small patch adds speed_capa bitmap in rte_eth_dev_info, which is filled by the PMDs according to the physical device capabilities. WARNING: the patch is only tested with e1000s, and should be reviewed for accuracy. Marc Sune (2): Added ETH_SPEED_CAP bitmap in rte_eth_dev_info Filling speed capability bitmaps in the PMDs lib/librte_ether/rte_ethdev.h | 24 ++++++++++++++++++++++++ lib/librte_pmd_e1000/em_ethdev.c | 6 ++++++ lib/librte_pmd_e1000/igb_ethdev.c | 6 ++++++ lib/librte_pmd_fm10k/fm10k_ethdev.c | 3 +++ lib/librte_pmd_i40e/i40e_ethdev.c | 9 +++++++++ lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 10 ++++++++++ lib/librte_pmd_mlx4/mlx4.c | 6 ++++++ 7 files changed, 64 insertions(+) -- 2.1.4