<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">So if I understand this correctly, in this case on another switch where I receive the bufferred packet I’ll have it’s actions in ctx set to "normal”, but won’t I still have the problem of sending the packets stored inside the buffered packet
 (once extracted)  to “normal”?</p>
<p class="MsoNormal"><span style="font-size:12.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:blp@ovn.org">Ben Pfaff</a><br>
<b>Sent: </b>Wednesday, June 17, 2020 23:54<br>
<b>To: </b><a href="mailto:luca.mancini@outlook.com">Luca Mancini</a><br>
<b>Cc: </b><a href="mailto:ovs-discuss@openvswitch.org">ovs-discuss@openvswitch.org</a><br>
<b>Subject: </b>Re: [ovs-discuss] Storing xlate_ctx CTX</p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When you need to send the buffered packet, translate it first with<br>
xlate_actions(), passing "normal" as the set of actions.<br>
<br>
On Wed, Jun 17, 2020 at 09:41:19PM +0000, Luca Mancini wrote:<br>
> 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?<br>
> <br>
> <br>
> From: Ben Pfaff<<a href="mailto:blp@ovn.org">mailto:blp@ovn.org</a>><br>
> Sent: Wednesday, June 17, 2020 23:17<br>
> To: Luca Mancini<<a href="mailto:luca.mancini@outlook.com">mailto:luca.mancini@outlook.com</a>><br>
> Cc: ovs-discuss@openvswitch.org<mailto:ovs-discuss@openvswitch.org><br>
> Subject: Re: [ovs-discuss] Storing xlate_ctx CTX<br>
> <br>
> Why not just translate the packets using an xlate_ctx and passing<br>
> "normal" as the set of actions?<br>
> <br>
> On Wed, Jun 17, 2020 at 08:57:07PM +0000, Luca Mancini wrote:<br>
> > It’s quite the pickle then.<br>
> > Basically it’s a new action I’m trying to implement for OVS , I’ve talked about it before here:
<a href="https://mail.openvswitch.org/pipermail/ovs-discuss/2020-June/050196.html">
https://mail.openvswitch.org/pipermail/ovs-discuss/2020-June/050196.html</a><br>
> > 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.<br>
> > 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.<br>
> ><br>
> ><br>
> > From: Ben Pfaff<<a href="mailto:blp@ovn.org">mailto:blp@ovn.org</a>><br>
> > Sent: Wednesday, June 17, 2020 22:45<br>
> > To: Luca Mancini<<a href="mailto:luca.mancini@outlook.com">mailto:luca.mancini@outlook.com</a>><br>
> > Cc: ovs-discuss@openvswitch.org<mailto:ovs-discuss@openvswitch.org><br>
> > Subject: Re: [ovs-discuss] Storing xlate_ctx CTX<br>
> ><br>
> > This is probably not a good solution to your problem.  I don't<br>
> > understand your overall problem, so I can't suggest a good solution.<br>
> ><br>
> > On Wed, Jun 17, 2020 at 08:08:40PM +0000, Luca Mancini wrote:<br>
> > > 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.<br>
> > ><br>
> > > Thanks!<br>
> > ><br>
> > ><br>
> > > From: Ben Pfaff<<a href="mailto:blp@ovn.org">mailto:blp@ovn.org</a>><br>
> > > Sent: Wednesday, June 17, 2020 21:50<br>
> > > To: Luca Mancini<<a href="mailto:luca.mancini@outlook.com">mailto:luca.mancini@outlook.com</a>><br>
> > > Cc: ovs-discuss@openvswitch.org<mailto:ovs-discuss@openvswitch.org><br>
> > > Subject: Re: [ovs-discuss] Storing xlate_ctx CTX<br>
> > ><br>
> > > On Wed, Jun 17, 2020 at 03:13:27PM +0000, Luca Mancini wrote:<br>
> > > > Are there ways in OVS store a struct xlate_ctx *ctx so that I can use<br>
> > > > it even after another packet is received by the switch?<br>
> > ><br>
> > > No.<br>
> > ><br>
> ><br>
> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>