[ovs-discuss] Hackaton follow-up: DPI engine integration proposal

Justin Pettit jpettit at nicira.com
Thu Mar 27 16:30:38 UTC 2014


Thanks for the patch, Franck.  I had a look, and I noticed a few things:

	- It requires OVS to link against the library.  We don't want to link 
against third-party libraries, and I don't think this will work for most 
distributions anyway, unless you're planning to upstream a library to 
the various Linux distributions.

	- It requires that new flows continue to be sent to userspace.  This 
may have worked before megaflows (although the performance would be even 
worse, since we're delaying packet set up even longer), but it's 
something that we can't go back to now.  Performance is just too critical.

	- Based on this mechanism, when you've white-listed a flow, it will be 
based on at least a five-tuple, which means megaflows in the kernel will 
always include the L4 port.  This means when this is enabled, it will 
essentially bring the performance back to pre-megaflow levels.

Based on a prior conversation, I thought we were looking at integrating 
in the kernel.  That still seems like the best approach, since it would 
take care of these the above concerns.  I spoke with Jesse, and he 
thinks we could only supply the necessary hooks, though, if the DPI 
engine (or at least the pass-thru mechanism to the DPI engine in 
userspace) was upstreamed.  Have you looked into doing that?

--Justin


Franck BAUDIN wrote:
> Hi,
>
> Please find attached a patch proposal adding a DPI engine in
> openvswitch. The patch doesn’t include the DPI engine and has been
> tested with Qosmos ixEngine, but is not tight to Qosmos in any way: see
> lib/dpi.h and lib/dpi.c in the patch.
>
> This tiny patch demonstrates how to inject just enough packet in the DPI
> engine (as DPI processing can be CPU consuming), but is hooked on all
> new flow creation. But it would be better to inject only targeted
> packets in the DPI, by adding a new OpenFlow non terminal “dpi” output
> action. For instance:
>
> ovs-ofctl add-flow br0 in_port=1,action=dpi,resubmit(,1)
>
> To keep in mind for later discussions: how can we extend OpenFlow
> matcher with the DPI classification result? Via new OXM that we could
> call Application eXtensible Matchers (AXM)? For instance:
>
> ovs-ofctl add-flow br0 dpi_appid=0x1234/0xF000,action=resubmit(,2)
>
> Best Regards,
>
> Franck
>
> This message and any attachments (the "message") are confidential,
> intended solely for the addressees. If you are not the intended
> recipient, please notify the sender immediately by e-mail and delete
> this message from your system. In this case, you are not authorized to
> use, copy this message and/or disclose the content to any other person.
> E-mails are susceptible to alteration. Neither Qosmos nor any of its
> subsidiaries or affiliates shall be liable for the message if altered,
> changed or falsified.
>
> Ce message et toutes ses pièces jointes (ci-après le "message")sont
> confidentiels et établis à l'intention exclusive de ses destinataires.
> Si vous avez reçu ce message par erreur, merci d’en informer
> immédiatement son émetteur par courrier électronique et d’effacer ce
> message de votre système. Dans cette hypothèse, vous n’êtes pas autorisé
> à utiliser, copier ce message et/ou en divulguer le contenu à un tiers.
> Tout message électronique est susceptible d'altération. Qosmos et ses
> filiales déclinent toute responsabilité au titre de ce message s'il a
> été altéré, déformé ou falsifié.
>
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss



More information about the discuss mailing list