[dpdk-dev] DPDK Port Mirroring

Assaad, Sami (Sami) sami.assaad at alcatel-lucent.com
Fri Jul 10 16:21:08 CEST 2015


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.
> > >>
> > >>
> > 


More information about the dev mailing list