From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ee0-x22b.google.com (mail-ee0-x22b.google.com [IPv6:2a00:1450:4013:c00::22b]) by dpdk.org (Postfix) with ESMTP id E18869A for ; Wed, 8 Jan 2014 10:44:53 +0100 (CET) Received: by mail-ee0-f43.google.com with SMTP id c13so547128eek.2 for ; Wed, 08 Jan 2014 01:46:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=vp7SH3Y3MB4Dx9lB3jAwhq61FwFgK8/CZKe6vg5F5pM=; b=0L5C/M2Em+vQ9iWOE2NbokVmB8CyaOO5BrrmvC+/IGHInHqB5i5uXyo9ibIk8Hxl4e a4Oj5zc/5tHbYMpVTF0tqTj4xgHKMa7bWuNp1cI0rg7IXTZURd8lfdiN81sRfiaLtEsX 1EvVUGO9pQtuhic2c0EeLlWQhsO7zbvGubVvi9gtWM24R/xxFFNMVFiE5l9IQy1bISQ6 8XRCu9yohHyKnp2Pyel9ZH/JZ1kAvzuzRPESPk1ZJqbRwxW0g7Zp7jjjEU6uiUZKvTRt VLu33VI5JhvNBngqwYR63dJCNlDAk6J2CZ1U57Dr7/BgfZ48K60CzMyN1w0kitDbFn1Q 3sbA== MIME-Version: 1.0 X-Received: by 10.14.149.139 with SMTP id x11mr44367906eej.35.1389174365884; Wed, 08 Jan 2014 01:46:05 -0800 (PST) Received: by 10.15.94.5 with HTTP; Wed, 8 Jan 2014 01:46:05 -0800 (PST) Date: Wed, 8 Jan 2014 10:46:05 +0100 Message-ID: From: Mats Liljegren To: Thomas Monjalon , stephen@networkplumber.org Content-Type: text/plain; charset=UTF-8 Cc: "dev@dpdk.org" Subject: [dpdk-dev] [PATCH 1/2] Introduce if_index field to struct 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: Wed, 08 Jan 2014 09:44:54 -0000 This field is intended for pcap to describe the name of the interface as known to Linux. It is an interface index, but can be translated into an interface name using if_indextoname() function. When using pcap, interrupt affinity becomes important, and this field gives the application a chance to ensure that interrupt affinity is set to the lcore handling the device. Signed-off-by: Mats Liljegren --- lib/librte_ether/rte_ethdev.c | 1 + lib/librte_ether/rte_ethdev.h | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 859ec92..38c1ea1 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -1037,6 +1037,7 @@ rte_eth_dev_info_get(uint8_t port_id, struct rte_eth_dev_info *dev_info) /* Default device offload capabilities to zero */ dev_info->rx_offload_capa = 0; dev_info->tx_offload_capa = 0; + dev_info->if_index = -1; FUNC_PTR_OR_RET(*dev->dev_ops->dev_infos_get); (*dev->dev_ops->dev_infos_get)(dev, dev_info); dev_info->pci_dev = dev->pci_dev; diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 302d378..5b80e5d 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -787,6 +787,7 @@ struct rte_eth_conf { struct rte_eth_dev_info { struct rte_pci_device *pci_dev; /**< Device PCI information. */ const char *driver_name; /**< Device Driver name. */ + int if_index; /**< Index to bounded host interface, or -1 if none. Use if_indextoname() to translate into an interface name. */ uint32_t min_rx_bufsize; /**< Minimum size of RX buffer. */ uint32_t max_rx_pktlen; /**< Maximum configurable length of RX pkt. */ uint16_t max_rx_queues; /**< Maximum number of RX queues. */ -- 1.8.3.2