| # Copyright (c) 2019. Vinci Consulting Corp. All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| import vpp_object |
| |
| |
| class VppLbVip(vpp_object.VppObject): |
| def __init__(self, test, pfx, sfx, port, protocol): |
| self._test = test |
| self.pfx = pfx |
| self.sfx = sfx |
| self.port = port |
| self.protocol = protocol |
| |
| def add_vpp_config(self): |
| self._test_vapi.lb_add_del_vip( |
| pfx=self.pfx, sfx=self.pfx, port=self.port, protocol=self.protocol |
| ) |
| |
| self._test.registry.register(self, self._test.logger) |
| |
| def remove_vpp_config(self): |
| self._test.vapi.lb_add_del_vip( |
| pfx=self.pfx, sfx=self.pfx, port=self.port, protocol=self.protocol, is_del=1 |
| ) |
| |
| def query_vpp_config(self): |
| details = self._test.vapi.lb_add_del_vip( |
| fx=self.pfx, sfx=self.pfx, port=self.port, protocol=self.protocol |
| ) |
| return True if self == details else False |
| |
| |
| class VppLbAs(vpp_object.VppObject): |
| def __init__(self, test, pfx, port, protocol, app_srv, is_del, is_flush): |
| self._test = test |
| # this is the vip |
| self.pfx = pfx |
| self.port = port |
| self.protocol = protocol |
| |
| self.app_srv = app_srv |
| self.is_del = is_del |
| self.is_flush = is_flush |
| |
| def add_vpp_config(self): |
| self._test_vapi.lb_add_del_as( |
| pfx=self.pfx, |
| port=self.port, |
| protocol=self.protocol, |
| app_srv=self.app_srv, |
| is_flush=self.is_flush, |
| ) |
| |
| self._test.registry.register(self, self._test.logger) |
| |
| def remove_vpp_config(self): |
| self._test.vapi.lb_add_del_as( |
| pfx=self.pfx, |
| port=self.port, |
| protocol=self.protocol, |
| app_srv=self.app_srv, |
| is_flush=self.is_flush, |
| is_del=1, |
| ) |
| |
| def query_vpp_config(self): |
| details = self._test.vapi.lb_as_dump( |
| pfx=self.pfx, port=self.port, protocol=self.protocol |
| ) |
| return True if self == details else False |