Date
1 - 2 of 2
How to update an existing OpenFlow meter using REST config store or RPC APIs
Tim Upthegrove
Hello,
I eventually chased down a solution to my problem, and I wanted to mention it here for posterity. There is an optimization to use single layer serialization to improve performance for the external-facing OpenFlow plugin API, however when this is enabled, I believe that the OFPMC_MODIFY command will not be used to modify existing meters. When I turn off single layer serialization by setting use-single-layer-serialization=false in org.opendaylight.openflowplugin.cfg, I am able to modify existing meters.
The downside to this, as far as I can tell, is a risk of performance issues in the form of extra serialization/deserialization step for an intermediate format between the external API and the OpenFlow protocol. In our case, we have done some testing and we believe performance seems sufficient for our use case.
Thanks,
Tim
On Wed, Sep 2, 2020 at 9:51 AM Tim Upthegrove <tim.upthegrove@...> wrote:
Hello,Apologies if this question is too specific for the general discuss list... please let me know if there is a more appropriate list for my question.I am working with the OpenFlow plugin's RESTCONF and RPC APIs. I am trying to figure out how to update an existing meter on a switch, but I haven't found the right incantation yet to make this work. So far, I have tried the following:* HTTP PUT to the config store endpoint where I just successfully added a meter.* HTTP POST to call the update-meter RPC methodIn both cases, the OpenFlow plugin ultimately sends an OpenFlow message down to the switch, and that results in an error. I am seeing the ofp_meter_mod command on the wire use the OFPMC_ADD command, which is resulting in a OFPMMFC_METER_EXISTS error.--After doing some research, I am assuming that using the config store API may not work due to similar issues described at https://docs.opendaylight.org/projects/openflowplugin/en/latest/specs/group-add-mod.html, but I cannot explain why my calls to the RPC update-meter call are not working. At this point, my best guesses are either user error or the code isn't intended to support updating existing meters right now.Should one of these calls allow me to update an existing meter? If so, can someone point me to an example of how to properly do this?Thanks,Tim Upthegrove
--
Tim Upthegrove
Tim Upthegrove
Hello,
Apologies if this question is too specific for the general discuss list... please let me know if there is a more appropriate list for my question.
I am working with the OpenFlow plugin's RESTCONF and RPC APIs. I am trying to figure out how to update an existing meter on a switch, but I haven't found the right incantation yet to make this work. So far, I have tried the following:
* HTTP PUT to the config store endpoint where I just successfully added a meter.
* HTTP POST to call the update-meter RPC method
In both cases, the OpenFlow plugin ultimately sends an OpenFlow message down to the switch, and that results in an error. I am seeing the ofp_meter_mod command on the wire use the OFPMC_ADD command, which is resulting in a OFPMMFC_METER_EXISTS error.
-- After doing some research, I am assuming that using the config store API may not work due to similar issues described at https://docs.opendaylight.org/projects/openflowplugin/en/latest/specs/group-add-mod.html, but I cannot explain why my calls to the RPC update-meter call are not working. At this point, my best guesses are either user error or the code isn't intended to support updating existing meters right now.
Should one of these calls allow me to update an existing meter? If so, can someone point me to an example of how to properly do this?
Thanks,
Tim Upthegrove