Message ID | 1421298930-15210-23-git-send-email-changchun.ouyang@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Thu, 15 Jan 2015 13:15:30 +0800 Ouyang Changchun <changchun.ouyang@intel.com> wrote: > To keep the consistent logic with normal Rx path, the mergeable > Rx path also needs software vlan strip/decap if it is enabled. > > Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com> > --- > lib/librte_pmd_virtio/virtio_rxtx.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c b/lib/librte_pmd_virtio/virtio_rxtx.c > index 2529dc4..9090613 100644 > --- a/lib/librte_pmd_virtio/virtio_rxtx.c > +++ b/lib/librte_pmd_virtio/virtio_rxtx.c > @@ -568,6 +568,7 @@ virtio_recv_mergeable_pkts(void *rx_queue, > uint16_t nb_pkts) > { > struct virtqueue *rxvq = rx_queue; > + struct virtio_hw *hw = rxvq->hw; > struct rte_mbuf *rxm, *new_mbuf; > uint16_t nb_used, num, nb_rx = 0; > uint32_t len[VIRTIO_MBUF_BURST_SZ]; > @@ -674,6 +675,9 @@ virtio_recv_mergeable_pkts(void *rx_queue, > seg_res -= rcv_cnt; > } > > + if (hw->vlan_strip) > + rte_vlan_strip(rx_pkts[nb_rx]); > + > VIRTIO_DUMP_PACKET(rx_pkts[nb_rx], > rx_pkts[nb_rx]->data_len); > If you resubmit, just combine this with earlier patch that does vlan strip
> -----Original Message----- > From: Stephen Hemminger [mailto:stephen@networkplumber.org] > Sent: Friday, January 16, 2015 12:56 AM > To: Ouyang, Changchun > Cc: dev@dpdk.org; Doherty, Declan; Cao, Waterman > Subject: Re: [PATCH 22/22] virtio: Use soft vlan strip in mergeable Rx path > > On Thu, 15 Jan 2015 13:15:30 +0800 > Ouyang Changchun <changchun.ouyang@intel.com> wrote: > > > To keep the consistent logic with normal Rx path, the mergeable Rx > > path also needs software vlan strip/decap if it is enabled. > > > > Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com> > > --- > > lib/librte_pmd_virtio/virtio_rxtx.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c > > b/lib/librte_pmd_virtio/virtio_rxtx.c > > index 2529dc4..9090613 100644 > > --- a/lib/librte_pmd_virtio/virtio_rxtx.c > > +++ b/lib/librte_pmd_virtio/virtio_rxtx.c > > @@ -568,6 +568,7 @@ virtio_recv_mergeable_pkts(void *rx_queue, > > uint16_t nb_pkts) > > { > > struct virtqueue *rxvq = rx_queue; > > + struct virtio_hw *hw = rxvq->hw; > > struct rte_mbuf *rxm, *new_mbuf; > > uint16_t nb_used, num, nb_rx = 0; > > uint32_t len[VIRTIO_MBUF_BURST_SZ]; > > @@ -674,6 +675,9 @@ virtio_recv_mergeable_pkts(void *rx_queue, > > seg_res -= rcv_cnt; > > } > > > > + if (hw->vlan_strip) > > + rte_vlan_strip(rx_pkts[nb_rx]); > > + > > VIRTIO_DUMP_PACKET(rx_pkts[nb_rx], > > rx_pkts[nb_rx]->data_len); > > > > If you resubmit, just combine this with earlier patch that does vlan strip I think just keeping it as a separate a patch may be a good way. Thanks Changchun
diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c b/lib/librte_pmd_virtio/virtio_rxtx.c index 2529dc4..9090613 100644 --- a/lib/librte_pmd_virtio/virtio_rxtx.c +++ b/lib/librte_pmd_virtio/virtio_rxtx.c @@ -568,6 +568,7 @@ virtio_recv_mergeable_pkts(void *rx_queue, uint16_t nb_pkts) { struct virtqueue *rxvq = rx_queue; + struct virtio_hw *hw = rxvq->hw; struct rte_mbuf *rxm, *new_mbuf; uint16_t nb_used, num, nb_rx = 0; uint32_t len[VIRTIO_MBUF_BURST_SZ]; @@ -674,6 +675,9 @@ virtio_recv_mergeable_pkts(void *rx_queue, seg_res -= rcv_cnt; } + if (hw->vlan_strip) + rte_vlan_strip(rx_pkts[nb_rx]); + VIRTIO_DUMP_PACKET(rx_pkts[nb_rx], rx_pkts[nb_rx]->data_len);
To keep the consistent logic with normal Rx path, the mergeable Rx path also needs software vlan strip/decap if it is enabled. Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com> --- lib/librte_pmd_virtio/virtio_rxtx.c | 4 ++++ 1 file changed, 4 insertions(+)