tree bf14a7050038ac8466378334ee1a84de0fded9b4
parent 253461fdac252f1e0939d67dc1083e6b66906c5f
author khenaidoo <knursimu@ciena.com> 1527885691 -0400
committer khenaidoo Nursimulu <knursimu@ciena.com> 1528118788 +0000

[VOL-909] Add support to add and remove individual flows in voltha
core.

This update implements the logic in the voltha core to populate
only newly added flows or newly deleted flows to the adapters.  In
order for adapters to take advantage of that capability, the adapter
needs to set the accepts_add_remove_flow_updates flag to True when
registering their supported device types and also implements the
remove_from_flow_table() and add_to_flow_table() methods. Example
of these can be found in the ponsim adapter.  The above methods in
the ponsim adapters (one and olt) are not fully implemented as that
would require a change in the actual ponsim devices (a Jira will be
raised to follow-up this work).  Also, since these methods are not
implemented in the ponsim adapters then the accepts_add_remove_flow_updates
flag is set to False for now (the code was tested locally by setting that
flag to True and ensure the implemented logic works).

Additional work will eventually be required to optimized the flow decomposer
logic to decompose only newly added or deleted flows.  This work will
be performed as part of the voltha 2.0 effort.

 Please enter the commit message for your changes. Lines starting

Change-Id: I567771610f65aa0dde30eee9013c11218d1b9158
