ptf/saiacl.py [190:286]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        table_bind_points = [SAI_ACL_BIND_POINT_TYPE_PORT,
                             SAI_ACL_BIND_POINT_TYPE_LAG]
        table_bind_point_type_list = sai_thrift_s32_list_t(
            count=len(table_bind_points), int32list=table_bind_points)
        acl_table = sai_thrift_create_acl_table(
            self.client,
            acl_stage=table_stage,
            acl_bind_point_type_list=table_bind_point_type_list,
            field_src_ip=True)

        # create ACL table entry
        src_ip = '10.0.0.1'
        src_ip2 = '10.0.0.2'
        src_ip_mask = '255.255.255.255'
        src_ip_t = sai_thrift_acl_field_data_t(
            data=sai_thrift_acl_field_data_data_t(ip4=src_ip),
            mask=sai_thrift_acl_field_data_mask_t(ip4=src_ip_mask))

        packet_action = sai_thrift_acl_action_data_t(
            parameter=sai_thrift_acl_action_parameter_t(
                s32=SAI_PACKET_ACTION_DROP))
        acl_entry = sai_thrift_create_acl_entry(
            self.client,
            table_id=acl_table,
            priority=10,
            field_src_ip=src_ip_t,
            action_packet_action=packet_action)

        # add ACL table group member
        member1 = sai_thrift_create_acl_table_group_member(
            self.client,
            acl_table_group_id=acl_group,
            acl_table_id=acl_table)

        # create ACL counter
        acl_counter = sai_thrift_create_acl_counter(
            self.client, table_id=acl_table)

        # attach ACL counter to ACL entry
        action_counter_t = sai_thrift_acl_action_data_t(
            parameter=sai_thrift_acl_action_parameter_t(
                oid=acl_counter),
            enable=True)
        sai_thrift_set_acl_entry_attribute(
            self.client, acl_entry,
            action_counter=action_counter_t)

        try:
            pkt1 = simple_udp_packet(
                eth_dst=self.port_mac,
                eth_src=self.lag_mac,
                ip_src=src_ip,
                pktlen=100)
            pkt2 = simple_udp_packet(
                eth_dst=self.lag_mac,
                eth_src=self.port_mac,
                ip_src=src_ip,
                pktlen=100)

            pkt3 = simple_udp_packet(
                eth_dst=self.port_mac2,
                eth_src=self.lag_mac2,
                ip_src=src_ip2,
                pktlen=100)
            pkt4 = simple_udp_packet(
                eth_dst=self.lag_mac2,
                eth_src=self.port_mac2,
                ip_src=src_ip2,
                pktlen=100)

            print("Sending packet without ACL table group")
            print("Sending packet from lag to port")
            send_packet(self, self.dev_port4, pkt1)
            verify_packet(self, pkt1, self.dev_port0)

            print("Sending packet from port to lag")
            send_packet(self, self.dev_port0, pkt2)
            verify_any_packet_any_port(
                self, [pkt2, pkt2, pkt2],
                [self.dev_port4, self.dev_port5, self.dev_port6])

            print("Sending packet from lag2 to port2")
            send_packet(self, self.dev_port26, pkt3)
            verify_packet(self, pkt3, self.dev_port24)

            print("Sending packet from port2 to lag2")
            send_packet(self, self.dev_port24, pkt4)
            verify_any_packet_any_port(
                self, [pkt4, pkt4, pkt4],
                [self.dev_port26, self.dev_port27, self.dev_port28])

            packets = sai_thrift_get_acl_counter_attribute(
                self.client, acl_counter, packets=True)
            self.assertEqual(packets['packets'], 0)

            print("Attach ACL table group to port")
            sai_thrift_set_port_attribute(self.client, self.port0,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



ptf/saiacl.py [375:471]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        table_bind_points = [SAI_ACL_BIND_POINT_TYPE_PORT,
                             SAI_ACL_BIND_POINT_TYPE_LAG]
        table_bind_point_type_list = sai_thrift_s32_list_t(
            count=len(table_bind_points), int32list=table_bind_points)
        acl_table = sai_thrift_create_acl_table(
            self.client,
            acl_stage=table_stage,
            acl_bind_point_type_list=table_bind_point_type_list,
            field_src_ip=True)

        # create ACL table entry
        src_ip = '10.0.0.1'
        src_ip2 = '10.0.0.2'
        src_ip_mask = '255.255.255.255'
        src_ip_t = sai_thrift_acl_field_data_t(
            data=sai_thrift_acl_field_data_data_t(ip4=src_ip),
            mask=sai_thrift_acl_field_data_mask_t(ip4=src_ip_mask))

        packet_action = sai_thrift_acl_action_data_t(
            parameter=sai_thrift_acl_action_parameter_t(
                s32=SAI_PACKET_ACTION_DROP))
        acl_entry = sai_thrift_create_acl_entry(
            self.client,
            table_id=acl_table,
            priority=10,
            field_src_ip=src_ip_t,
            action_packet_action=packet_action)

        # add ACL table group member
        member1 = sai_thrift_create_acl_table_group_member(
            self.client,
            acl_table_group_id=acl_group,
            acl_table_id=acl_table)

        # create ACL counter
        acl_counter = sai_thrift_create_acl_counter(
            self.client, table_id=acl_table)

        # attach ACL counter to ACL entry
        action_counter_t = sai_thrift_acl_action_data_t(
            parameter=sai_thrift_acl_action_parameter_t(
                oid=acl_counter),
            enable=True)
        sai_thrift_set_acl_entry_attribute(
            self.client, acl_entry,
            action_counter=action_counter_t)

        try:
            pkt1 = simple_udp_packet(
                eth_dst=self.port_mac,
                eth_src=self.lag_mac,
                ip_src=src_ip,
                pktlen=100)
            pkt2 = simple_udp_packet(
                eth_dst=self.lag_mac,
                eth_src=self.port_mac,
                ip_src=src_ip,
                pktlen=100)

            pkt3 = simple_udp_packet(
                eth_dst=self.port_mac2,
                eth_src=self.lag_mac2,
                ip_src=src_ip2,
                pktlen=100)
            pkt4 = simple_udp_packet(
                eth_dst=self.lag_mac2,
                eth_src=self.port_mac2,
                ip_src=src_ip2,
                pktlen=100)

            print("Sending packet without ACL table group")
            print("Sending packet from lag to port")
            send_packet(self, self.dev_port4, pkt1)
            verify_packet(self, pkt1, self.dev_port0)

            print("Sending packet from port to lag")
            send_packet(self, self.dev_port0, pkt2)
            verify_any_packet_any_port(
                self, [pkt2, pkt2, pkt2],
                [self.dev_port4, self.dev_port5, self.dev_port6])

            print("Sending packet from lag2 to port2")
            send_packet(self, self.dev_port26, pkt3)
            verify_packet(self, pkt3, self.dev_port24)

            print("Sending packet from port2 to lag2")
            send_packet(self, self.dev_port24, pkt4)
            verify_any_packet_any_port(
                self, [pkt4, pkt4, pkt4],
                [self.dev_port26, self.dev_port27, self.dev_port28])

            packets = sai_thrift_get_acl_counter_attribute(
                self.client, acl_counter, packets=True)
            self.assertEqual(packets['packets'], 0)

            print("Attach ACL table group to port")
            sai_thrift_set_port_attribute(self.client, self.port0,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



