ptf/platform_helper/common_sai_helper.py (30 lines of code) (raw):

# Copyright (c) 2021 Microsoft Open Technologies, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 # # THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR # CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT # LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS # FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT. # # See the Apache Version 2.0 License for specific language governing # permissions and limitations under the License. # # Microsoft would like to thank the following companies for their review and # assistance with these files: Intel Corporation, Mellanox Technologies Ltd, # Dell Products, L.P., Facebook, Inc., Marvell International Ltd. """ Class contains common functions. This file contains base class for other platform classes. """ from sai_base_test import * # pylint: disable=wildcard-import; lgtm[py/polluting-import] class CommonSaiHelper(SaiHelper): """ This class contains the common functions for the platform setup and test context configuration. """ #TODO move the common methods from the sai_base_test. platform = 'common' def sai_thrift_create_fdb_entry_allow_mac_move(self, client, fdb_entry, type=None, packet_action=None, user_trap_id=None, bridge_port_id=None, meta_data=None, endpoint_ip=None, counter_id=None, allow_mac_move=None): """ Override the sai_thrift_create_fdb_entry when check the functionality related to allow_mac_move. This method will transfer allow_mac_move directly(not override). For the encounter function, please refer to \r \t :func:`BrcmSaiHelper.sai_thrift_create_fdb_entry_allow_mac_move` """ #TODO confirm the SPEC. Related to RFC9014 and RFC7432 print("CommonSaiHelper::sai_thrift_create_fdb_entry_allow_mac_move") sai_thrift_create_fdb_entry( client=client, fdb_entry=fdb_entry, type=type, packet_action=packet_action, user_trap_id=user_trap_id, bridge_port_id=bridge_port_id, meta_data=meta_data, endpoint_ip=endpoint_ip, counter_id=counter_id, allow_mac_move=allow_mac_move) def remove_bridge_port(self): """ Remove all bridge ports. """ for index in range(0, len(self.port_list)): port_bp = getattr(self, 'port%s_bp' % index) sai_thrift_remove_bridge_port(self.client, port_bp)