From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f176.google.com (mail-wr0-f176.google.com [209.85.128.176]) by dpdk.org (Postfix) with ESMTP id E7681F94 for ; Tue, 19 Sep 2017 14:45:40 +0200 (CEST) Received: by mail-wr0-f176.google.com with SMTP id 108so2984160wra.5 for ; Tue, 19 Sep 2017 05:45:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=5m96OEPPLiEopRhiqdWPtrRgn2+kEmUaCnB8NQ7SReI=; b=mU5CKnY42AesMSbsfEHtHIRL4BjJ2O9X9xe2txfByve+0TWk1nf4OcgGdakPeuvytF 3uPuk4xHzl2bkX/dH67dNj/1eHroBJeMkixnLbJ3ScceMloZxYgDHJqhfF8CgblFjxXW C/mPELc5pJbmf9I4wfVhsezYZXA/1aZJ1f40QwT/zMV1Asj2DK0j4NQgn/oF8PnEgNjC 51M2BYJL37Ih1CNJKrbNR6ZznLMhjtJuJPWWFXoIV4JFhATRtdWUy2DiD7fpX2nA6bQb V0mCqtdZBlY3Mx2UcKyOaTc7A7ytRTGDgRw3C5vcXaW/JG7R5nbVtzT1Aicn47nwToXl rfug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=5m96OEPPLiEopRhiqdWPtrRgn2+kEmUaCnB8NQ7SReI=; b=Hd1lw2QJnwpSgi9GTJflXpnu0oB8kB7rlvtOqUCJGN5e3Sh6QvFM3tMllGMJ1Ys/vT /f1I7taesR352/7ExUF0wFW/dJJ4vAk1oMA1S522LL4h5e1HAZdi8GJLGOeZNRxI539M vf5ijOQYlcowX72TM+iNrgeWltlsm8PZhO34AbEr7QUTo4EHDzDd6ImkbE83lZBV5M0s 6JA9iQuBbVqw3e1qo4Ll6LXaxYghH3Qu9cZSNmEoTLr9uPdNi4vMpS50kBXjQegRvLB4 mR606mxqqFa7zLQjL9NqYVE+9FSRC78usKT36nxXg7k7qtCCW7iJizMGUthOyoj7/gJc P/fw== X-Gm-Message-State: AHPjjUj70secU0rMsDU2WwfompdKtwbt0q88P8ppCdJaSBzomsNAXsme PdGpzShzMQAt70/DE4jfJWKW5A== X-Google-Smtp-Source: AOwi7QD3izNsMZbd+2i5zgHZk6gLZCblAUP89zX1Uexc6MHN92yhqDersqqwSXcL3t7kEjQsyvQNbQ== X-Received: by 10.223.136.204 with SMTP id g12mr1406717wrg.74.1505825140383; Tue, 19 Sep 2017 05:45:40 -0700 (PDT) Received: from [192.168.1.79] (82.107.69.91.rev.sfr.net. [91.69.107.82]) by smtp.gmail.com with ESMTPSA id d17sm9228711wrc.13.2017.09.19.05.45.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Sep 2017 05:45:39 -0700 (PDT) To: Ferruh Yigit Cc: dev@dpdk.org, Keith Wiles , Vipin Varghese , stable@dpdk.org References: <20170918184735.43968-1-ferruh.yigit@intel.com> From: Pascal Mazon Message-ID: <8cf71f00-ca73-86b4-b6dd-fa24aac3167f@6wind.com> Date: Tue, 19 Sep 2017 14:45:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170918184735.43968-1-ferruh.yigit@intel.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH 1/2] net/tap: fix setting speed by argument 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: Tue, 19 Sep 2017 12:45:41 -0000 Hi, The patch looks mainly ok to me. I'll put some comments inline. On 18/09/2017 20:47, Ferruh Yigit wrote: > From: Vipin Varghese > > tap speed argument is not working without generating any error. Can you describe the error, paste the log? > > This patch sets the configured speed during device start. > > Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD") > Cc: stable@dpdk.org > > Signed-off-by: Vipin Varghese > --- > drivers/net/tap/rte_eth_tap.c | 27 +++++++++++++++++++++++++++ > drivers/net/tap/rte_eth_tap.h | 2 ++ > 2 files changed, 29 insertions(+) > > diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c > index 01cba0fa1..00dad167f 100644 > --- a/drivers/net/tap/rte_eth_tap.c > +++ b/drivers/net/tap/rte_eth_tap.c > @@ -545,6 +545,7 @@ tap_ioctl(struct pmd_internals *pmd, unsigned long request, > case SIOCGIFHWADDR: > case SIOCSIFHWADDR: > case SIOCSIFMTU: > + case SIOCETHTOOL: > break; > default: > RTE_ASSERT(!"unsupported request type: must not happen"); > @@ -585,6 +586,32 @@ static int > tap_dev_start(struct rte_eth_dev *dev) > { > int err; > + struct ifreq ifr; > + struct ethtool_cmd edata = {0}; > + struct pmd_internals *pmd = dev->data->dev_private; > + > + /*set & get speed to device*/ > + edata.speed = pmd_link.link_speed; > + edata.cmd = ETHTOOL_SSET; > + ifr.ifr_data = (caddr_t)&edata; > + if (tap_ioctl(pmd, SIOCETHTOOL, &ifr, 0, LOCAL_ONLY) < 0) { I think it would be best to also try setting the speed on the remote (tap_ioctl(REMOTE_ONLY)), but continue execution even if that fails. > + RTE_LOG(WARNING, PMD, > + "Could not set param speed %d for ifindex for %s.\n", > + pmd_link.link_speed, > + pmd->name); > + > + /* fetch current speed of created device */ > + edata.cmd = ETHTOOL_GSET; > + ifr.ifr_data = (caddr_t)&edata; > + if (tap_ioctl(pmd, SIOCETHTOOL, &ifr, 0, LOCAL_ONLY) < 0) > + return 0; > + > + pmd_link.link_speed = edata.speed; > + RTE_LOG(INFO, PMD, "get speed %d for ifindex for %s.\n", I would say "got". > + pmd_link.link_speed, > + pmd->name); > + } > + dev->data->dev_link = pmd_link; > > err = tap_intr_handle_set(dev, 1); > if (err) > diff --git a/drivers/net/tap/rte_eth_tap.h b/drivers/net/tap/rte_eth_tap.h > index 928a0454e..3e91db4ae 100644 > --- a/drivers/net/tap/rte_eth_tap.h > +++ b/drivers/net/tap/rte_eth_tap.h > @@ -40,6 +40,8 @@ > #include > > #include > +#include > +#include > > #include > #include These includes are only useful inside rte_eth_tap.c, I would put them there only.