MCPcopy Create free account
hub / github.com/FDio/vpp / test_echo_stop

Method test_echo_stop

test/test_bfd.py:1781–1815  ·  view source on GitHub ↗

echo function stops if peer sets required min echo rx zero

(self)

Source from the content-addressed store, hash-verified

1779 self.assertTrue(verified_diag, "Incorrect diagnostics code received")
1780
1781 def test_echo_stop(self):
1782 """echo function stops if peer sets required min echo rx zero"""
1783
1784 if self.multihop:
1785 self.skipTest(
1786 f"Skipping because echo functionality is not supported with multihop"
1787 )
1788
1789 bfd_session_up(self)
1790 self.test_session.update(required_min_echo_rx=150000)
1791 self.test_session.send_packet()
1792 self.vapi.bfd_udp_set_echo_source(sw_if_index=self.loopback0.sw_if_index)
1793 # wait for first echo packet
1794 while True:
1795 p = self.pg0.wait_for_packet(1)
1796 self.logger.debug(ppp("Got packet:", p))
1797 if p[UDP].dport == BFD.udp_dport_echo:
1798 self.logger.debug(ppp("Looping back packet:", p))
1799 p[Ether].dst = self.pg0.local_mac
1800 self.pg0.add_stream(p)
1801 self.pg_start()
1802 break
1803 elif p.haslayer(BFD):
1804 # ignore BFD
1805 pass
1806 else:
1807 raise Exception(ppp("Received unknown packet:", p))
1808 self.test_session.update(required_min_echo_rx=0)
1809 self.test_session.send_packet()
1810 # echo packets shouldn't arrive anymore
1811 for dummy in range(5):
1812 wait_for_bfd_packet(self, pcap_time_min=time.time() - self.vpp_clock_offset)
1813 self.test_session.send_packet()
1814 events = self.vapi.collect_events()
1815 self.assert_equal(len(events), 0, "number of bfd events")
1816
1817 def test_echo_source_removed(self):
1818 """echo function stops if echo source is removed"""

Callers

nothing calls this directly

Calls 10

pppFunction · 0.90
bfd_session_upFunction · 0.85
wait_for_bfd_packetFunction · 0.85
pg_startMethod · 0.80
collect_eventsMethod · 0.80
updateMethod · 0.45
send_packetMethod · 0.45
wait_for_packetMethod · 0.45
add_streamMethod · 0.45
assert_equalMethod · 0.45

Tested by

no test coverage detected