From: Igor Russkikh <Igor.Russkikh@aquantia.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Cc: Pavel Belous <Pavel.Belous@aquantia.com>,
Igor Russkikh <Igor.Russkikh@aquantia.com>,
"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
Pavel Belous <Pavel.Belous@aquantia.com>
Subject: [dpdk-dev] [PATCH v6 18/22] net/atlantic: implement MTU configuration
Date: Fri, 12 Oct 2018 11:09:45 +0000 [thread overview]
Message-ID: <3b960a834e8a1d9d61eeaec52c0bb36e2cbbec05.1539338074.git.igor.russkikh@aquantia.com> (raw)
In-Reply-To: <cover.1539338074.git.igor.russkikh@aquantia.com>
From: Pavel Belous <Pavel.Belous@aquantia.com>
Add support for updating MTU value.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: Pavel Belous <Pavel.Belous@aquantia.com>
---
doc/guides/nics/features/atlantic.ini | 1 +
drivers/net/atlantic/atl_ethdev.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/doc/guides/nics/features/atlantic.ini b/doc/guides/nics/features/atlantic.ini
index 1dd3ff87e512..dd44ed75aef4 100644
--- a/doc/guides/nics/features/atlantic.ini
+++ b/doc/guides/nics/features/atlantic.ini
@@ -8,6 +8,7 @@ Speed capabilities = Y
Link status = Y
Link status event = Y
Queue start/stop = Y
+MTU update = Y
Jumbo frame = Y
Promiscuous mode = Y
Allmulticast mode = Y
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index 6cee14b2dcba..db2d798f28aa 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -48,6 +48,8 @@ static void atl_dev_info_get(struct rte_eth_dev *dev,
static const uint32_t *atl_dev_supported_ptypes_get(struct rte_eth_dev *dev);
+static int atl_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
+
/* Flow control */
static int atl_flow_ctrl_get(struct rte_eth_dev *dev,
struct rte_eth_fc_conf *fc_conf);
@@ -219,6 +221,8 @@ static const struct eth_dev_ops atl_eth_dev_ops = {
.dev_infos_get = atl_dev_info_get,
.dev_supported_ptypes_get = atl_dev_supported_ptypes_get,
+ .mtu_set = atl_dev_mtu_set,
+
/* Queue Control */
.rx_queue_start = atl_rx_queue_start,
.rx_queue_stop = atl_rx_queue_stop,
@@ -1151,6 +1155,23 @@ atl_set_default_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr)
}
static int
+atl_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
+{
+ struct rte_eth_dev_info dev_info;
+ uint32_t frame_size = mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
+
+ atl_dev_info_get(dev, &dev_info);
+
+ if ((mtu < ETHER_MIN_MTU) || (frame_size > dev_info.max_rx_pktlen))
+ return -EINVAL;
+
+ /* update max frame size */
+ dev->data->dev_conf.rxmode.max_rx_pkt_len = frame_size;
+
+ return 0;
+}
+
+static int
atl_dev_set_mc_addr_list(struct rte_eth_dev *dev,
struct ether_addr *mc_addr_set,
uint32_t nb_mc_addr)
--
2.7.4
next prev parent reply other threads:[~2018-10-12 11:09 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-12 11:09 [dpdk-dev] [PATCH v6 00/22] net/atlantic: Aquantia aQtion 10G NIC Family DPDK PMD driver Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 01/22] net/atlantic: add atlantic PMD driver skeleton Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 02/22] net/atlantic: add logging structure Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 03/22] net/atlantic: add hardware registers access routines Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 04/22] net/atlantic: add hardware access layer Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 05/22] net/atlantic: implement firmware operations Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 06/22] net/atlantic: add b0 hardware layer Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 07/22] net/atlantic: configure rte device start/stop Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 08/22] net/atlantic: implement core logic for Tx/Rx Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 09/22] net/atlantic: implement Rx path Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 10/22] net/atlantic: implement Tx path Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 11/22] net/atlantic: add link status and interrupt management Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 12/22] net/atlantic: implement device statistics Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 13/22] net/atlantic: add Rx/Tx descriptors information Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 14/22] net/atlantic: implement promisc and allmulti modes Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 15/22] net/atlantic: implement RSS and RETA manipulation API Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 16/22] net/atlantic: add flow control configuration Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 17/22] net/atlantic: implement MAC address manipulations Igor Russkikh
2018-10-12 11:09 ` Igor Russkikh [this message]
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 19/22] net/atlantic: implement VLAN filters and offloads Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 20/22] net/atlantic: implement EEPROM get/set Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 21/22] net/atlantic: read MAC registers for debug purposes Igor Russkikh
2018-10-12 11:09 ` [dpdk-dev] [PATCH v6 22/22] net/atlantic: add release notes Igor Russkikh
2018-10-12 16:22 ` [dpdk-dev] [PATCH v6 00/22] net/atlantic: Aquantia aQtion 10G NIC Family DPDK PMD driver Ferruh Yigit
2018-10-12 17:28 ` Igor Russkikh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3b960a834e8a1d9d61eeaec52c0bb36e2cbbec05.1539338074.git.igor.russkikh@aquantia.com \
--to=igor.russkikh@aquantia.com \
--cc=Pavel.Belous@aquantia.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).