from framework import VppTestCase
from util import ppp
+from vpp_ip_route import VppIpRoute, VppRoutePath
+from vpp_ip import INVALID_INDEX
""" TestLB is a subclass of VPPTestCase classes.
i.disable_ipv6_ra()
i.resolve_arp()
i.resolve_ndp()
- dst4 = socket.inet_pton(socket.AF_INET, "10.0.0.0")
- dst6 = socket.inet_pton(socket.AF_INET6, "2002::")
- cls.vapi.ip_add_del_route(dst_address=dst4, dst_address_length=24,
- next_hop_address=cls.pg1.remote_ip4n)
- cls.vapi.ip_add_del_route(dst_address=dst6, dst_address_length=16,
- next_hop_address=cls.pg1.remote_ip6n,
- is_ipv6=1)
+
+ dst4 = VppIpRoute(cls, "10.0.0.0", 24,
+ [VppRoutePath(cls.pg1.remote_ip4,
+ INVALID_INDEX)],
+ register=False)
+ dst4.add_vpp_config()
+ dst6 = VppIpRoute(cls, "2002::", 16,
+ [VppRoutePath(cls.pg1.remote_ip6,
+ INVALID_INDEX)],
+ register=False)
+ dst6.add_vpp_config()
cls.vapi.lb_conf(ip4_src_address="39.40.41.42",
ip6_src_address="2004::1")
except Exception:
def tearDown(self):
super(TestLB, self).tearDown()
- if not self.vpp_dead:
- self.logger.info(self.vapi.cli("show lb vip verbose"))
+
+ def show_commands_at_teardown(self):
+ self.logger.info(self.vapi.cli("show lb vip verbose"))
def getIPv4Flow(self, id):
return (IP(dst="90.0.%u.%u" % (id / 255, id % 255),
# This is just to roughly check that the balancing algorithm
# is not completely biased.
for asid in self.ass:
- if load[asid] < len(self.packets) / (len(self.ass) * 2):
+ if load[asid] < int(len(self.packets) / (len(self.ass) * 2)):
self.logger.error(
"ASS is not balanced: load[%d] = %d" % (asid, load[asid]))
raise Exception("Load Balancer algorithm is biased")