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 EF4AA3772 for ; Fri, 30 Jun 2017 11:09:53 +0200 (CEST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jun 2017 02:09:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,285,1496127600"; d="scan'208";a="119309959" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga005.jf.intel.com with ESMTP; 30 Jun 2017 02:09:52 -0700 Received: from fmsmsx155.amr.corp.intel.com (10.18.116.71) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 30 Jun 2017 02:09:52 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX155.amr.corp.intel.com (10.18.116.71) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 30 Jun 2017 02:09:52 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.116]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.56]) with mapi id 14.03.0319.002; Fri, 30 Jun 2017 17:09:48 +0800 From: "Wu, Jingjing" To: "Dai, Wei" , "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: AQHS8Om6t5BUqZAMhEeokMvY93r6tqI9Hx/Q Date: Fri, 30 Jun 2017 09:09:48 +0000 Message-ID: <9BB6961774997848B5B42BEC655768F810DB765C@SHSMSX103.ccr.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> In-Reply-To: <1498748282-69914-6-git-send-email-wei.dai@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] 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:09:54 -0000 > -----Original Message----- > From: Dai, Wei > Sent: Thursday, June 29, 2017 10:58 PM > To: thomas@monjalon.net; Lu, Wenzhuo ; Ananyev, Kon= stantin > ; 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 >=20 > 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". >=20 > 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(-) >=20 > 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_resu= lt, > 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"); >=20 > @@ -994,6 +996,8 @@ static void cmd_operate_specific_port_parsed(void *pa= rsed_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_p= ort_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_i= d", > + .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; >=20 > if (port_id_is_invalid(pid, ENABLED_WARN)) > @@ -1424,9 +1425,14 @@ start_port(portid_t pid) >=20 > 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. Thanks Jingjing