From patchwork Wed Aug 21 02:16:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Myers, Charles" X-Patchwork-Id: 57771 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 [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D21CE1BEBF; Wed, 21 Aug 2019 04:17:01 +0200 (CEST) Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700111.outbound.protection.outlook.com [40.107.70.111]) by dpdk.org (Postfix) with ESMTP id CFB4B1BEA6 for ; Wed, 21 Aug 2019 04:16:59 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wmllhm4fZdkFzHQ5+doqYxTmUMgS/jtN/y9Wyr3Kii7Rjtqipxr2RWTZztDXaa6ofbpJDzSGs2Oyez+9G7pUcUuEmxFViPY6q2NxuH8j6LvBDhZJ4kmqHSIqnlZ3d9Yu05xDBJc+TkNXGZyhlQ+MtJuN4PXvGYQOjfvbtY3mfVykySDWioYj21v4/3epuqXr8fBhaNsuXnLPSGBwsjQOc6h07+1Om9TfRAH6Nyex4ZgO/SfXBpVT66FnodsMN7vP2QELROhT+dcQwJsWrZmVckt3rund+AdTqF2SSn+snCQ5oo3Uf79R4kNep1JRjb2bj8/sBRodxrlBTMdezePBMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h+tNyiD0XDAFbMhlYUkQoMsGdpRcoIwMYHQ5TqQ8EJk=; b=CD5c65M0pmQUFcfaQd+8/R9UP659izt9fV8l/nXYF37W29PJhi3ANVSDv5X3HHtMg/uzDHtlS7X7n7FczLbRDE7w5+pEI5yQdSdyZYuwDQtaJcsAs2EHWHSFPJXkmC3IWCy5WpJi1RU2HSTvyQau+5sVaP0UrSWQhs07LfPEdeQ2l2D1bApVxYTT6zL4rN6K2o7WEioMLHv3BU4waw2p5pZ5a3HdLLPN2+J+Lf997pmKmppOlXB6fztJNH0Oiw+xmrXMMJALsdF3OowreV1IUcWDiSHfEzA/PUJ+MqS4rNuVX77lZvDJe6WZSzrPa5563XlQMU1aZrjhu4oTOLnoIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=spirent.com; dmarc=pass action=none header.from=spirent.com; dkim=pass header.d=spirent.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spirent1.onmicrosoft.com; s=selector2-spirent1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h+tNyiD0XDAFbMhlYUkQoMsGdpRcoIwMYHQ5TqQ8EJk=; b=Rqzzwa2OO0DHKcSNHTIsvYguhuBhlwfj7l3GjUDR3W4b1iQnUn5nRksn2RUrWOhOFp0iRHMYN8dBjTwjtNuJGDSbXJv4JSoWezOlVDU3qbvT7yDENFsGwkjYVhcBuU8jf2mBGFgkfYzV0q0XrlFH/3AV7MHTeZavcoKKwZ5VStw= Received: from BYAPR10MB2664.namprd10.prod.outlook.com (52.135.217.27) by BYAPR10MB3400.namprd10.prod.outlook.com (20.179.158.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.19; Wed, 21 Aug 2019 02:16:58 +0000 Received: from BYAPR10MB2664.namprd10.prod.outlook.com ([fe80::60f5:7961:f02e:6ff1]) by BYAPR10MB2664.namprd10.prod.outlook.com ([fe80::60f5:7961:f02e:6ff1%7]) with mapi id 15.20.2178.018; Wed, 21 Aug 2019 02:16:58 +0000 From: "Myers, Charles" To: Yong Wang CC: "dev@dpdk.org" , Stephen Hemminger , "Myers, Charles" Thread-Topic: [PATCH v3] net/vmxnet3: Added mtu_set() function to allow setting MTU. Thread-Index: AQHVV8aCAK2On2B0W0eAFi6EixMfcw== Date: Wed, 21 Aug 2019 02:16:58 +0000 Message-ID: <1566353778-14774-1-git-send-email-charles.myers@spirent.com> References: <1566017542-26938-1-git-send-email-Charles.Myers@spirent.com> In-Reply-To: <1566017542-26938-1-git-send-email-Charles.Myers@spirent.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [74.87.49.203] x-clientproxiedby: BYAPR07CA0061.namprd07.prod.outlook.com (2603:10b6:a03:60::38) To BYAPR10MB2664.namprd10.prod.outlook.com (2603:10b6:a02:b2::27) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Charles.Myers@spirent.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dcbc0d85-690d-4ac2-73b0-08d725dda4d4 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BYAPR10MB3400; x-ms-traffictypediagnostic: BYAPR10MB3400: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0136C1DDA4 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(39860400002)(376002)(346002)(136003)(396003)(189003)(199004)(6116002)(305945005)(2616005)(25786009)(76176011)(8676002)(7736002)(446003)(11346002)(6486002)(52116002)(64756008)(66556008)(86362001)(5660300002)(66476007)(66446008)(66946007)(6436002)(6506007)(81156014)(81166006)(6916009)(386003)(99286004)(107886003)(26005)(71200400001)(71190400001)(102836004)(6512007)(186003)(50226002)(4326008)(53936002)(54906003)(476003)(256004)(14454004)(478600001)(3846002)(8936002)(2906002)(486006)(316002)(66066001)(36756003); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR10MB3400; H:BYAPR10MB2664.namprd10.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: spirent.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: Lbtu/kDowMHwFvd4RZiNz2KqWbiUT8jpTgz69ewXTU0NXJ6CMJ/jRqdulHjX1/cQ8AoMOy/MScy3wK3p5IARV101mj0Jutr/ZMdEgBvGoTG2xxWR/aQEABg486r/97aju4zVBkVSQzFgOgktDmoUVG5wTMcqJ65kw5Mduoe5VHtB4zXva8G4Mv00oGXScvxwZQbwr2nUXn/hTf5i0wo1fYNXWA7hDijdDfkNnqmHeDNGZOnaw9T5A+s/PUtTBxwESwKUAA/FTheORzGc6oA9EQ9TkIoMb4bXRCpwqZpiLVn/8T3wOfMgx/fQKpIt+oD6oy4wtOjPSCPasc+HSn71tUzO7+6caG/pT+LiEOI5ZbH5q50fPbe8ofjAnQpGR66YxbfefGCodOASBB9w14rbJRbdR+RM7UJaV1K8ic2Fc08= MIME-Version: 1.0 X-OriginatorOrg: spirent.com X-MS-Exchange-CrossTenant-Network-Message-Id: dcbc0d85-690d-4ac2-73b0-08d725dda4d4 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2019 02:16:58.2979 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: eb68cad0-6bd5-483f-a802-0f72f974373f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2BH660w/NRncdoJzK6hHeIeZI08hAwETpI6mNwoxyzd3Dt9pmUtadsCkPfrCxYJfWEi/UPzBnKKxOKptD9m7MiernCauCyy/Ws7YHuE1OjE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB3400 Subject: [dpdk-dev] [PATCH v3] net/vmxnet3: Added mtu_set() function to allow setting MTU. 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" From: Charles Myers When the mtu_set() function is not implemented, rte_eth_dev_set_mtu() fails with -ENOTSUP and mtu is not stored in the mtu field in the rte_eth_dev_data. This causes the mtu in Vmxnet3_MiscConf which is shared with hypervisor to always be set to 1500. This may cause issues receiving jumbo frames on Enhanced Data Path N-VDS. Signed-off-by: Charles Myers Reviewed-by: Ferruh Yigit --- Removed redundant MTU check in vmxnet3_dev_mtu_set() which should already be done in rte_eth_dev_set_mtu(). drivers/net/vmxnet3/vmxnet3_ethdev.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c index 57feb37..c12d70b 100644 --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c @@ -88,6 +88,7 @@ static void vmxnet3_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info); static const uint32_t * vmxnet3_dev_supported_ptypes_get(struct rte_eth_dev *dev); +static int vmxnet3_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu); static int vmxnet3_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vid, int on); static int vmxnet3_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask); @@ -125,6 +126,7 @@ static const struct eth_dev_ops vmxnet3_eth_dev_ops = { .mac_addr_set = vmxnet3_mac_addr_set, .dev_infos_get = vmxnet3_dev_info_get, .dev_supported_ptypes_get = vmxnet3_dev_supported_ptypes_get, + .mtu_set = vmxnet3_dev_mtu_set, .vlan_filter_set = vmxnet3_dev_vlan_filter_set, .vlan_offload_set = vmxnet3_dev_vlan_offload_set, .rx_queue_setup = vmxnet3_dev_rx_queue_setup, @@ -1161,6 +1163,8 @@ vmxnet3_dev_info_get(struct rte_eth_dev *dev __rte_unused, dev_info->max_tx_queues = VMXNET3_MAX_TX_QUEUES; dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM; dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS register */ + dev_info->min_mtu = VMXNET3_MIN_MTU; + dev_info->max_mtu = VMXNET3_MAX_MTU; dev_info->speed_capa = ETH_LINK_SPEED_10G; dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS; @@ -1205,6 +1209,18 @@ vmxnet3_dev_supported_ptypes_get(struct rte_eth_dev *dev) } static int +vmxnet3_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) +{ + if (dev->data->dev_started) { + PMD_DRV_LOG(ERR, "Port %d must be stopped to configure MTU", + dev->data->port_id); + return -EBUSY; + } + + return 0; +} + +static int vmxnet3_mac_addr_set(struct rte_eth_dev *dev, struct rte_ether_addr *mac_addr) { struct vmxnet3_hw *hw = dev->data->dev_private;