import binascii
import hashlib
+import ipaddress
import time
import unittest
from random import randint, shuffle, getrandbits
self.assertFalse(echo_source.have_usable_ip6)
self.loopback0.config_ip4()
- unpacked = unpack("!L", self.loopback0.local_ip4n)
- echo_ip4 = pack("!L", unpacked[0] ^ 1)
+ echo_ip4 = ipaddress.IPv4Address(int(ipaddress.IPv4Address(
+ self.loopback0.local_ip4)) ^ 1).packed
echo_source = self.vapi.bfd_udp_get_echo_source()
self.assertTrue(echo_source.is_set)
self.assertEqual(echo_source.sw_if_index, self.loopback0.sw_if_index)
self.assertFalse(echo_source.have_usable_ip6)
self.loopback0.config_ip6()
- unpacked = unpack("!LLLL", self.loopback0.local_ip6n)
- echo_ip6 = pack("!LLLL", unpacked[0], unpacked[1], unpacked[2],
- unpacked[3] ^ 1)
+ echo_ip6 = ipaddress.IPv6Address(int(ipaddress.IPv6Address(
+ self.loopback0.local_ip6)) ^ 1).packed
+
echo_source = self.vapi.bfd_udp_get_echo_source()
self.assertTrue(echo_source.is_set)
self.assertEqual(echo_source.sw_if_index, self.loopback0.sw_if_index)
vpp_session = None
test_session = None
+ @classmethod
+ def force_solo(cls):
+ return True
+
@classmethod
def setUpClass(cls):
super(BFD4TestCase, cls).setUpClass()
self.assert_equal(udp_sport_tx, udp_sport_rx, "UDP source port (== "
"ECHO packet identifier for test purposes)")
- @unittest.skip("Test fails sporadically, BFD rework required to fix it")
def test_echo(self):
""" echo function """
bfd_session_up(self)
self.test_session.send_packet()
self.assertTrue(echo_seen, "No echo packets received")
- @unittest.skip("Test fails sporadically, BFD rework required to fix it")
def test_echo_fail(self):
""" session goes down if echo function fails """
bfd_session_up(self)
vpp_session = None
test_session = None
+ @classmethod
+ def force_solo(cls):
+ return True
+
@classmethod
def setUpClass(cls):
super(BFD6TestCase, cls).setUpClass()
vpp_session = None
test_session = None
+ @classmethod
+ def force_solo(cls):
+ return True
+
@classmethod
def setUpClass(cls):
super(BFDFIBTestCase, cls).setUpClass()
vpp_session = None
test_session = None
+ @classmethod
+ def force_solo(cls):
+ return True
+
@classmethod
def setUpClass(cls):
super(BFDSHA1TestCase, cls).setUpClass()
vpp_session = None
test_session = None
+ @classmethod
+ def force_solo(cls):
+ return True
+
@classmethod
def setUpClass(cls):
super(BFDAuthOnOffTestCase, cls).setUpClass()
"""Bidirectional Forwarding Detection (BFD) (CLI) """
pg0 = None
+ @classmethod
+ def force_solo(cls):
+ return True
+
@classmethod
def setUpClass(cls):
super(BFDCLITestCase, cls).setUpClass()
"IPv6 address usable as echo source: none" %
self.loopback0.name)
self.loopback0.config_ip4()
- unpacked = unpack("!L", self.loopback0.local_ip4n)
- echo_ip4 = inet_ntop(AF_INET, pack("!L", unpacked[0] ^ 1))
+ echo_ip4 = str(ipaddress.IPv4Address(int(ipaddress.IPv4Address(
+ self.loopback0.local_ip4)) ^ 1))
self.cli_verify_response("show bfd echo-source",
"UDP echo source is: %s\n"
"IPv4 address usable as echo source: %s\n"
"IPv6 address usable as echo source: none" %
(self.loopback0.name, echo_ip4))
- unpacked = unpack("!LLLL", self.loopback0.local_ip6n)
- echo_ip6 = inet_ntop(AF_INET6, pack("!LLLL", unpacked[0], unpacked[1],
- unpacked[2], unpacked[3] ^ 1))
+ echo_ip6 = str(ipaddress.IPv6Address(int(ipaddress.IPv6Address(
+ self.loopback0.local_ip6)) ^ 1))
self.loopback0.config_ip6()
self.cli_verify_response("show bfd echo-source",
"UDP echo source is: %s\n"