def setUp()

in ptf/saihash.py [0:0]


    def setUp(self):

        super(SAIHashTest, self).setUp()

        dmac1 = '00:11:11:11:11:11'
        dmac2 = '00:22:22:22:22:22'
        dmac3 = '00:33:33:33:33:33'
        dmac4 = '00:44:44:44:44:44'

        dmac5 = '00:55:55:55:55:55'
        dmac6 = '00:66:66:66:66:66'
        dmac7 = '00:77:77:77:77:77'
        nhop_ip1 = '11.11.11.11'
        nhop_ip2 = '22.22.22.22'
        nhop_ip3 = '33.33.33.33'
        nhop_ip4 = '44.44.44.44'
        nhop_ip5 = '44.55.55.55'
        nhop_ip6 = '44.66.66.66'
        nhop_ip7 = '44.77.77.77'

        # set switch src mac address
        sai_thrift_set_switch_attribute(
            self.client,
            src_mac_address=ROUTER_MAC)
        self.lag1_rif = sai_thrift_create_router_interface(
            self.client, type=SAI_ROUTER_INTERFACE_TYPE_PORT,
            virtual_router_id=self.default_vrf, port_id=self.lag1,
            admin_v4_state=True)
        self.lag2_rif = sai_thrift_create_router_interface(
            self.client, type=SAI_ROUTER_INTERFACE_TYPE_PORT,
            virtual_router_id=self.default_vrf, port_id=self.lag2,
            admin_v4_state=True)
        self.port15_rif = sai_thrift_create_router_interface(
            self.client, type=SAI_ROUTER_INTERFACE_TYPE_PORT,
            virtual_router_id=self.default_vrf, port_id=self.port15,
            admin_v4_state=True)

        # create vlan 200 with port0 and lag1
        self.vlan200 = sai_thrift_create_vlan(self.client, vlan_id=200)
        self.assertNotEqual(self.vlan200, 0)
        self.vlan200_member1 = sai_thrift_create_vlan_member(
            self.client, vlan_id=self.vlan200, bridge_port_id=self.port0_bp,
            vlan_tagging_mode=SAI_VLAN_TAGGING_MODE_UNTAGGED)
        self.vlan200_member2 = sai_thrift_create_vlan_member(
            self.client, vlan_id=self.vlan200, bridge_port_id=self.lag1_bp,
            vlan_tagging_mode=SAI_VLAN_TAGGING_MODE_UNTAGGED)

        sai_thrift_set_port_attribute(
            self.client,
            self.port0,
            port_vlan_id=200)
        sai_thrift_set_lag_attribute(self.client, self.lag1, port_vlan_id=200)

        # test neighbor creation
        self.neighbor_entry10 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.port10_rif,
            sai_ipaddress(nhop_ip1))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry10,
            dst_mac_address=dmac1)
        self.neighbor_entry11 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.port11_rif,
            sai_ipaddress(nhop_ip2))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry11,
            dst_mac_address=dmac2)
        self.neighbor_entry12 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.port12_rif,
            sai_ipaddress(nhop_ip3))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry12,
            dst_mac_address=dmac3)
        self.neighbor_entry13 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.port13_rif,
            sai_ipaddress(nhop_ip4))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry13,
            dst_mac_address=dmac4)
        self.neighbor_entry15 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.lag1_rif,
            sai_ipaddress(nhop_ip5))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry15,
            dst_mac_address=dmac5)
        self.neighbor_entry16 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.lag2_rif,
            sai_ipaddress(nhop_ip6))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry16,
            dst_mac_address=dmac6)

        self.neighbor_entry17 = sai_thrift_neighbor_entry_t(
            self.switch_id,
            self.lag1_rif,
            sai_ipaddress(nhop_ip7))
        sai_thrift_create_neighbor_entry(
            self.client,
            self.neighbor_entry17,
            dst_mac_address=dmac7)

        self.nhop1 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.port10_rif, ip=sai_ipaddress(nhop_ip1))
        self.nhop2 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.port11_rif, ip=sai_ipaddress(nhop_ip2))
        self.nhop3 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.port12_rif, ip=sai_ipaddress(nhop_ip3))
        self.nhop4 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.port13_rif, ip=sai_ipaddress(nhop_ip4))

        self.nhop3_lag1 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.lag1_rif, ip=sai_ipaddress(nhop_ip7))

        self.nhop4_lag2 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.lag2_rif, ip=sai_ipaddress(nhop_ip4))

        self.nhop5_lag1 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.lag1_rif, ip=sai_ipaddress(nhop_ip5))
        self.nhop6_lag2 = sai_thrift_create_next_hop(
            self.client, type=SAI_NEXT_HOP_TYPE_IP,
            router_interface_id=self.lag2_rif, ip=sai_ipaddress(nhop_ip6))

        self.nhop_group1 = sai_thrift_create_next_hop_group(
            self.client, type=SAI_NEXT_HOP_GROUP_TYPE_ECMP)

        self.nh_group1_member1 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group1,
            next_hop_id=self.nhop1)
        self.nh_group1_member2 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group1,
            next_hop_id=self.nhop2)
        self.nh_group1_member3 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group1,
            next_hop_id=self.nhop3)
        self.nh_group1_member4 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group1,
            next_hop_id=self.nhop4)

        self.route0 = sai_thrift_route_entry_t(
            switch_id=self.switch_id,
            destination=sai_ipprefix('10.10.10.1/16'),
            vr_id=self.default_vrf)
        status = sai_thrift_create_route_entry(
            self.client,
            self.route0,
            next_hop_id=self.nhop_group1)
        self.assertEqual(status, SAI_STATUS_SUCCESS)

        self.nhop_group2 = sai_thrift_create_next_hop_group(
            self.client, type=SAI_NEXT_HOP_GROUP_TYPE_ECMP)
        self.nh_group2_member1 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group2,
            next_hop_id=self.nhop5_lag1)
        self.nh_group2_member2 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group2,
            next_hop_id=self.nhop6_lag2)

        # create route entry for nhop_group2
        self.route1 = sai_thrift_route_entry_t(
            switch_id=self.switch_id,
            destination=sai_ipprefix('20.20.20.1/16'),
            vr_id=self.default_vrf)
        status = sai_thrift_create_route_entry(
            self.client,
            self.route1,
            next_hop_id=self.nhop_group2)
        self.assertEqual(status, SAI_STATUS_SUCCESS)

        # create route entry for nhop_group3 Lag1 only
        self.nhop_group3 = sai_thrift_create_next_hop_group(
            self.client,
            type=SAI_NEXT_HOP_GROUP_TYPE_ECMP)
        self.nh_group3_member1 = sai_thrift_create_next_hop_group_member(
            self.client,
            next_hop_group_id=self.nhop_group3,
            next_hop_id=self.nhop3_lag1)

        self.route2 = sai_thrift_route_entry_t(
            switch_id=self.switch_id,
            destination=sai_ipprefix('10.70.70.1/16'),
            vr_id=self.default_vrf)
        status = sai_thrift_create_route_entry(
            self.client,
            self.route2,
            next_hop_id=self.nhop_group3)
        self.assertEqual(status, SAI_STATUS_SUCCESS)