All of lore.kernel.org
 help / color / mirror / Atom feed
From: <lironh@marvell.com>
To: <dev@dpdk.org>
Cc: <ferruh.yigit@intel.com>, <walan@marvell.com>,
	Liron Himi <lironh@marvell.com>
Subject: [PATCH] net/kni: calc mbuf&mtu according to given mb_pool
Date: Thu, 21 Feb 2019 10:47:35 +0200	[thread overview]
Message-ID: <1550738855-11107-1-git-send-email-lironh@marvell.com> (raw)

From: Liron Himi <lironh@marvell.com>

- mbuf_size and mtu are now being calculated according
to the given mb-pool.

- max_mtu is now being set according to the given mtu

the above two changes provide the ability to work with jumbo frames

Signed-off-by: Liron Himi <lironh@marvell.com>
---
 drivers/net/kni/rte_eth_kni.c | 10 +++++++---
 kernel/linux/kni/kni_misc.c   |  1 +
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
index a1e9970..5e02224 100644
--- a/drivers/net/kni/rte_eth_kni.c
+++ b/drivers/net/kni/rte_eth_kni.c
@@ -16,9 +16,11 @@
 /* Only single queue supported */
 #define KNI_MAX_QUEUE_PER_PORT 1
 
-#define MAX_PACKET_SZ 2048
 #define MAX_KNI_PORTS 8
 
+#define KNI_ETHER_MTU(mbuf_size)       \
+	((mbuf_size) - ETHER_HDR_LEN) /**< Ethernet MTU. */
+
 #define ETH_KNI_NO_REQUEST_THREAD_ARG	"no_request_thread"
 static const char * const valid_arguments[] = {
 	ETH_KNI_NO_REQUEST_THREAD_ARG,
@@ -123,11 +125,13 @@ eth_kni_start(struct rte_eth_dev *dev)
 	struct rte_kni_conf conf;
 	const char *name = dev->device->name + 4; /* remove net_ */
 
+	mb_pool = internals->rx_queues[0].mb_pool;
 	snprintf(conf.name, RTE_KNI_NAMESIZE, "%s", name);
 	conf.force_bind = 0;
 	conf.group_id = port_id;
-	conf.mbuf_size = MAX_PACKET_SZ;
-	mb_pool = internals->rx_queues[0].mb_pool;
+	conf.mbuf_size =
+		rte_pktmbuf_data_room_size(mb_pool) - RTE_PKTMBUF_HEADROOM;
+	conf.mtu = KNI_ETHER_MTU(conf.mbuf_size);
 
 	internals->kni = rte_kni_alloc(mb_pool, &conf, NULL);
 	if (internals->kni == NULL) {
diff --git a/kernel/linux/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c
index 522ae23..9dac16d 100644
--- a/kernel/linux/kni/kni_misc.c
+++ b/kernel/linux/kni/kni_misc.c
@@ -459,6 +459,7 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
 
 	if (dev_info.mtu)
 		net_dev->mtu = dev_info.mtu;
+	net_dev->max_mtu = net_dev->mtu;
 
 	ret = register_netdev(net_dev);
 	if (ret) {
-- 
2.7.4

             reply	other threads:[~2019-02-21  6:36 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-21  8:47 lironh [this message]
2019-02-23 20:14 ` [PATCH v2] net/kni: calc mbuf&mtu according to given mb_pool lironh
2019-02-25 11:29   ` Liron Himi
2019-03-10 14:27     ` Liron Himi
2019-03-13 16:57       ` Ferruh Yigit
2019-03-14  6:37         ` Liron Himi
2019-03-14  9:28           ` Ferruh Yigit
2019-03-15 17:02             ` Liron Himi
2019-03-15 17:59               ` Ferruh Yigit
2019-03-17  9:43                 ` Liron Himi
2019-03-20 19:48                   ` Ferruh Yigit
2019-03-22 18:12   ` [PATCH v3] " lironh
2019-03-23 21:48     ` Rami Rosen
2019-03-24 10:05       ` [EXT] " Liron Himi
2019-03-24 12:15     ` [PATCH v4] " lironh
2019-03-25 15:44       ` Ferruh Yigit
2019-03-25 20:48       ` [PATCH v5] " lironh
2019-03-25 21:11         ` Ferruh Yigit
2019-03-26 18:40         ` [PATCH v6] " lironh
2019-03-26 17:59           ` Ferruh Yigit
2019-03-30  0:00             ` Thomas Monjalon

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=1550738855-11107-1-git-send-email-lironh@marvell.com \
    --to=lironh@marvell.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=walan@marvell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.