[ovs-discuss] Storing xlate_ctx CTX

Ben Pfaff blp at ovn.org
Wed Jun 17 21:54:27 UTC 2020


When you need to send the buffered packet, translate it first with
xlate_actions(), passing "normal" as the set of actions.

On Wed, Jun 17, 2020 at 09:41:19PM +0000, Luca Mancini wrote:
> Sorry, what do you mean exactly by “translate the packets using the xlate_ctx struct”? Do you mean passing "normal” to the set of actions before buffering the packet?
> 
> 
> From: Ben Pfaff<mailto:blp at ovn.org>
> Sent: Wednesday, June 17, 2020 23:17
> To: Luca Mancini<mailto:luca.mancini at outlook.com>
> Cc: ovs-discuss at openvswitch.org<mailto:ovs-discuss at openvswitch.org>
> Subject: Re: [ovs-discuss] Storing xlate_ctx CTX
> 
> Why not just translate the packets using an xlate_ctx and passing
> "normal" as the set of actions?
> 
> On Wed, Jun 17, 2020 at 08:57:07PM +0000, Luca Mancini wrote:
> > It’s quite the pickle then.
> > Basically it’s a new action I’m trying to implement for OVS , I’ve talked about it before here: https://mail.openvswitch.org/pipermail/ovs-discuss/2020-June/050196.html
> > I need a way to send the single packets to the appropriate ports, I was using ofproto_dpif_send_packet since I can store dp_packet pointers, however it doesn’t seem to work on non-physical ports (OFPP_NORMAL etc.) , and the only function I found that does is obviously the output function, so I’m attempting to hack my way through it to use it in my favor given that I can’t store the original ctx pointer.
> > The only temporary solution I have in place is iterating through the switch’s available ports and flooding the single packets, but this is very ugly let alone inefficient in bigger topologies.
> >
> >
> > From: Ben Pfaff<mailto:blp at ovn.org>
> > Sent: Wednesday, June 17, 2020 22:45
> > To: Luca Mancini<mailto:luca.mancini at outlook.com>
> > Cc: ovs-discuss at openvswitch.org<mailto:ovs-discuss at openvswitch.org>
> > Subject: Re: [ovs-discuss] Storing xlate_ctx CTX
> >
> > This is probably not a good solution to your problem.  I don't
> > understand your overall problem, so I can't suggest a good solution.
> >
> > On Wed, Jun 17, 2020 at 08:08:40PM +0000, Luca Mancini wrote:
> > > I thought so, what about hard coding a ctx struct, i need this particular struct since I'd like to send the single packets received by a switch (after storing them) to the NORMAL logical port, or even just resubmit them to the flow tables so they can match another flow, and all the functions that do these things necess struct xlate_ctx.
> > >
> > > Thanks!
> > >
> > >
> > > From: Ben Pfaff<mailto:blp at ovn.org>
> > > Sent: Wednesday, June 17, 2020 21:50
> > > To: Luca Mancini<mailto:luca.mancini at outlook.com>
> > > Cc: ovs-discuss at openvswitch.org<mailto:ovs-discuss at openvswitch.org>
> > > Subject: Re: [ovs-discuss] Storing xlate_ctx CTX
> > >
> > > On Wed, Jun 17, 2020 at 03:13:27PM +0000, Luca Mancini wrote:
> > > > Are there ways in OVS store a struct xlate_ctx *ctx so that I can use
> > > > it even after another packet is received by the switch?
> > >
> > > No.
> > >
> >
> 


More information about the discuss mailing list