From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb0-f193.google.com (mail-yb0-f193.google.com [209.85.213.193]) by dpdk.org (Postfix) with ESMTP id 85956A497 for ; Thu, 11 Jan 2018 20:12:57 +0100 (CET) Received: by mail-yb0-f193.google.com with SMTP id b39so1557579ybj.13 for ; Thu, 11 Jan 2018 11:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=a0WpaO3X2SBYx+0at/UOBgJZV/Rx94DQWtntZ/kIyd4=; b=gP3II7lN85mG22wSqZl7TgHQk+0uaNFj6PzVPpeZbbjTk3YLjvHsu3HRxBEgalhcvu CQk6/lkSohD0X4kW0YilYjyPPLSbnSXRq3jptECvzTSVYXXMS3P4fGtyWcXJHRn8S4Uz 14YirGVF0dMFOU3UWEctNKmkq/sbGRIAjVK4dszkBXPBtPUgJP4PcQPcsqBRiWkv459e 6R6elSGD7fO4iNt0PIrsSPSyNmk8i0d7LT91eK3Y+XhxO5am6ceFVsZ449Z+Fvnt8h+u P/VOh27dij0qv6jwNrPOc5+zfvSTYvtQ0UYb/yDiZw9Z8M4jq25hxSkeajJLp1MB5mrZ Heog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=a0WpaO3X2SBYx+0at/UOBgJZV/Rx94DQWtntZ/kIyd4=; b=PjAHeQfgcDVh0IZpski4+X3GRd6MUviblRJIIfCKMKsNu8pA0GPbs5cBlqej6ZmB/1 6V/MJ03IeaGM0W2l2LVzLxe2yCzDaIGUVJJ1IvUuOvqeF3XU996+LaVoyXdjZsoYE+Wf wx9tb93xARSU47Joow+vlZPvIn0mBH79X29n5Ec9ZWT8T5Hyl4U/iymjiPUyoh8f03Zm j/cWREBV6iQqd8ANzPbhuSYkrfI28YdqK9IKZVL/7idw/k3g0mE5qK0N/Eb5wCMOuGDQ NspRTeed/gK4CT8hVeCUb1jTy8FTN6oOxx9xlEUMojucOQfvFiXHXDO7FhqH4MoIaTjJ tR8g== X-Gm-Message-State: AKwxytdt/Dd4lWpo1kLRle7hzpFI3ezGl4BCkuWQ8dFBHVnhJtJwcjE2 cNZyB0vX+vNRTCAwJlfiiQRsentUd0k= X-Google-Smtp-Source: ACJfBovC88c0qnc8keCJBBjUFJ+wmwpD9dOmEHhWBxLHcQngIM/WxYqlV8rVvYVZSp32twDOqXDyyg== X-Received: by 10.37.84.84 with SMTP id i81mr843890ybb.31.1515697976692; Thu, 11 Jan 2018 11:12:56 -0800 (PST) Received: from d9-80.att.com ([12.221.73.152]) by smtp.gmail.com with ESMTPSA id e2sm8318169ywc.1.2018.01.11.11.12.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:12:56 -0800 (PST) From: Sharmila Podury To: declan.doherty@intel.com Cc: dev@dpdk.org, Sharmila Podury Date: Thu, 11 Jan 2018 11:12:44 -0800 Message-Id: <20180111191244.28520-1-sharmila.podury@gmail.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH] net/bonding: add ethdev ops function for MTU set 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: Thu, 11 Jan 2018 19:12:57 -0000 From: Sharmila Podury Set the MTU for bonding device by calling .mtu_set for all the slaves. Set the MTU only if all slaves support .mtu_set, and there is no error returned from any slave. Signed-off-by: Sharmila Podury Acked-by: Declan Doherty --- drivers/net/bonding/rte_eth_bond_pmd.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index fe2328954..183bdbafc 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2707,6 +2707,34 @@ bond_ethdev_rss_hash_conf_get(struct rte_eth_dev *dev, return 0; } +static int +bond_ethdev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) +{ + struct rte_eth_dev *slave_eth_dev; + struct bond_dev_private *internals = dev->data->dev_private; + int ret, i; + + rte_spinlock_lock(&internals->lock); + + for (i = 0; i < internals->slave_count; i++) { + slave_eth_dev = &rte_eth_devices[internals->slaves[i].port_id]; + if (*slave_eth_dev->dev_ops->mtu_set == NULL) { + rte_spinlock_unlock(&internals->lock); + return -ENOTSUP; + } + } + for (i = 0; i < internals->slave_count; i++) { + ret = rte_eth_dev_set_mtu(internals->slaves[i].port_id, mtu); + if (ret < 0) { + rte_spinlock_unlock(&internals->lock); + return ret; + } + } + + rte_spinlock_unlock(&internals->lock); + return 0; +} + const struct eth_dev_ops default_dev_ops = { .dev_start = bond_ethdev_start, .dev_stop = bond_ethdev_stop, @@ -2726,7 +2754,8 @@ const struct eth_dev_ops default_dev_ops = { .reta_update = bond_ethdev_rss_reta_update, .reta_query = bond_ethdev_rss_reta_query, .rss_hash_update = bond_ethdev_rss_hash_update, - .rss_hash_conf_get = bond_ethdev_rss_hash_conf_get + .rss_hash_conf_get = bond_ethdev_rss_hash_conf_get, + .mtu_set = bond_ethdev_mtu_set }; static int -- 2.11.0