<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Ben,</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Thanks for the response.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I expect the Learning event to come to the controller when a "learn" happens. In this case(as in tutorial), when a learn event happens, a new mac entry is added to table 10. Controller just needs to know that a learn event happened on this {port, Mac, Vlan}. This information is sufficiently populated in new flow information being added to table "10". So, I am leaning towards using a flow-monitoring on the table to see when an entry is added or removed to rely on MAC entry got added or removed to the switching pipeline.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">"learn" action has options like "limit" which limits number of entries added to a table, "send_flow_rem" which tells the controller when a flow is removed, etc. All these flags are applied on top of the flows that are added. I was hoping to see an option like "send_flow_add" which tells the controller when a flow is added. Maybe this could be an enhancement to "learn" action. What do you think?</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Thanks</div><div class="gmail_default" style="font-family:verdana,sans-serif">-Vasu</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><p style="margin:0px;font-family:Papyrus"><span style="letter-spacing:0px"><b><font size="2">Vasu Dasari</font></b></span></p></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 8, 2020 at 11:29 PM Ben Pfaff <<a href="mailto:blp@ovn.org">blp@ovn.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On Sun, Dec 06, 2020 at 08:22:43AM -0500, Vasu Dasari wrote:<br>
> Hi,<br>
> <br>
> I have a use case similar to that presented at Open vSwitch Advanced<br>
> Features <<a href="https://docs.openvswitch.org/en/latest/tutorials/ovs-advanced/" rel="noreferrer" target="_blank">https://docs.openvswitch.org/en/latest/tutorials/ovs-advanced/</a>><br>
> <br>
> Specifically, looking at the flow defined in "Implementing Table 2:<br>
> MAC+VLAN Learning for Ingress Port"<br>
> <br>
> ovs-ofctl add-flow br0 \<br>
>     "table=2 actions=learn(table=10, NXM_OF_VLAN_TCI[0..11], \<br>
>                            NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], \<br>
>                            load:NXM_OF_IN_PORT[]->NXM_NX_REG0[0..15]), \<br>
>                      resubmit(,3)"<br>
> <br>
> <br>
> This above rule adds/modifies a new flow(MAC learning entry) into table 10.<br>
> My application requires that the controller should be notified of new MAC<br>
> entry when it is being learnt. In summary when a new flow is added to table<br>
> 10, (not modified) the controller should be notified of the event.<br>
> <br>
> Can someone please help me how to achieve this?<br>
<br>
Usually this would be done by sending the packet to the controller with<br>
a controller action.<br>
</blockquote></div>