From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by dpdk.org (Postfix) with ESMTP id DCF73952 for ; Mon, 6 Mar 2017 14:58:37 +0100 (CET) Received: by mail-wm0-f47.google.com with SMTP id n11so65149149wma.0 for ; Mon, 06 Mar 2017 05:58:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :organization:mime-version:content-transfer-encoding; bh=G/zw7KPDmA8aRq3YIElIA9YGKo4jHtYKGot+LME9sCY=; b=eGx9KJwSUmwW2dSnirqQj1Pssk3Sk220xkCz4gLhqYdAiwburVEMxK86m3Fw4mdewP yWPBwRCW/X1gepkspfFw3nsET5UWHhch4W/fEopY556KRGgZDSv8Y9XsjyteBr+uLNHJ 8vSA+egvg+0BgZuk1rZ/Bg4NaWSEyprXbifkh1M2e0a4Ptre5yG5Ch6T0qWkkf8T5lrx u9YJP0uVWsZIGCwMQpESxSe5PXJelvwOFxwTYiu9xxtBoRkmN01/TE0qjRGwP5M/dVBp +3iCYMEP9OxiLzOLBa6QXTnL4r1C2huxzTjsgVJeq6Kw3lcXtrKbK1ouyOg0NmXhUb/Y gagw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:organization:mime-version:content-transfer-encoding; bh=G/zw7KPDmA8aRq3YIElIA9YGKo4jHtYKGot+LME9sCY=; b=YTWcyCidPDh/WnUokdf/ipHgMdroT7SWuQ3y+njkXsVOFIHylyS2luM5gqNeXDkolX p7MCPlHQdBLjAaXN/cSpTMc97ZiF4jij2mQ390Yafiat6y+lhZCEsO/7kSV+F6VGcpnB cHVGDbphh+L0KYxw5r/M4e43O9c50q3pIt37NSz+SShB4BiPvhHLGfKyPCjXigxbZ8Oj t34uJ0quEOKRNNsIHlZK7LruYkkW8WSjEG9510YWSQsz5X9B2IgVPY8DcvmEAXNnKT/0 wmGLFAamo53bHFNm/sOcH/ddWTfY/niASyATLYkOXEg8pLx5KPCKGCDgu7k+ClegyqE7 IAYg== X-Gm-Message-State: AMke39lIu3RrVb+cHoDiteQGbGoI8NLQsO5jVycXarciV9e/uAvbQbB46N9Pra3gTa0WuMsL X-Received: by 10.28.146.207 with SMTP id u198mr13801887wmd.36.1488808717575; Mon, 06 Mar 2017 05:58:37 -0800 (PST) Received: from paques.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id o52sm27184316wrb.51.2017.03.06.05.58.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Mar 2017 05:58:37 -0800 (PST) Date: Mon, 6 Mar 2017 14:58:28 +0100 From: Pascal Mazon To: "Wiles, Keith" Cc: "dev@dpdk.org" Message-ID: <20170306145828.624dcf4a@paques.dev.6wind.com> In-Reply-To: References: <0e99fe0868cca2bfbc03a7f99ca3dbfb9a9d42ea.1488534161.git.pascal.mazon@6wind.com> Organization: 6WIND X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 2/6] net/tap: add speed capabilities X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Mar 2017 13:58:38 -0000 On Fri, 3 Mar 2017 15:27:12 +0000 "Wiles, Keith" wrote: > > > On Mar 3, 2017, at 3:46 AM, Pascal Mazon > > wrote: > > > > Tap PMD is flexible, it supports any speed. > > > > Signed-off-by: Pascal Mazon > > --- > > doc/guides/nics/features/tap.ini | 1 + > > drivers/net/tap/rte_eth_tap.c | 35 > > +++++++++++++++++++++++++++++++++++ 2 files changed, 36 > > insertions(+) > > > > diff --git a/doc/guides/nics/features/tap.ini > > b/doc/guides/nics/features/tap.ini index d9b47a003654..dad5a0561087 > > 100644 --- a/doc/guides/nics/features/tap.ini > > +++ b/doc/guides/nics/features/tap.ini > > @@ -9,6 +9,7 @@ Jumbo frame = Y > > Promiscuous mode = Y > > Allmulticast mode = Y > > Basic stats = Y > > +Speed capabilities = Y > > Unicast MAC filter = Y > > Other kdrv = Y > > ARMv7 = Y > > diff --git a/drivers/net/tap/rte_eth_tap.c > > b/drivers/net/tap/rte_eth_tap.c index 994c8be701c8..6670dfbb35ce > > 100644 --- a/drivers/net/tap/rte_eth_tap.c > > +++ b/drivers/net/tap/rte_eth_tap.c > > @@ -351,6 +351,40 @@ tap_dev_configure(struct rte_eth_dev *dev > > __rte_unused) return 0; > > } > > > > +static uint32_t > > +tap_dev_speed_capa(void) > > +{ > > + uint32_t speed = pmd_link.link_speed; > > + uint32_t capa = 0; > > + > > + if (speed >= ETH_SPEED_NUM_10M) > > + capa |= ETH_LINK_SPEED_10M; > > + if (speed >= ETH_SPEED_NUM_100M) > > + capa |= ETH_LINK_SPEED_100M; > > + if (speed >= ETH_SPEED_NUM_1G) > > + capa |= ETH_LINK_SPEED_1G; > > + if (speed >= ETH_SPEED_NUM_5G) > > + capa |= ETH_LINK_SPEED_2_5G; > > + if (speed >= ETH_SPEED_NUM_5G) > > + capa |= ETH_LINK_SPEED_5G; > > + if (speed >= ETH_SPEED_NUM_10G) > > + capa |= ETH_LINK_SPEED_10G; > > + if (speed >= ETH_SPEED_NUM_20G) > > + capa |= ETH_LINK_SPEED_20G; > > + if (speed >= ETH_SPEED_NUM_25G) > > + capa |= ETH_LINK_SPEED_25G; > > + if (speed >= ETH_SPEED_NUM_40G) > > + capa |= ETH_LINK_SPEED_40G; > > + if (speed >= ETH_SPEED_NUM_50G) > > + capa |= ETH_LINK_SPEED_50G; > > + if (speed >= ETH_SPEED_NUM_56G) > > + capa |= ETH_LINK_SPEED_56G; > > + if (speed >= ETH_SPEED_NUM_100G) > > + capa |= ETH_LINK_SPEED_100G; > > In the real world the NIC may only support 50G an not say 10M, so in > that case this code would be wrong as it would set all of the speeds > up to 50G. I do not think the code should be changed, but I add a > comment to tell the developer the issue here. I do not want someone > copying the code and thinking is i correct for a real device. > That's true for actual hardware. But tap is completely virtual, so actually it could support any speed (it is limited by userland-kernel communication speed). What speed would you rather have the tap PMD report as capable of? Best regards, Pascal > > + > > + return capa; > > +} > > + > > static void > > tap_dev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info > > *dev_info) { > > @@ -363,6 +397,7 @@ tap_dev_info(struct rte_eth_dev *dev, struct > > rte_eth_dev_info *dev_info) dev_info->max_tx_queues = > > internals->nb_queues; dev_info->min_rx_bufsize = 0; > > dev_info->pci_dev = NULL; > > + dev_info->speed_capa = tap_dev_speed_capa(); > > } > > > > static void > > -- > > 2.8.0.rc0 > > > > Regards, > Keith >