def find_gbp_endpoint(test, sw_if_index=None, ip=None, mac=None,
- tep=None, sclass=None):
+ tep=None, sclass=None, flags=None):
if ip:
vip = ip
if mac:
if sclass:
if ep.endpoint.sclass != sclass:
continue
+ if flags:
+ if flags != (flags & ep.endpoint.flags):
+ continue
if ip:
for eip in ep.endpoint.ips:
if vip == str(eip):
def wait_for_ep_timeout(self, sw_if_index=None, ip=None, mac=None,
tep=None, n_tries=100, s_time=1):
+ # only learnt EP can timeout
+ ep_flags = VppEnum.vl_api_gbp_endpoint_flags_t
+ flags = ep_flags.GBP_API_ENDPOINT_FLAG_LEARNT
while (n_tries):
- if not find_gbp_endpoint(self, sw_if_index, ip, mac, tep=tep):
+ if not find_gbp_endpoint(self, sw_if_index, ip, mac, tep=tep,
+ flags=flags):
return True
n_tries = n_tries - 1
self.sleep(s_time)
- self.assertFalse(find_gbp_endpoint(self, sw_if_index, ip, mac))
+ self.assertFalse(find_gbp_endpoint(self, sw_if_index, ip, mac, tep=tep,
+ flags=flags))
return False
def test_gbp_learn_l2(self):
None, self.loop0,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(4))
epg_220.add_vpp_config()
epg_330 = VppGbpEndpointGroup(self, 330, 113, rd1, gbd1,
None, self.loop1,
"10.0.1.128",
"2001:11::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(4))
epg_330.add_vpp_config()
#
None, self.loop0,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(3))
epg_220.add_vpp_config()
ep = VppGbpEndpoint(self, self.pg0,
None, self.loop0,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(4))
epg_220.add_vpp_config()
#
None, self.loop0,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(4))
epg_220.add_vpp_config()
#
None, gbd1.bvi,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_220.add_vpp_config()
epg_221 = VppGbpEndpointGroup(self, 221, 441, rd1, gbd2,
None, gbd2.bvi,
"10.0.1.128",
"2001:11::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_221.add_vpp_config()
epg_222 = VppGbpEndpointGroup(self, 222, 442, rd1, gbd1,
None, gbd1.bvi,
"10.0.2.128",
"2001:12::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_222.add_vpp_config()
#
None, gbd1.bvi,
"12.0.0.128",
"4001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_320.add_vpp_config()
epg_321 = VppGbpEndpointGroup(self, 321, 551, rd1, gbd4,
None, gbd2.bvi,
"12.0.1.128",
"4001:11::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_321.add_vpp_config()
#
None, gebd.bvi,
"10.1.0.128",
"2001:10:1::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
eepg.add_vpp_config()
# add subnets to BVI
VppIpInterfaceAddress(
None, gbd1.bvi,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_220.add_vpp_config()
epg_221 = VppGbpEndpointGroup(self, 221, 441, rd1, gbd2,
None, gbd2.bvi,
"10.0.1.128",
"2001:11::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_221.add_vpp_config()
#
None, gbd3.bvi,
"12.0.0.128",
"4001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(60))
epg_320.add_vpp_config()
#
None, gbd1.bvi,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(4))
epg_220.add_vpp_config()
# the BVIs have the subnets applied ...
None, gbd1.bvi,
"10.0.0.128",
"2001:10::128",
- VppGbpEndpointRetention(2))
+ VppGbpEndpointRetention(4))
epg_220.add_vpp_config()
# the BVIs have the subnet applied ...
self.vlan_101.set_vtr(L2_VTR_OP.L2_DISABLED)
self.vlan_100.set_vtr(L2_VTR_OP.L2_DISABLED)
self.pg7.unconfig_ip4()
+ # make sure the programmed EP is no longer learnt from DP
+ self.wait_for_ep_timeout(sw_if_index=rep.itf.sw_if_index, ip=rep.ip4)
if __name__ == '__main__':