Regards _Sugesh
> -----Original Message----- > From: Kavanagh, Mark B > Sent: Tuesday, December 12, 2017 2:49 PM > To: Chandran, Sugesh <[email protected]>; [email protected]; > [email protected] > Cc: Stokes, Ian <[email protected]>; Loftus, Ciara > <[email protected]>; > [email protected] > Subject: RE: [ovs-dev][RFC PATCH V4 6/9] dp-packet: copy mbuf info for packet > copy > > >From: Kavanagh, Mark B > >Sent: Tuesday, December 12, 2017 1:18 PM > >To: Chandran, Sugesh <[email protected]>; [email protected]; > >[email protected] > >Cc: Stokes, Ian <[email protected]>; Loftus, Ciara > ><[email protected]>; [email protected] > >Subject: RE: [ovs-dev][RFC PATCH V4 6/9] dp-packet: copy mbuf info for > >packet copy > > > > > > > >>-----Original Message----- > >>From: Chandran, Sugesh > >>Sent: Friday, December 8, 2017 6:01 PM > >>To: Kavanagh, Mark B <[email protected]>; > [email protected]; > >>[email protected] > >>Cc: Stokes, Ian <[email protected]>; Loftus, Ciara > >><[email protected]>; [email protected] > >>Subject: RE: [ovs-dev][RFC PATCH V4 6/9] dp-packet: copy mbuf info for > >>packet copy > >> > >> > >> > >>Regards > >>_Sugesh > >> > >> > >>> -----Original Message----- > >>> From: Kavanagh, Mark B > >>> Sent: Friday, December 8, 2017 12:02 PM > >>> To: [email protected]; [email protected] > >>> Cc: Stokes, Ian <[email protected]>; Loftus, Ciara > >><[email protected]>; > >>> [email protected]; Chandran, Sugesh > >>> <[email protected]>; Kavanagh, Mark B > >>> <[email protected]> > >>> Subject: [ovs-dev][RFC PATCH V4 6/9] dp-packet: copy mbuf info for > >>> packet copy > >>> > >>> From: Michael Qiu <[email protected]> > >>> > >>> Currently, when doing packet copy, lots of DPDK mbuf's info will be > >>> missed, > >>like > >>> packet type, ol_flags, etc. > >>> Those information is very important for DPDK to do packets processing. > >>> > >>> Co-authored-by: Mark Kavanagh <[email protected]> > >>> [[email protected] rebased] > >>> > >>> Signed-off-by: Michael Qiu <[email protected]> > >>> Signed-off-by: Mark Kavanagh <[email protected]> > >>> --- > >>> lib/dp-packet.c | 3 +++ > >>> lib/netdev-dpdk.c | 4 ++++ > >>> 2 files changed, 7 insertions(+) > >>> > >>> diff --git a/lib/dp-packet.c b/lib/dp-packet.c index > >>> ad71486..d628037 > >100644 > >>> --- a/lib/dp-packet.c > >>> +++ b/lib/dp-packet.c > >>> @@ -178,6 +178,9 @@ dp_packet_clone_with_headroom(const struct > >>> dp_packet *buffer, size_t headroom) > >>> > >>> #ifdef DPDK_NETDEV > >>> new_buffer->mbuf.ol_flags = buffer->mbuf.ol_flags; > >>> + new_buffer->mbuf.tx_offload = buffer->mbuf.tx_offload; > >>> + new_buffer->mbuf.packet_type = buffer->mbuf.packet_type; > >>> + new_buffer->mbuf.nb_segs = buffer->mbuf.nb_segs; > >>[Sugesh] This function get lot many #if, #else with DPDK. It must need > >>a cleanup. > >>What do you think? > > > >During implementation, I had thought about separating out the code into > >two separate dp_packet_clone_headroom() functions: DPDK-based, and > >non-DPDK-based, within compiler guards. This would improve readability, > >but at the expense of repeated code; I'll do this in the next version, and > >see > how it is received. > > > >>Also will it would better if we keep all the mbuf field copy into a > >>different function, something like copy_dpdk_mbuf_flags(..)? > > > >Do you think that is still warranted if there are two separate > >dp_packet_clone_with_headroom() functions, as previously described? > > > > Edit: I'll add a function for this, since the same code is repeated in > dpdk_do_tx_copy(). [Sugesh] sure,thank you. > -Mark > > >Thanks, > >Mark > > > >> > >>> #else > >>> new_buffer->rss_hash_valid = buffer->rss_hash_valid; #endif > >>> diff -- > >git > >>> a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 4167497..8a81690 > >>> 100644 > >>> --- a/lib/netdev-dpdk.c > >>> +++ b/lib/netdev-dpdk.c > >>> @@ -1866,6 +1866,10 @@ dpdk_do_tx_copy(struct netdev *netdev, int > >>> qid, struct dp_packet_batch *batch) > >>> memcpy(rte_pktmbuf_mtod(pkts[txcnt], void *), > >>> dp_packet_data(packet), size); > >>> dp_packet_set_size((struct dp_packet *)pkts[txcnt], size); > >>> + pkts[txcnt]->nb_segs = packet->mbuf.nb_segs; > >>> + pkts[txcnt]->ol_flags = packet->mbuf.ol_flags; > >>> + pkts[txcnt]->packet_type = packet->mbuf.packet_type; > >>> + pkts[txcnt]->tx_offload = packet->mbuf.tx_offload; > >>> > >>> txcnt++; > >>> } > >>> -- > >>> 1.9.3 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
