in ptf/saivrf.py [0:0]
def setUp(self):
super(VrfMultipleRifCreationTest, self).setUp()
self.route_list = []
self.nhop_list = []
self.nbor_list = []
self.rif_list = []
# VRF 1 configuration
self.vrf1 = sai_thrift_create_virtual_router(self.client)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.port_rif1 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.vrf1,
port_id=self.port24)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.port_rif1)
self.lag_rif1 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.vrf1,
port_id=self.lag1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.lag_rif1)
self.sub_port_rif1 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_SUB_PORT,
virtual_router_id=self.vrf1,
port_id=self.port10,
outer_vlan_id=100,
admin_v4_state=True)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.sub_port_rif1)
self.lpb_rif1 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_LOOPBACK,
virtual_router_id=self.vrf1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.lpb_rif1)
self.svi_rif1 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_VLAN,
virtual_router_id=self.vrf1,
vlan_id=self.vlan10)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.svi_rif1)
self.ip_addr11 = "10.10.1.1"
self.mac11 = "00:11:11:11:11:11"
self.port_nbor1 = sai_thrift_neighbor_entry_t(
rif_id=self.port_rif1, ip_address=sai_ipaddress(self.ip_addr11))
sai_thrift_create_neighbor_entry(self.client,
self.port_nbor1,
dst_mac_address=self.mac11)
self.nbor_list.append(self.port_nbor1)
self.port_nhop1 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(self.ip_addr11),
router_interface_id=self.port_rif1,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.port_nhop1)
self.port_route1 = sai_thrift_route_entry_t(
vr_id=self.vrf1, destination=sai_ipprefix(self.ip_addr11 + '/24'))
sai_thrift_create_route_entry(self.client,
self.port_route1,
next_hop_id=self.port_nhop1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.port_route1)
self.ip_addr12 = "10.10.2.1"
self.mac12 = "00:11:11:11:11:22"
self.lag_nbor1 = sai_thrift_neighbor_entry_t(
rif_id=self.lag_rif1, ip_address=sai_ipaddress(self.ip_addr12))
sai_thrift_create_neighbor_entry(self.client,
self.lag_nbor1,
dst_mac_address=self.mac12)
self.nbor_list.append(self.lag_nbor1)
self.lag_nhop1 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(self.ip_addr12),
router_interface_id=self.lag_rif1,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.lag_nhop1)
self.lag_route1 = sai_thrift_route_entry_t(
vr_id=self.vrf1, destination=sai_ipprefix(self.ip_addr12 + '/24'))
sai_thrift_create_route_entry(self.client,
self.lag_route1,
next_hop_id=self.lag_nhop1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.lag_route1)
self.ip_addr13 = "10.10.3.1"
self.mac13 = "00:11:11:11:11:33"
self.sub_port_nbor1 = sai_thrift_neighbor_entry_t(
rif_id=self.sub_port_rif1,
ip_address=sai_ipaddress(self.ip_addr13))
sai_thrift_create_neighbor_entry(self.client,
self.sub_port_nbor1,
dst_mac_address=self.mac13)
self.nbor_list.append(self.sub_port_nbor1)
self.sub_port_nhop1 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(self.ip_addr13),
router_interface_id=self.sub_port_rif1,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.sub_port_nhop1)
self.sub_port_route1 = sai_thrift_route_entry_t(
vr_id=self.vrf1, destination=sai_ipprefix(self.ip_addr13 + '/24'))
sai_thrift_create_route_entry(self.client,
self.sub_port_route1,
next_hop_id=self.sub_port_nhop1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.sub_port_route1)
self.ip_addr14 = "10.10.4.1"
self.lpb_nhop1 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(self.ip_addr14),
router_interface_id=self.lpb_rif1,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.lpb_nhop1)
self.lpb_route1 = sai_thrift_route_entry_t(
vr_id=self.vrf1, destination=sai_ipprefix(self.ip_addr14 + '/24'))
sai_thrift_create_route_entry(self.client,
self.lpb_route1,
next_hop_id=self.lpb_nhop1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.lpb_route1)
self.ip_addr15 = "10.10.5.1"
self.mac15 = "00:11:11:11:11:55"
self.svi_nbor1 = sai_thrift_neighbor_entry_t(
rif_id=self.svi_rif1, ip_address=sai_ipaddress(self.ip_addr15))
sai_thrift_create_neighbor_entry(self.client,
self.svi_nbor1,
dst_mac_address=self.mac15)
self.nbor_list.append(self.svi_nbor1)
self.svi_nhop1 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(self.ip_addr15),
router_interface_id=self.svi_rif1,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.svi_nhop1)
self.svi_route1 = sai_thrift_route_entry_t(
vr_id=self.vrf1, destination=sai_ipprefix(self.ip_addr15 + '/24'))
sai_thrift_create_route_entry(self.client,
self.svi_route1,
next_hop_id=self.svi_nhop1)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.svi_route1)
# VRF 2 configuration
self.vrf2 = sai_thrift_create_virtual_router(self.client)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.port_rif2 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.vrf2,
port_id=self.port25)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.port_rif2)
self.lag_rif2 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.vrf2,
port_id=self.lag2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.lag_rif2)
self.sub_port_rif2 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_SUB_PORT,
virtual_router_id=self.vrf2,
port_id=self.port10,
outer_vlan_id=200,
admin_v4_state=True)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.sub_port_rif2)
self.lpb_rif2 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_LOOPBACK,
virtual_router_id=self.vrf2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.lpb_rif2)
self.svi_rif2 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_VLAN,
virtual_router_id=self.vrf2,
vlan_id=self.vlan20)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.svi_rif2)
ip_addr21 = "10.20.1.1"
self.port_nhop2 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr21),
router_interface_id=self.port_rif2,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.port_nhop2)
self.port_route2 = sai_thrift_route_entry_t(
vr_id=self.vrf2, destination=sai_ipprefix(ip_addr21 + '/24'))
sai_thrift_create_route_entry(self.client,
self.port_route2,
next_hop_id=self.port_nhop2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.port_route2)
ip_addr22 = "10.20.2.1"
self.lag_nhop2 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr22),
router_interface_id=self.lag_rif2,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.lag_nhop2)
self.lag_route2 = sai_thrift_route_entry_t(
vr_id=self.vrf2, destination=sai_ipprefix(ip_addr22 + '/24'))
sai_thrift_create_route_entry(self.client,
self.lag_route2,
next_hop_id=self.lag_nhop2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.lag_route2)
ip_addr23 = "10.20.3.1"
self.sub_port_nhop2 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr23),
router_interface_id=self.sub_port_rif2,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.sub_port_nhop2)
self.sub_port_route2 = sai_thrift_route_entry_t(
vr_id=self.vrf2, destination=sai_ipprefix(ip_addr23 + '/24'))
sai_thrift_create_route_entry(self.client,
self.sub_port_route2,
next_hop_id=self.sub_port_nhop2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.sub_port_route2)
ip_addr24 = "10.20.4.1"
self.lpb_nhop2 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr24),
router_interface_id=self.lpb_rif2,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.lpb_nhop2)
self.lpb_route2 = sai_thrift_route_entry_t(
vr_id=self.vrf2, destination=sai_ipprefix(ip_addr24 + '/24'))
sai_thrift_create_route_entry(self.client,
self.lpb_route2,
next_hop_id=self.lpb_nhop2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.lpb_route2)
ip_addr25 = "10.20.5.1"
self.svi_nhop2 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr25),
router_interface_id=self.svi_rif2,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.svi_nhop2)
self.svi_route2 = sai_thrift_route_entry_t(
vr_id=self.vrf2, destination=sai_ipprefix(ip_addr25 + '/24'))
sai_thrift_create_route_entry(self.client,
self.svi_route2,
next_hop_id=self.svi_nhop2)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.svi_route2)
# VRF 3 configuration
self.vrf3 = sai_thrift_create_virtual_router(self.client)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.port_rif3 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.vrf3,
port_id=self.port26)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.port_rif3)
# additional LAG
self.lag10 = sai_thrift_create_lag(self.client)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.lag10_member1 = sai_thrift_create_lag_member(self.client,
lag_id=self.lag10,
port_id=self.port27)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.lag10_member2 = sai_thrift_create_lag_member(self.client,
lag_id=self.lag10,
port_id=self.port28)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.lag10_bp = sai_thrift_create_bridge_port(
self.client,
bridge_id=self.default_1q_bridge,
port_id=self.lag10,
type=SAI_BRIDGE_PORT_TYPE_PORT)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.lag_rif3 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_PORT,
virtual_router_id=self.vrf3,
port_id=self.lag10)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.lag_rif3)
self.sub_port_rif3 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_SUB_PORT,
virtual_router_id=self.vrf3,
port_id=self.port10,
outer_vlan_id=300,
admin_v4_state=True)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.sub_port_rif3)
self.lpb_rif3 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_LOOPBACK,
virtual_router_id=self.vrf3)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.lpb_rif3)
# additional VLAN
self.vlan100 = sai_thrift_create_vlan(self.client, vlan_id=100)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.port29_bp = sai_thrift_create_bridge_port(
self.client,
bridge_id=self.default_1q_bridge,
port_id=self.port29,
type=SAI_BRIDGE_PORT_TYPE_PORT)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.vlan100_member0 = sai_thrift_create_vlan_member(
self.client,
vlan_id=self.vlan100,
bridge_port_id=self.port29_bp,
vlan_tagging_mode=SAI_VLAN_TAGGING_MODE_UNTAGGED)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
sai_thrift_set_port_attribute(self.client,
self.port29,
port_vlan_id=100)
self.port30_bp = sai_thrift_create_bridge_port(
self.client,
bridge_id=self.default_1q_bridge,
port_id=self.port30,
type=SAI_BRIDGE_PORT_TYPE_PORT)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.vlan100_member1 = sai_thrift_create_vlan_member(
self.client,
vlan_id=self.vlan100,
bridge_port_id=self.port30_bp,
vlan_tagging_mode=SAI_VLAN_TAGGING_MODE_TAGGED)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.svi_rif3 = sai_thrift_create_router_interface(
self.client,
type=SAI_ROUTER_INTERFACE_TYPE_VLAN,
virtual_router_id=self.vrf3,
vlan_id=self.vlan100)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.rif_list.append(self.svi_rif3)
ip_addr31 = "10.30.1.1"
self.port_nhop3 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr31),
router_interface_id=self.port_rif3,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.port_nhop3)
self.port_route3 = sai_thrift_route_entry_t(
vr_id=self.vrf3, destination=sai_ipprefix(ip_addr31 + '/24'))
sai_thrift_create_route_entry(self.client,
self.port_route3,
next_hop_id=self.port_nhop3)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.port_route3)
ip_addr32 = "10.30.2.1"
self.lag_nhop3 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr32),
router_interface_id=self.lag_rif3,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.lag_nhop3)
self.lag_route3 = sai_thrift_route_entry_t(
vr_id=self.vrf3, destination=sai_ipprefix(ip_addr32 + '/24'))
sai_thrift_create_route_entry(self.client,
self.lag_route3,
next_hop_id=self.lag_nhop3)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.lag_route3)
ip_addr33 = "10.30.3.1"
self.sub_port_nhop3 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr33),
router_interface_id=self.sub_port_rif3,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.sub_port_nhop3)
self.sub_port_route3 = sai_thrift_route_entry_t(
vr_id=self.vrf3, destination=sai_ipprefix(ip_addr33 + '/24'))
sai_thrift_create_route_entry(self.client,
self.sub_port_route3,
next_hop_id=self.sub_port_nhop3)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.sub_port_route3)
ip_addr34 = "10.30.4.1"
self.lpb_nhop3 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr34),
router_interface_id=self.lpb_rif3,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.lpb_nhop3)
self.lpb_route3 = sai_thrift_route_entry_t(
vr_id=self.vrf3, destination=sai_ipprefix(ip_addr34 + '/24'))
sai_thrift_create_route_entry(self.client,
self.lpb_route3,
next_hop_id=self.lpb_nhop3)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.lpb_route3)
ip_addr35 = "10.30.5.1"
self.svi_nhop3 = sai_thrift_create_next_hop(
self.client,
ip=sai_ipaddress(ip_addr35),
router_interface_id=self.svi_rif3,
type=SAI_NEXT_HOP_TYPE_IP)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.nhop_list.append(self.svi_nhop3)
self.svi_route3 = sai_thrift_route_entry_t(
vr_id=self.vrf3, destination=sai_ipprefix(ip_addr35 + '/24'))
sai_thrift_create_route_entry(self.client,
self.svi_route3,
next_hop_id=self.svi_nhop3)
self.assertEqual(self.status(), SAI_STATUS_SUCCESS)
self.route_list.append(self.svi_route3)