On 2/8/21 12:01 PM, Numan Siddique wrote:
On Thu, Feb 4, 2021 at 6:55 PM Dumitru Ceara <[email protected]> wrote:

If the I-P engine aborts in the middle of a run, the 'flow_output' node
change handlers or run callback might not be called.

As a side effect this may cause that Logical_Flow IDL tracked changes
are not processed during the iteration.  As a consequence, if a
Logical_Flow was removed from the Southound DB, then its associated
cache entry (if any) will not be flushed.

This has two side effects:
1. Stale entries are kept in the cache until a full recompute or cache
    flush happens.
2. If a new Logical_Flow is added to the Southbound and it happens to
    have a UUID that matches one of a stale cache entry then
    ovn-controller will install incorrect openflows.

IDL tracked changes are cleared at every iteration of ovn-controller.
Skipping the ovsdb_idl_track_clear() call if the I-P engine aborted is
not a valid option for now because it might lead to some of the IDL
changes to be processed twice.

Instead, lflow_handle_cached_flows() is called now at every iteration
of ovn-controller making sure deleted flows are removed from the cache.

Also, rename the 'flush-lflow-cache' unixctl command to
'lflow-cache/flush' to better match the style of other command names.

Hi Dumitru,

Hi Numan,


The patch LGTM. 2 comments.

1. I think it's better to keep the command - flush-lflow-cache just so that
     we don't break any existing users. Lets say If CMS has scripted to
run this command
     once a while, then it will break after this patch.

     So I would suggest that to have both the commands which do the
same. We could add
     "deprecated" to the description of flush-lflow-cache when the user
runs - ovn-appctl -t ovn-controller list-commands.

Makes sense, I'll do that in v3.


2.  Can you please document the new command - lflow-cache/flush in
ovn-controller.8.xml.

Sure.

     My bad that I missed adding documentation to flush-lflow-cache.

No problem.


Thanks
Numan

Thanks,
Dumitru

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to