[dpdk-dev,2/2] net/tap: remove minimum packet size in Rx

Message ID dd1f63d011a4639fd1478e69f3d58d9b620bb605.1490863952.git.pascal.mazon@6wind.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Pascal Mazon March 30, 2017, 8:52 a.m. UTC
  With support for segmented packets, it is now possible to easily receive
packets of many sizes, given an adequate number of descriptors.

Remove limitation on the minimum size of mbuf: on reception, if a packet
won't fit in the queue's mbufs, it will be detected in the packet info
and the packet will be discarded.

Fixes: 4a6bb33dc67c ("net/tap: support segmented mbufs")

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
---
 drivers/net/tap/rte_eth_tap.c | 13 -------------
 1 file changed, 13 deletions(-)
  

Comments

Wiles, Keith March 30, 2017, 1:06 p.m. UTC | #1
> On Mar 30, 2017, at 3:52 AM, Pascal Mazon <pascal.mazon@6wind.com> wrote:
> 
> With support for segmented packets, it is now possible to easily receive
> packets of many sizes, given an adequate number of descriptors.
> 
> Remove limitation on the minimum size of mbuf: on reception, if a packet
> won't fit in the queue's mbufs, it will be detected in the packet info
> and the packet will be discarded.
> 
> Fixes: 4a6bb33dc67c ("net/tap: support segmented mbufs")
> 
> Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>

Acked-by: Keith Wiles <keith.wiles@intel.com>
  

Patch

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 069200199573..eef6e6cc2828 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -875,7 +875,6 @@  tap_rx_queue_setup(struct rte_eth_dev *dev,
 	struct rte_mbuf **tmp = &rxq->pool;
 	struct iovec (*iovecs)[nb_rx_desc + 1];
 	int data_off = RTE_PKTMBUF_HEADROOM;
-	uint16_t buf_size;
 	int ret = 0;
 	int fd;
 	int i;
@@ -901,18 +900,6 @@  tap_rx_queue_setup(struct rte_eth_dev *dev,
 	}
 	rxq->iovecs = iovecs;
 
-	/* Now get the space available for data in the mbuf */
-	buf_size = (uint16_t)(rte_pktmbuf_data_room_size(mp) -
-				RTE_PKTMBUF_HEADROOM);
-
-	if (buf_size < ETH_FRAME_LEN) {
-		RTE_LOG(WARNING, PMD,
-			"%s: %d bytes will not fit in mbuf (%d bytes)\n",
-			dev->data->name, ETH_FRAME_LEN, buf_size);
-		ret = -ENOMEM;
-		goto error;
-	}
-
 	fd = rx_setup_queue(dev, internals, rx_queue_id);
 	if (fd == -1) {
 		ret = fd;