def setUp()

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)