[dpdk-dev,2/7] vmxnet3: remove mtu check

Message ID 1418793196-17953-3-git-send-email-stephen@networkplumber.org (mailing list archive)
State Changes Requested, archived
Headers

Commit Message

Stephen Hemminger Dec. 17, 2014, 5:13 a.m. UTC
  From: Stephen Hemminger <shemming@brocade.com>

Remove check for packets sending packets greater than MTU. No other driver does
this, it should be handled at higher layer.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |  2 --
 lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h |  1 -
 lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c   | 10 ----------
 3 files changed, 13 deletions(-)
  

Comments

Yong Wang Feb. 11, 2015, 12:54 a.m. UTC | #1
On 12/16/14, 9:13 PM, "Stephen Hemminger" <stephen@networkplumber.org>
wrote:

>From: Stephen Hemminger <shemming@brocade.com>
>
>Remove check for packets sending packets greater than MTU. No other
>driver does
>this, it should be handled at higher layer.
>
>Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>---
> lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c |  2 --
> lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h |  1 -
> lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c   | 10 ----------
> 3 files changed, 13 deletions(-)
>
>diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
>b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
>index 30d0659..4947c78 100644
>--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
>+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
>@@ -219,7 +219,6 @@ eth_vmxnet3_dev_init(__attribute__((unused)) struct
>eth_driver *eth_drv,
> 
> 	hw->num_rx_queues = 1;
> 	hw->num_tx_queues = 1;
>-	hw->cur_mtu = ETHER_MTU;
> 	hw->bufs_per_pkt = 1;
> 
> 	/* Check h/w version compatibility with driver. */
>@@ -394,7 +393,6 @@ vmxnet3_setup_driver_shared(struct rte_eth_dev *dev)
> 
> 	devRead->misc.queueDescPA  = hw->queueDescPA;
> 	devRead->misc.queueDescLen = hw->queue_desc_len;
>-	devRead->misc.mtu          = hw->cur_mtu;
> 	devRead->misc.numTxQueues  = hw->num_tx_queues;
> 	devRead->misc.numRxQueues  = hw->num_rx_queues;
> 
>diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
>b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
>index 2c180ad..258fbae 100644
>--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
>+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
>@@ -101,7 +101,6 @@ struct vmxnet3_hw {
> 	uint8_t num_tx_queues;
> 	uint8_t num_rx_queues;
> 	uint8_t bufs_per_pkt;
>-	uint16_t cur_mtu;
> 
> 	Vmxnet3_TxQueueDesc   *tqd_start;	/* start address of all tx queue desc
>*/
> 	Vmxnet3_RxQueueDesc   *rqd_start;	/* start address of all rx queue desc
>*/
>diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>index 9871f16..8e15784 100644
>--- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>+++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
>@@ -369,16 +369,6 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf
>**tx_pkts,
> 				continue;
> 			}
> 
>-			/* Needs to minus ether header len */
>-			if (txm->data_len > (hw->cur_mtu + ETHER_HDR_LEN)) {
>-				PMD_TX_LOG(DEBUG, "Packet data_len higher than MTU");
>-				rte_pktmbuf_free(tx_pkts[nb_tx]);
>-				txq->stats.drop_total++;
>-
>-				nb_tx++;
>-				continue;
>-			}
>-
> 			txd = (Vmxnet3_TxDesc *)(txq->cmd_ring.base +
>txq->cmd_ring.next2fill);
> 			if (rte_pktmbuf_pkt_len(txm) <= VMXNET3_HDR_COPY_SIZE) {
> 				struct Vmxnet3_TxDataDesc *tdd;
>-- 
>2.1.3
>

Acked-by: Yong Wang <yongwang@vmware.com>
  

Patch

diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
index 30d0659..4947c78 100644
--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c
@@ -219,7 +219,6 @@  eth_vmxnet3_dev_init(__attribute__((unused)) struct eth_driver *eth_drv,
 
 	hw->num_rx_queues = 1;
 	hw->num_tx_queues = 1;
-	hw->cur_mtu = ETHER_MTU;
 	hw->bufs_per_pkt = 1;
 
 	/* Check h/w version compatibility with driver. */
@@ -394,7 +393,6 @@  vmxnet3_setup_driver_shared(struct rte_eth_dev *dev)
 
 	devRead->misc.queueDescPA  = hw->queueDescPA;
 	devRead->misc.queueDescLen = hw->queue_desc_len;
-	devRead->misc.mtu          = hw->cur_mtu;
 	devRead->misc.numTxQueues  = hw->num_tx_queues;
 	devRead->misc.numRxQueues  = hw->num_rx_queues;
 
diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
index 2c180ad..258fbae 100644
--- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.h
@@ -101,7 +101,6 @@  struct vmxnet3_hw {
 	uint8_t num_tx_queues;
 	uint8_t num_rx_queues;
 	uint8_t bufs_per_pkt;
-	uint16_t cur_mtu;
 
 	Vmxnet3_TxQueueDesc   *tqd_start;	/* start address of all tx queue desc */
 	Vmxnet3_RxQueueDesc   *rqd_start;	/* start address of all rx queue desc */
diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
index 9871f16..8e15784 100644
--- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
@@ -369,16 +369,6 @@  vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 				continue;
 			}
 
-			/* Needs to minus ether header len */
-			if (txm->data_len > (hw->cur_mtu + ETHER_HDR_LEN)) {
-				PMD_TX_LOG(DEBUG, "Packet data_len higher than MTU");
-				rte_pktmbuf_free(tx_pkts[nb_tx]);
-				txq->stats.drop_total++;
-
-				nb_tx++;
-				continue;
-			}
-
 			txd = (Vmxnet3_TxDesc *)(txq->cmd_ring.base + txq->cmd_ring.next2fill);
 			if (rte_pktmbuf_pkt_len(txm) <= VMXNET3_HDR_COPY_SIZE) {
 				struct Vmxnet3_TxDataDesc *tdd;