From patchwork Thu Apr 20 15:14:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Iremonger, Bernard" X-Patchwork-Id: 23791 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id A38022BA4; Thu, 20 Apr 2017 17:14:45 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id E39552904 for ; Thu, 20 Apr 2017 17:14:43 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Apr 2017 08:14:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos; i="5.37,225,1488873600"; d="scan'208"; a="1121776522" Received: from sivswdev01.ir.intel.com (HELO localhost.localdomain) ([10.237.217.45]) by orsmga001.jf.intel.com with ESMTP; 20 Apr 2017 08:14:21 -0700 From: Bernard Iremonger To: dev@dpdk.org, beilei.xing@intel.com, qi.zhang@intel.com Cc: Bernard Iremonger Date: Thu, 20 Apr 2017 16:14:18 +0100 Message-Id: <1492701258-7968-1-git-send-email-bernard.iremonger@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH] app/testpmd: check port is stopped for QinQ setup 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Check port is stopped before configuring it for QinQ, with the "vlan set qinq on " command. Signed-off-by: Bernard Iremonger Acked-by: Beilei Xing --- app/test-pmd/cmdline.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index f6bd75b78..a96b8b67c 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -1,7 +1,7 @@ /*- * BSD LICENSE * - * Copyright(c) 2010-2016 Intel Corporation. All rights reserved. + * Copyright(c) 2010-2017 Intel Corporation. All rights reserved. * Copyright(c) 2014 6WIND S.A. * All rights reserved. * @@ -3036,6 +3036,7 @@ cmd_vlan_offload_parsed(void *parsed_result, int i, len = 0; portid_t port_id = 0; unsigned int tmp; + struct rte_port *port; str = res->port_id; len = strnlen(str, STR_TOKEN_SIZE); @@ -3053,6 +3054,7 @@ cmd_vlan_offload_parsed(void *parsed_result, if(tmp >= RTE_MAX_ETHPORTS) return; port_id = (portid_t)tmp; + port = &ports[port_id]; if (!strcmp(res->on, "on")) on = 1; @@ -3079,9 +3081,13 @@ cmd_vlan_offload_parsed(void *parsed_result, } else if (!strcmp(res->what, "filter")) rx_vlan_filter_set(port_id, on); - else + else { + if (port->port_status != RTE_PORT_STOPPED) { + printf("Please stop port %d first\n", port_id); + return; + } vlan_extend_set(port_id, on); - + } return; }