BFD: add get echo source API (VPP-1367)

Change-Id: I45f540128e038ddb17ba96ce30965e8f7c732067
Signed-off-by: Matus Fabian <matfabia@cisco.com>
This commit is contained in:
Matus Fabian
2018-10-02 03:22:18 -07:00
committed by Damjan Marion
parent a9a0b2ce2d
commit 2d3c7b9c45
4 changed files with 135 additions and 1 deletions

View File

@ -252,6 +252,51 @@ class BFDAPITestCase(VppTestCase):
session.add_vpp_config()
session.activate_auth(key2)
def test_set_del_udp_echo_source(self):
""" set/del udp echo source """
self.create_loopback_interfaces(1)
self.loopback0 = self.lo_interfaces[0]
self.loopback0.admin_up()
echo_source = self.vapi.bfd_udp_get_echo_source()
self.assertFalse(echo_source.is_set)
self.assertFalse(echo_source.have_usable_ip4)
self.assertFalse(echo_source.have_usable_ip6)
self.vapi.bfd_udp_set_echo_source(self.loopback0.sw_if_index)
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_ip4)
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_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.assertTrue(echo_source.have_usable_ip4)
self.assertEqual(echo_source.ip4_addr, echo_ip4)
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_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.assertTrue(echo_source.have_usable_ip4)
self.assertEqual(echo_source.ip4_addr, echo_ip4)
self.assertTrue(echo_source.have_usable_ip6)
self.assertEqual(echo_source.ip6_addr, echo_ip6)
self.vapi.bfd_udp_del_echo_source()
echo_source = self.vapi.bfd_udp_get_echo_source()
self.assertFalse(echo_source.is_set)
self.assertFalse(echo_source.have_usable_ip4)
self.assertFalse(echo_source.have_usable_ip6)
@unittest.skipUnless(running_extended_tests(), "part of extended tests")
class BFDTestSession(object):