Now; what if we are to encapsulate the packet within a tunnel; such as GRE, prior to sending it out to a mirrored-port ... Must the packet be copied into a new buffer or can we use a DPDK primitive that is more efficient?
Sami. > -----Original Message----- > From: Bruce Richardson [mailto:bruce.richardson at intel.com] > Sent: Friday, July 10, 2015 9:48 AM > To: Sanford, Robert > Cc: Matt Laswell; Wiles, Keith; dev at dpdk.org; Assaad, Sami (Sami) > Subject: Re: [dpdk-dev] DPDK Port Mirroring > On Fri, Jul 10, 2015 at 01:46:21PM +0000, Sanford, Robert wrote: > > Silly questions: Why use rte_pktmbuf_clone()? Assuming that one is not > > going to modify the mbuf at all, why not just increment the reference > > count with rte_mbuf_refcnt_update()? > > > Yep, that should work fine too. > > /Bruce > > -- > > Thanks, > > Robert > > > > > > >Keith speaks truth. If I were going to do what you're describing, I > > >would do the following: > > > > > >1. Start with the l2fwd example application. > > >2. Remove the part where it modifies the ethernet MAC address of > > >received packets. > > >3. Add a call in to clone mbufs via rte_pktmbuf_clone() and send the > > >cloned packets out of the port of your choice > > > > > >As long as you don't need to modify the packets - and if you're > > >mirroring, you shouldn't - simply cloning received packets and > > >sending them out your mirror port should get you most of the way there. > > > > > >On Thu, Jul 9, 2015 at 3:17 PM, Wiles, Keith <keith.wiles at intel.com> > > >wrote: > > > > > >> > > >> > > >> On 7/9/15, 12:26 PM, "dev on behalf of Assaad, Sami (Sami)" > > >> <dev-bounces at dpdk.org on behalf of sami.assaad at alcatel-lucent.com> > > >>wrote: > > >> > > >> >Hello, > > >> > > > >> >I want to build a DPDK app that is able to port-mirror all ingress > > >> >traffic from two 10G interfaces. > > >> > > > >> >1. Is it possible in port-mirroring traffic consisting of 450byte > > >> >packets at 20G without losing more than 5% of traffic? > > >> > > > >> >2. Would you have any performance results due to packet copying? > > >> > > >> Do you need to copy the packet if you increment the reference count > > >> you can send the packet to both ports without having to copy the packet. > > >> > > > >> >3. Would you have any port mirroring DPDK sample code? > > >> > > >> DPDK does not have port mirroring example, but you could grab the > > >>l2fwd or l3fwd and modify it to do what you want. > > >> > > > >> >Thanks in advance. > > >> > > > >> >Best Regards, > > >> >Sami Assaad. > > >> > > >> > >