vr_details = self.query_vpp_config()
return (vr_details.runtime.master_down_int * 0.01)
-
-class VrrpCommonMixin:
def vrrp_adv_packet(self, prio=None, src_ip=None):
dst_ip = self._adv_dest_ip
if prio is None:
@unittest.skipUnless(running_extended_tests, "part of extended tests")
-class TestVRRP4(VrrpCommonMixin, VppTestCase):
+class TestVRRP4(VppTestCase):
""" IPv4 VRRP Test Case """
@classmethod
ip = rx_pkt[IP]
vrrp = rx_pkt[VRRPv3]
- pkt = self.vrrp_adv_packet(prio=prio)
+ pkt = vr.vrrp_adv_packet(prio=prio)
# Source MAC is virtual MAC, destination is multicast MAC
self.assertEqual(eth.src, vr.virtual_mac())
# send higher prio advertisements, should not receive any
src_ip = self.pg0.remote_ip4
- pkts = [self.vrrp_adv_packet(prio=prio+10, src_ip=src_ip)]
+ pkts = [vr.vrrp_adv_packet(prio=prio+10, src_ip=src_ip)]
while time.time() < end_time:
self.send_and_assert_no_replies(self.pg0, pkts, timeout=intvl_s)
self.logger.info(self.vapi.cli("show trace"))
# VR should start in backup state and still should not reply to ARP
# send a higher priority adv to make sure it does not become master
- adv = self.vrrp_adv_packet(prio=prio+10, src_ip=self.pg0.remote_ip4)
+ adv = vr.vrrp_adv_packet(prio=prio+10, src_ip=self.pg0.remote_ip4)
vr.start_stop(is_start=1)
self.send_and_assert_no_replies(self.pg0, [adv, arp_req], timeout=1)
# send lower prio advertisements until timer expires
src_ip = self.pg0.remote_ip4
- pkts = [self.vrrp_adv_packet(prio=prio-10, src_ip=src_ip)]
+ pkts = [vr.vrrp_adv_packet(prio=prio-10, src_ip=src_ip)]
while time.time() + intvl_s < end_time:
self.send_and_assert_no_replies(self.pg0, pkts, timeout=intvl_s)
self.logger.info(self.vapi.cli("show trace"))
vr.assert_state_equals(VRRP_VR_STATE_MASTER)
# Build advertisement packet and send it
- pkts = [self.vrrp_adv_packet(prio=255, src_ip=self.pg0.remote_ip4)]
+ pkts = [vr.vrrp_adv_packet(prio=255, src_ip=self.pg0.remote_ip4)]
self.pg_send(self.pg0, pkts)
# VR should be in backup state again
vr.start_stop(is_start=1)
vr.assert_state_equals(VRRP_VR_STATE_MASTER)
- adv_configured = self.vrrp_adv_packet(prio=prio)
- adv_adjusted = self.vrrp_adv_packet(prio=adjusted_prio)
+ adv_configured = vr.vrrp_adv_packet(prio=prio)
+ adv_adjusted = vr.vrrp_adv_packet(prio=adjusted_prio)
# tracked intf is up -> advertised priority == configured priority
self.pg0.enable_capture()
@unittest.skipUnless(running_extended_tests, "part of extended tests")
-class TestVRRP6(VrrpCommonMixin, VppTestCase):
+class TestVRRP6(VppTestCase):
""" IPv6 VRRP Test Case """
@classmethod
self.assertTrue(rx_pkt.haslayer(VRRPv3))
# generate a packet for this VR and compare it to the one received
- pkt = self.vrrp_adv_packet(prio=prio)
+ pkt = vr.vrrp_adv_packet(prio=prio)
self.assertTrue(rx_pkt.haslayer(Ether))
self.assertTrue(rx_pkt.haslayer(IPv6))
self.assertTrue(rx_pkt.haslayer(VRRPv3))
# send higher prio advertisements, should not see VPP send any
src_ip = self.pg0.remote_ip6_ll
num_advs = 5
- pkts = [self.vrrp_adv_packet(prio=prio+10, src_ip=src_ip)]
+ pkts = [vr.vrrp_adv_packet(prio=prio+10, src_ip=src_ip)]
self.logger.info(self.vapi.cli("show vlib graph"))
while time.time() < end_time:
self.send_and_assert_no_replies(self.pg0, pkts, timeout=intvl_s)
# VR should start in backup state and still should not reply to NDP
# send a higher priority adv to make sure it does not become master
- adv = self.vrrp_adv_packet(prio=prio+10, src_ip=self.pg0.remote_ip6)
+ adv = vr.vrrp_adv_packet(prio=prio+10, src_ip=self.pg0.remote_ip6)
pkts = [adv, ndp_req]
vr.start_stop(is_start=1)
self.send_and_assert_no_replies(self.pg0, pkts, timeout=intvl_s)
# send lower prio advertisements until timer expires
src_ip = self.pg0.remote_ip6
- pkts = [self.vrrp_adv_packet(prio=prio-10, src_ip=src_ip)]
+ pkts = [vr.vrrp_adv_packet(prio=prio-10, src_ip=src_ip)]
while (time.time() + intvl_s) < end_time:
self.send_and_assert_no_replies(self.pg0, pkts, timeout=intvl_s)
self.logger.info(self.vapi.cli("show trace"))
vr.assert_state_equals(VRRP_VR_STATE_MASTER)
# Build advertisement packet and send it
- pkts = [self.vrrp_adv_packet(prio=255, src_ip=self.pg0.remote_ip6)]
+ pkts = [vr.vrrp_adv_packet(prio=255, src_ip=self.pg0.remote_ip6)]
self.pg_send(self.pg0, pkts)
# VR should be in backup state again
vr.start_stop(is_start=1)
vr.assert_state_equals(VRRP_VR_STATE_MASTER)
- adv_configured = self.vrrp_adv_packet(prio=prio)
- adv_adjusted = self.vrrp_adv_packet(prio=adjusted_prio)
+ adv_configured = vr.vrrp_adv_packet(prio=prio)
+ adv_adjusted = vr.vrrp_adv_packet(prio=adjusted_prio)
# tracked intf is up -> advertised priority == configured priority
self.pg0.enable_capture()