VppIpInterfaceAddress, VppIpInterfaceBind, find_route
from vpp_l2 import VppBridgeDomain, VppBridgeDomainPort, \
VppBridgeDomainArpEntry, VppL2FibEntry, find_bridge_domain_port, VppL2Vtr
-from vpp_sub_interface import VppDot1QSubint
+from vpp_sub_interface import L2_VTR_OP, VppDot1QSubint
from vpp_ip import VppIpAddress, VppIpPrefix
from vpp_papi import VppEnum, MACAddress
-from vpp_papi_provider import L2_VTR_OP
from vpp_vxlan_gbp_tunnel import find_vxlan_gbp_tunnel, INDEX_INVALID, \
VppVxlanGbpTunnel
from vpp_neighbor import VppNeighbor
def remove_vpp_config(self):
self._test.vapi.gbp_endpoint_del(self.handle)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-endpoint:[%d==%d:%s:%d]" % (self.handle,
self.itf.sw_if_index,
self.epg.sclass,
self.is_ext)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-recirc:[%d]" % (self.recirc.sw_if_index)
self.bd.bd_id,
self.rd.rd_id)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-ext-itf:[%d]" % (self.itf.sw_if_index)
self.prefix.encode(),
self.type)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-subnet:[%d-%s]" % (self.rd_id, self.prefix)
def remove_vpp_config(self):
self._test.vapi.gbp_endpoint_group_del(self.sclass)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-endpoint-group:[%d]" % (self.vnid)
"""
def __init__(self, test, bd, bvi, uu_fwd=None,
- bm_flood=None, learn=True):
+ bm_flood=None, learn=True, uu_drop=False, bm_drop=False):
self._test = test
self.bvi = bvi
self.uu_fwd = uu_fwd
self.learn = e.GBP_BD_API_FLAG_NONE
else:
self.learn = e.GBP_BD_API_FLAG_DO_NOT_LEARN
+ if (uu_drop):
+ self.learn |= e.GBP_BD_API_FLAG_UU_FWD_DROP
+ if (bm_drop):
+ self.learn |= e.GBP_BD_API_FLAG_MCAST_DROP
def add_vpp_config(self):
self._test.vapi.gbp_bridge_domain_add(
def remove_vpp_config(self):
self._test.vapi.gbp_bridge_domain_del(self.bd.bd_id)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-bridge-domain:[%d]" % (self.bd.bd_id)
def remove_vpp_config(self):
self._test.vapi.gbp_route_domain_del(self.rd_id)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-route-domain:[%d]" % (self.rd_id)
[],
self.allowed_ethertypes)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-contract:[%d:%s:%d]" % (self.sclass,
self.dclass,
def remove_vpp_config(self):
self._test.vapi.gbp_vxlan_tunnel_del(self.vni)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-vxlan:%d" % (self.sw_if_index)
def remove_vpp_config(self):
self._test.vapi.acl_del(self.acl_index)
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return "gbp-acl:[%d]" % (self.acl_index)
rxs = self.send_and_expect(self.pg7, p * 3, self.pg0)
self.assertFalse(find_gbp_endpoint(self, ip="10.222.0.1"))
+ #
+ # ping from host in remote to remote external subnets
+ # this is dropped by reflection check.
+ #
+ p = (Ether(src=self.pg7.remote_mac, dst=self.pg7.local_mac) /
+ IP(src=self.pg7.remote_ip4, dst=self.pg7.local_ip4) /
+ UDP(sport=1234, dport=48879) /
+ VXLAN(vni=445, gpid=4222, flags=0x88, gpflags='A') /
+ Ether(src=self.pg0.remote_mac, dst=str(self.router_mac)) /
+ IP(src="10.222.0.1", dst="10.222.0.2") /
+ UDP(sport=1234, dport=1234) /
+ Raw('\xa5' * 100))
+
+ rxs = self.send_and_assert_no_replies(self.pg7, p * 3)
+
#
# cleanup
#