X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_l2bd_arp_term.py;h=c64d5d4f01c57d70ae368eb1499a572cc26c07d1;hb=cbe25aab3be72154f2c706c39eeba6a77f34450f;hp=a3feb99a9c7333302945caae78aa343c3c72138c;hpb=90cf21b5d8fd2d3e531e841dcd752311df5f8a50;p=vpp.git diff --git a/test/test_l2bd_arp_term.py b/test/test_l2bd_arp_term.py index a3feb99a9c7..c64d5d4f01c 100644 --- a/test/test_l2bd_arp_term.py +++ b/test/test_l2bd_arp_term.py @@ -1,16 +1,15 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ L2BD ARP term Test """ import unittest import random import copy -from socket import AF_INET, AF_INET6 +from socket import AF_INET, AF_INET6, inet_pton, inet_ntop from scapy.packet import Raw from scapy.layers.l2 import Ether, ARP from scapy.layers.inet import IP -from scapy.utils import inet_pton, inet_ntop from scapy.utils6 import in6_getnsma, in6_getnsmac, in6_ptop, in6_islladdr, \ in6_mactoifaceid, in6_ismaddr from scapy.layers.inet6 import IPv6, UDP, ICMPv6ND_NS, ICMPv6ND_RS, \ @@ -70,13 +69,19 @@ class TestL2bdArpTerm(VppTestCase): def show_commands_at_teardown(self): self.logger.info(self.vapi.ppcli("show l2fib verbose")) - self.logger.info(self.vapi.ppcli("show bridge-domain 1 detail")) + # many tests delete bridge-domain 1 as the last task. don't output + # the details of a non-existent bridge-domain. + if self.vapi.l2_fib_table_dump(bd_id=1): + self.logger.info(self.vapi.ppcli("show bridge-domain 1 detail")) def add_del_arp_term_hosts(self, entries, bd_id=1, is_add=1, is_ipv6=0): for e in entries: ip = e.ip4 if is_ipv6 == 0 else e.ip6 - self.vapi.bd_ip_mac_add_del(bd_id=bd_id, is_add=is_add, ip=ip, - mac=e.mac) + self.vapi.bd_ip_mac_add_del(is_add=is_add, + entry={ + 'bd_id': bd_id, + 'ip': ip, + 'mac': e.mac}) @classmethod def mac_list(cls, b6_range): @@ -386,7 +391,7 @@ class TestL2bdArpTerm(VppTestCase): def test_l2bd_arp_term_09(self): """ L2BD arp term - send garps, verify arp event reports """ - self.vapi.want_ip4_arp_events() + self.vapi.want_l2_arp_term_events(enable=1) self.bd_add_del(1, is_add=1) self.set_bd_flags(1, arp_term=True, flood=False, uu_flood=False, learn=False) @@ -398,7 +403,7 @@ class TestL2bdArpTerm(VppTestCase): self.pg_enable_capture(self.pg_interfaces) self.pg_start() - evs = [self.vapi.wait_for_event(1, "ip4_arp_event") + evs = [self.vapi.wait_for_event(1, "l2_arp_term_event") for i in range(len(hosts))] ev_hosts = self.arp_event_hosts(evs) self.assertEqual(len(ev_hosts ^ hosts), 0) @@ -416,7 +421,7 @@ class TestL2bdArpTerm(VppTestCase): self.pg_enable_capture(self.pg_interfaces) self.pg_start() - evs = [self.vapi.wait_for_event(1, "ip4_arp_event") + evs = [self.vapi.wait_for_event(1, "l2_arp_term_event") for i in range(len(hosts))] ev_hosts = self.arp_event_hosts(evs) self.assertEqual(len(ev_hosts ^ hosts), 0) @@ -424,7 +429,7 @@ class TestL2bdArpTerm(VppTestCase): def test_l2bd_arp_term_11(self): """ L2BD arp term - disable ip4 arp events,send garps, verify no events """ - self.vapi.want_ip4_arp_events(enable_disable=0) + self.vapi.want_l2_arp_term_events(enable=0) macs = self.mac_list(range(90, 95)) hosts = self.ip4_hosts(5, 1, macs) @@ -440,7 +445,7 @@ class TestL2bdArpTerm(VppTestCase): def test_l2bd_arp_term_12(self): """ L2BD ND term - send NS packets verify reports """ - self.vapi.want_ip6_nd_events(ip="::") + self.vapi.want_l2_arp_term_events(enable=1) dst_host = self.ip6_host(50, 50, "00:00:11:22:33:44") self.bd_add_del(1, is_add=1) self.set_bd_flags(1, arp_term=True, flood=False, @@ -452,7 +457,7 @@ class TestL2bdArpTerm(VppTestCase): self.pg_enable_capture(self.pg_interfaces) self.pg_start() - evs = [self.vapi.wait_for_event(2, "ip6_nd_event") + evs = [self.vapi.wait_for_event(2, "l2_arp_term_event") for i in range(len(hosts))] ev_hosts = self.nd_event_hosts(evs) self.assertEqual(len(ev_hosts ^ hosts), 0) @@ -461,14 +466,14 @@ class TestL2bdArpTerm(VppTestCase): """ L2BD ND term - send duplicate ns, verify suppression """ dst_host = self.ip6_host(50, 50, "00:00:11:22:33:44") - macs = self.mac_list(range(10, 11)) + macs = self.mac_list(range(16, 17)) hosts = self.ip6_hosts(5, 1, macs) reqs = self.ns_reqs_dst(hosts, dst_host) * 5 self.bd_swifs(1)[0].add_stream(reqs) self.pg_enable_capture(self.pg_interfaces) self.pg_start() - evs = [self.vapi.wait_for_event(2, "ip6_nd_event") + evs = [self.vapi.wait_for_event(2, "l2_arp_term_event") for i in range(len(hosts))] ev_hosts = self.nd_event_hosts(evs) self.assertEqual(len(ev_hosts ^ hosts), 0) @@ -476,7 +481,7 @@ class TestL2bdArpTerm(VppTestCase): def test_l2bd_arp_term_14(self): """ L2BD ND term - disable ip4 arp events,send ns, verify no events """ - self.vapi.want_ip6_nd_events(enable_disable=0, ip="::") + self.vapi.want_l2_arp_term_events(enable=0) dst_host = self.ip6_host(50, 50, "00:00:11:22:33:44") macs = self.mac_list(range(10, 15)) hosts = self.ip6_hosts(5, 1, macs)