From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 147B55699 for ; Fri, 30 Jun 2017 11:15:12 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jun 2017 02:15:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,285,1496127600"; d="scan'208";a="987143264" Received: from pgsmsx103.gar.corp.intel.com ([10.221.44.82]) by orsmga003.jf.intel.com with ESMTP; 30 Jun 2017 02:15:10 -0700 Received: from kmsmsx153.gar.corp.intel.com ([169.254.5.24]) by PGSMSX103.gar.corp.intel.com ([10.221.43.235]) with mapi id 14.03.0319.002; Fri, 30 Jun 2017 17:15:09 +0800 From: "Dai, Wei" To: "Wu, Jingjing" , "thomas@monjalon.net" , "Lu, Wenzhuo" , "Ananyev, Konstantin" , "Zhang, Helin" , "Peng, Yuan" CC: "dev@dpdk.org" Thread-Topic: [PATCH v4 5/5] app/testpmd: enhance command to test NIC reset Thread-Index: AQHS8Om6bsXdEMChK0qOEtxoYYgU+qI8mU8AgACG1UA= Date: Fri, 30 Jun 2017 09:15:09 +0000 Message-ID: <49759EB36A64CF4892C1AFEC9231E8D650B4C845@KMSMSX153.gar.corp.intel.com> References: <20170629083404.1271-1-wei.dai@intel.com> <1498748282-69914-1-git-send-email-wei.dai@intel.com> <1498748282-69914-6-git-send-email-wei.dai@intel.com> <9BB6961774997848B5B42BEC655768F810DB765C@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <9BB6961774997848B5B42BEC655768F810DB765C@SHSMSX103.ccr.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzdlMWZhNzgtNDk1Ni00NjYzLWE1OTYtYjYwNDRhMjhjNjJkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6ImVWTUpNdVl3bWdXWEpBV1o0Rkh3dDN6K3ljWmxSVTZFSGp4SVwvTk9lVkI4PSJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [172.30.20.205] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 5/5] app/testpmd: enhance command to test NIC reset 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: Fri, 30 Jun 2017 09:15:13 -0000 Adding PCI address info here is to let user confirm mapping between PCI add= ress and port id is kept after reset. As this is only for test purpose, are you OK for other part except these P= CI address printf ? > -----Original Message----- > From: Wu, Jingjing > Sent: Friday, June 30, 2017 5:10 PM > To: Dai, Wei ; thomas@monjalon.net; Lu, Wenzhuo > ; Ananyev, Konstantin > ; Zhang, Helin ; > Peng, Yuan > Cc: dev@dpdk.org > Subject: RE: [PATCH v4 5/5] app/testpmd: enhance command to test NIC rese= t >=20 >=20 >=20 > > -----Original Message----- > > From: Dai, Wei > > Sent: Thursday, June 29, 2017 10:58 PM > > To: thomas@monjalon.net; Lu, Wenzhuo ; Ananyev, > > Konstantin ; Zhang, Helin > > ; Wu, Jingjing ; > > yuan.pntel.com > > Cc: dev@dpdk.org; Dai, Wei > > Subject: [PATCH v4 5/5] app/testpmd: enhance command to test NIC reset > > > > When PF is reset, a message will show it and all its VF need to be > > reset. > > User can run the command "port reset port_id" > > to reset the VF port and to keep same port id without any > > configuration. Then user can run "port stop port_id" > > and "port start port_id" to reconfigure its forwarding mode and > > parmaters as previous ones. > > To avoid crash, current forwarding should be stopped before running > > "port reset port_id". > > > > Signed-off-by: Wei Dai > > --- > > app/test-pmd/cmdline.c | 10 ++++++--- app/test-pmd/testpmd.c | 61 > > +++++++++++++++++++++++++++++++++++++++++++++++--- > > app/test-pmd/testpmd.h | 1 + > > 3 files changed, 66 insertions(+), 6 deletions(-) > > > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > > ff8ffd2..58ba6e4 100644 > > --- a/app/test-pmd/cmdline.c > > +++ b/app/test-pmd/cmdline.c > > @@ -950,6 +950,8 @@ static void cmd_operate_port_parsed(void > *parsed_result, > > stop_port(RTE_PORT_ALL); > > else if (!strcmp(res->name, "close")) > > close_port(RTE_PORT_ALL); > > + else if (!strcmp(res->name, "reset")) > > + reset_port(RTE_PORT_ALL); > > else > > printf("Unknown parameter\n"); > > } > > @@ -959,7 +961,7 @@ cmdline_parse_token_string_t > cmd_operate_port_all_cmd =3D > > "port"); > > cmdline_parse_token_string_t cmd_operate_port_all_port =3D > > TOKEN_STRING_INITIALIZER(struct cmd_operate_port_result, name, > > - "start#stop#close"); > > + "start#stop#close#reset"); > > cmdline_parse_token_string_t cmd_operate_port_all_all =3D > > TOKEN_STRING_INITIALIZER(struct cmd_operate_port_result, value, > > "all"); > > > > @@ -994,6 +996,8 @@ static void cmd_operate_specific_port_parsed(void > *parsed_result, > > stop_port(res->value); > > else if (!strcmp(res->name, "close")) > > close_port(res->value); > > + else if (!strcmp(res->name, "reset")) > > + reset_port(res->value); > > else > > printf("Unknown parameter\n"); > > } > > @@ -1003,7 +1007,7 @@ cmdline_parse_token_string_t > cmd_operate_specific_port_cmd =3D > > keyword, "port"); > > cmdline_parse_token_string_t cmd_operate_specific_port_port =3D > > TOKEN_STRING_INITIALIZER(struct cmd_operate_specific_port_result, > > - name, "start#stop#close"); > > + name, "start#stop#close#reset"); > > cmdline_parse_token_num_t cmd_operate_specific_port_id =3D > > TOKEN_NUM_INITIALIZER(struct cmd_operate_specific_port_result, > > value, UINT8); > > @@ -1011,7 +1015,7 @@ cmdline_parse_token_num_t > > cmd_operate_specific_port_id =3D cmdline_parse_inst_t > cmd_operate_specific_port =3D { > > .f =3D cmd_operate_specific_port_parsed, > > .data =3D NULL, > > - .help_str =3D "port start|stop|close : Start/Stop/Close port= _id", > > + .help_str =3D "port start|stop|close|reset : > > +Start/Stop/Close/Reset port_id", > > .tokens =3D { > > (void *)&cmd_operate_specific_port_cmd, > > (void *)&cmd_operate_specific_port_port, > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index > > b29328a..7773879 100644 > > --- a/app/test-pmd/testpmd.c > > +++ b/app/test-pmd/testpmd.c > > @@ -1403,6 +1403,7 @@ start_port(portid_t pid) > > queueid_t qi; > > struct rte_port *port; > > struct ether_addr mac_addr; > > + struct rte_eth_dev_info dev_info; > > enum rte_eth_event_type event_type; > > > > if (port_id_is_invalid(pid, ENABLED_WARN)) @@ -1424,9 +1425,14 @@ > > start_port(portid_t pid) > > > > if (port->need_reconfig > 0) { > > port->need_reconfig =3D 0; > > - > > - printf("Configuring Port %d (socket %u)\n", pi, > > - port->socket_id); > > + rte_eth_dev_info_get(pi, &dev_info); > > + printf("Configuring Port %d (socket %u) with " > > + "PCI Address: " PCI_PRI_FMT "\n", > > + pi, port->socket_id, > > + dev_info.pci_dev->addr.domain, > > + dev_info.pci_dev->addr.bus, > > + dev_info.pci_dev->addr.devid, > > + dev_info.pci_dev->addr.function); > I'm OK with the command change, but could you remove the PCI print from > here. The same reason as your patch 4/5. >=20 > Thanks > Jingjing