mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-11-04 03:57:57 +00:00 
			
		
		
		
	[Wistron] Add 6512-32r platform support (#10956)
Why I did it Add 6512-32r support for Wistron platform Update sw-to3200k for newer branch How I did it Add code in device and platform folder for 6512-32r Update sw-to3200k code both in device and platform folder How to verify it Install on Wistron device and run command to verify Signed-off-by: RogerChang Roger_Chang@wistron.com
This commit is contained in:
		
							
								
								
									
										1
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/default_sku
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/default_sku
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
wistron_6512_32r t1
 | 
			
		||||
							
								
								
									
										4
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/installer.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/installer.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
CONSOLE_PORT=0x3f8
 | 
			
		||||
CONSOLE_DEV=0
 | 
			
		||||
CONSOLE_SPEED=115200
 | 
			
		||||
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="pcie_aspm=off"
 | 
			
		||||
							
								
								
									
										1
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/platform_asic
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/platform_asic
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
innovium
 | 
			
		||||
							
								
								
									
										26
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/plugins/eeprom.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/plugins/eeprom.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    import os
 | 
			
		||||
    from sonic_eeprom import eeprom_tlvinfo
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError (str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
def eeprom_check():
 | 
			
		||||
    filepath="/sys/bus/i2c/devices/0-0055/eeprom"
 | 
			
		||||
    if os.path.isfile(filepath):
 | 
			
		||||
        return 1 #now board, 0x56
 | 
			
		||||
    else:
 | 
			
		||||
        return 0 #now board, 0x57
 | 
			
		||||
 | 
			
		||||
class board(eeprom_tlvinfo.TlvInfoDecoder):
 | 
			
		||||
    _TLV_INFO_MAX_LEN = 256
 | 
			
		||||
    def __init__(self, name, path, cpld_root, ro):
 | 
			
		||||
        ret=eeprom_check()
 | 
			
		||||
        if ret==1:
 | 
			
		||||
            self.eeprom_path = "/sys/bus/i2c/devices/0-0055/eeprom"
 | 
			
		||||
        else:
 | 
			
		||||
            pass
 | 
			
		||||
 | 
			
		||||
        super(board, self).__init__(self.eeprom_path, 0, '', True)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/plugins/psuutil.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/plugins/psuutil.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
# Accton
 | 
			
		||||
#
 | 
			
		||||
# Module contains an implementation of SONiC PSU Base API and
 | 
			
		||||
# provides the PSUs status which are available in the platform
 | 
			
		||||
#
 | 
			
		||||
#############################################################################
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from sonic_psu.psu_base import PsuBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError (str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
class PsuUtil(PsuBase):
 | 
			
		||||
    """Platform-specific PSUutil class"""
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        PsuBase.__init__(self)
 | 
			
		||||
 | 
			
		||||
        self.psu_path = "/sys/bus/i2c/devices/"
 | 
			
		||||
        self.psu_presence = "/present"
 | 
			
		||||
        self.psu_oper_status = "/power_good"
 | 
			
		||||
        self.psu_mapping = {
 | 
			
		||||
            2: "0-0059",
 | 
			
		||||
            1: "0-005a",
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    def get_num_psus(self):
 | 
			
		||||
        return len(self.psu_mapping)
 | 
			
		||||
 | 
			
		||||
    def get_psu_status(self, index):
 | 
			
		||||
        if index is None:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        status = 0
 | 
			
		||||
        node = self.psu_path + self.psu_mapping[index]+self.psu_oper_status
 | 
			
		||||
        try:
 | 
			
		||||
            with open(node, 'r') as power_status:
 | 
			
		||||
                status = int(power_status.read())
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return status == 1
 | 
			
		||||
 | 
			
		||||
    def get_psu_presence(self, index):
 | 
			
		||||
        if index is None:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        status = 0
 | 
			
		||||
        node = self.psu_path + self.psu_mapping[index] + self.psu_presence
 | 
			
		||||
        try:
 | 
			
		||||
            with open(node, 'r') as presence_status:
 | 
			
		||||
                status = int(presence_status.read())
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return status == 1
 | 
			
		||||
							
								
								
									
										220
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/plugins/sfputil.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										220
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/plugins/sfputil.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,220 @@
 | 
			
		||||
# sfputil.py
 | 
			
		||||
#
 | 
			
		||||
# Platform-specific SFP transceiver interface for SONiC
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    import time
 | 
			
		||||
    from sonic_sfp.sfputilbase import SfpUtilBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError("%s - required module not found" % str(e))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SfpUtil(SfpUtilBase):
 | 
			
		||||
    """Platform-specific SfpUtil class"""
 | 
			
		||||
    SONIC_PORT_NAME_PREFIX = "Ethernet"
 | 
			
		||||
    PORT_START = 0
 | 
			
		||||
    PORT_END = 31
 | 
			
		||||
    PORTS_IN_BLOCK = 32
 | 
			
		||||
 | 
			
		||||
    BASE_OOM_PATH = "/sys/bus/i2c/devices/0-00"
 | 
			
		||||
    BASE_CPLD1_PATH = "/sys/bus/i2c/devices/0-0006/"
 | 
			
		||||
    BASE_CPLD2_PATH = "/sys/bus/i2c/devices/0-0007/"
 | 
			
		||||
 | 
			
		||||
    _port_to_is_present = {}
 | 
			
		||||
    _port_to_lp_mode = {}
 | 
			
		||||
 | 
			
		||||
    _port_to_eeprom_mapping = {}
 | 
			
		||||
    port_to_i2c_mapping = {
 | 
			
		||||
        0: '10',
 | 
			
		||||
        1: '11',
 | 
			
		||||
        2: '12',
 | 
			
		||||
        3: '13',
 | 
			
		||||
        4: '14',
 | 
			
		||||
        5: '15',
 | 
			
		||||
        6: '16',
 | 
			
		||||
        7: '17',
 | 
			
		||||
        8: '18',
 | 
			
		||||
        9: '19',
 | 
			
		||||
        10: '1a',
 | 
			
		||||
        11: '1b',
 | 
			
		||||
        12: '1c',
 | 
			
		||||
        13: '1d',
 | 
			
		||||
        14: '1e',
 | 
			
		||||
        15: '1f',
 | 
			
		||||
        16: '20',
 | 
			
		||||
        17: '21',
 | 
			
		||||
        18: '22',
 | 
			
		||||
        19: '23',
 | 
			
		||||
        20: '24',
 | 
			
		||||
        21: '25',
 | 
			
		||||
        22: '26',
 | 
			
		||||
        23: '27',
 | 
			
		||||
        24: '28',
 | 
			
		||||
        25: '29',
 | 
			
		||||
        26: '2a',
 | 
			
		||||
        27: '2b',
 | 
			
		||||
        28: '2c',
 | 
			
		||||
        29: '2d',
 | 
			
		||||
        30: '2e',
 | 
			
		||||
        31: '2f',
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def port_start(self):
 | 
			
		||||
        return self.PORT_START
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def port_end(self):
 | 
			
		||||
        return self.PORT_END
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def qsfp_ports(self):
 | 
			
		||||
        return range(self.PORT_START, self.PORTS_IN_BLOCK + 1)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def port_to_eeprom_mapping(self):
 | 
			
		||||
        return self._port_to_eeprom_mapping
 | 
			
		||||
 | 
			
		||||
    def is_logical_port(self, port_name):
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def get_logical_to_physical(self, port_name):
 | 
			
		||||
        if not port_name.startswith(self.SONIC_PORT_NAME_PREFIX):
 | 
			
		||||
            return None
 | 
			
		||||
 | 
			
		||||
        port_idx = int(port_name[len(self.SONIC_PORT_NAME_PREFIX):])
 | 
			
		||||
        port_idx = port_idx // 8
 | 
			
		||||
        return [port_idx]
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
 | 
			
		||||
        for x in range(0, self.port_end+1):
 | 
			
		||||
            self.port_to_eeprom_mapping[x] = self.BASE_OOM_PATH + self.port_to_i2c_mapping[x] + "/eeprom1"
 | 
			
		||||
 | 
			
		||||
        self._transceiver_presence = {}
 | 
			
		||||
        SfpUtilBase.__init__(self)
 | 
			
		||||
 | 
			
		||||
    def get_presence(self, port_num):
 | 
			
		||||
        # Check for invalid port_num
 | 
			
		||||
        if port_num < self.port_start or port_num > self.port_end:
 | 
			
		||||
            return False
 | 
			
		||||
        if port_num < 16:
 | 
			
		||||
            present_path = self.BASE_CPLD1_PATH + "port" + str(port_num+1) + "_present"
 | 
			
		||||
        else:
 | 
			
		||||
            present_path = self.BASE_CPLD2_PATH + "port" + str(port_num+1) + "_present"
 | 
			
		||||
        self.__port_to_is_present = present_path
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            val_file = open(self.__port_to_is_present)
 | 
			
		||||
            content = val_file.readline().rstrip()
 | 
			
		||||
            val_file.close()
 | 
			
		||||
        except IOError as e:
 | 
			
		||||
            print("Error: unable to access file: %s" % str(e))
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        if content == "1":
 | 
			
		||||
            return True
 | 
			
		||||
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def get_low_power_mode(self, port_num):
 | 
			
		||||
        # Check for invalid port_num
 | 
			
		||||
        if port_num < self.port_start or port_num > self.port_end:
 | 
			
		||||
            return False
 | 
			
		||||
        if port_num < 16:
 | 
			
		||||
            lpmode_path = self.BASE_CPLD1_PATH + "port" + str(port_num+1) + "_lpmode"
 | 
			
		||||
        else:
 | 
			
		||||
            lpmode_path = self.BASE_CPLD2_PATH + "port" + str(port_num+1) + "_lpmode"
 | 
			
		||||
        self.__port_to_is_lpmode = lpmode_path
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            val_file = open(self.__port_to_is_lpmode)
 | 
			
		||||
            content = val_file.readline().rstrip()
 | 
			
		||||
            val_file.close()
 | 
			
		||||
        except IOError as e:
 | 
			
		||||
            print("Error: unable to access file: %s" % str(e))
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        if content == "1":
 | 
			
		||||
            return True
 | 
			
		||||
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def set_low_power_mode(self, port_num, lpmode):
 | 
			
		||||
        # Check for invalid port_num
 | 
			
		||||
        if port_num < self.port_start or port_num > self.port_end:
 | 
			
		||||
            return False
 | 
			
		||||
        if port_num < 16:
 | 
			
		||||
            lpmode_path = self.BASE_CPLD1_PATH + "port" + str(port_num+1) + "_lpmode"
 | 
			
		||||
        else:
 | 
			
		||||
            lpmode_path = self.BASE_CPLD2_PATH + "port" + str(port_num+1) + "_lpmode"
 | 
			
		||||
        self.__port_to_is_lpmode = lpmode_path
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            val_file = open(self.__port_to_is_lpmode, 'w')
 | 
			
		||||
            val_file.write('1' if lpmode else '0')
 | 
			
		||||
            val_file.close()
 | 
			
		||||
            return True
 | 
			
		||||
        except IOError as e:
 | 
			
		||||
            print("Error: unable to open file: %s" % str(e))
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
    def reset(self, port_num):
 | 
			
		||||
        raise NotImplementedError
 | 
			
		||||
 | 
			
		||||
    def _get_sfp_presence(self):
 | 
			
		||||
        port_pres = {}
 | 
			
		||||
        for port in range(0, self.port_end+1):
 | 
			
		||||
            port_pres[port] = self.get_presence(port)
 | 
			
		||||
 | 
			
		||||
        return port_pres
 | 
			
		||||
 | 
			
		||||
    def get_transceiver_change_event(self, timeout=0):
 | 
			
		||||
        start_time = time.time()
 | 
			
		||||
        port_dict = {}
 | 
			
		||||
        forever = False
 | 
			
		||||
 | 
			
		||||
        if timeout == 0:
 | 
			
		||||
            forever = True
 | 
			
		||||
        elif timeout > 0:
 | 
			
		||||
            timeout = timeout / float(1000) # Convert to secs
 | 
			
		||||
        else:
 | 
			
		||||
            print("get_transceiver_change_event:Invalid timeout value", timeout)
 | 
			
		||||
            return False, {}
 | 
			
		||||
 | 
			
		||||
        end_time = start_time + timeout
 | 
			
		||||
        if start_time > end_time:
 | 
			
		||||
            print('get_transceiver_change_event:' \
 | 
			
		||||
                       'time wrap / invalid timeout value', timeout)
 | 
			
		||||
 | 
			
		||||
            return False, {} # Time wrap or possibly incorrect timeout
 | 
			
		||||
 | 
			
		||||
        while timeout >= 0:
 | 
			
		||||
            change_status = False
 | 
			
		||||
 | 
			
		||||
            cur_presence = self._get_sfp_presence()
 | 
			
		||||
            for port in range(0, self.port_end+1):
 | 
			
		||||
                if cur_presence[port] != self._transceiver_presence[port]:
 | 
			
		||||
                    if cur_presence[port] == 1:
 | 
			
		||||
                        port_dict[port]='1'
 | 
			
		||||
                    else:
 | 
			
		||||
                        port_dict[port]='0'
 | 
			
		||||
                    change_status = True
 | 
			
		||||
 | 
			
		||||
            self._transceiver_presence = cur_presence
 | 
			
		||||
            if change_status:
 | 
			
		||||
                return True, port_dict
 | 
			
		||||
 | 
			
		||||
            if forever:
 | 
			
		||||
                time.sleep(1)
 | 
			
		||||
            else:
 | 
			
		||||
                timeout = end_time - time.time()
 | 
			
		||||
                if timeout >= 1:
 | 
			
		||||
                    time.sleep(1) # We poll at 1 second granularity
 | 
			
		||||
                else:
 | 
			
		||||
                    if timeout > 0:
 | 
			
		||||
                        time.sleep(timeout)
 | 
			
		||||
                    return True, {}
 | 
			
		||||
        print("get_evt_change_event: Should not reach here.")
 | 
			
		||||
        return False, {}
 | 
			
		||||
@@ -0,0 +1,3 @@
 | 
			
		||||
{
 | 
			
		||||
    "skip_ledd": true
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,2 @@
 | 
			
		||||
__all__ = ['chassis', 'eeprom', 'platform', 'psu', 'sfp', 'thermal', 'fan', 'watchdog']
 | 
			
		||||
from . import platform
 | 
			
		||||
@@ -0,0 +1,222 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
#
 | 
			
		||||
# Module contains an implementation of SONiC Platform Base API and
 | 
			
		||||
# provides the Chassis information which are available in the platform
 | 
			
		||||
#
 | 
			
		||||
#############################################################################
 | 
			
		||||
try:
 | 
			
		||||
    import sys
 | 
			
		||||
    import os
 | 
			
		||||
    import time
 | 
			
		||||
    import subprocess
 | 
			
		||||
    from sonic_platform_base.chassis_base import ChassisBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
NUM_FAN = 14
 | 
			
		||||
NUM_PSU = 2
 | 
			
		||||
NUM_THERMAL = 8
 | 
			
		||||
NUM_SFP = 32
 | 
			
		||||
HOST_REBOOT_CAUSE_PATH = "/host/reboot-cause/"
 | 
			
		||||
PMON_REBOOT_CAUSE_PATH = "/usr/share/sonic/platform/api_files/reboot-cause/"
 | 
			
		||||
REBOOT_CAUSE_FILE = "reboot-cause.txt"
 | 
			
		||||
PREV_REBOOT_CAUSE_FILE = "previous-reboot-cause.txt"
 | 
			
		||||
HOST_CHK_CMD = "docker > /dev/null 2>&1"
 | 
			
		||||
GET_HWSKU_CMD = "sonic-cfggen -d -v DEVICE_METADATA.localhost.hwsku"
 | 
			
		||||
GET_PLATFORM_CMD = "sonic-cfggen -d -v DEVICE_METADATA.localhost.platform"
 | 
			
		||||
 | 
			
		||||
class Chassis(ChassisBase):
 | 
			
		||||
    """Platform-specific Chassis class"""
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        super(Chassis, self).__init__()
 | 
			
		||||
 | 
			
		||||
        # Initialize SKU name and Platform name
 | 
			
		||||
        self.sku_name = self._get_sku_name()
 | 
			
		||||
        self.platform_name = self._get_platform_name()
 | 
			
		||||
        self.name = self.sku_name
 | 
			
		||||
 | 
			
		||||
        self._transceiver_presence = [0] * NUM_SFP
 | 
			
		||||
 | 
			
		||||
        self.__initialize_fan()
 | 
			
		||||
        self.__initialize_psu()
 | 
			
		||||
        self.__initialize_thermals()
 | 
			
		||||
        self.__initialize_sfp()
 | 
			
		||||
        self.__initialize_eeprom()
 | 
			
		||||
 | 
			
		||||
    def __initialize_sfp(self):
 | 
			
		||||
        from sonic_platform.sfp import Sfp
 | 
			
		||||
        for index in range(0, NUM_SFP):
 | 
			
		||||
            sfp_module = Sfp(index, 'QSFP_DD')
 | 
			
		||||
            self._sfp_list.append(sfp_module)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def __initialize_fan(self):
 | 
			
		||||
        from sonic_platform.fan import Fan
 | 
			
		||||
        for fan_index in range(0, NUM_FAN):
 | 
			
		||||
            fan = Fan(fan_index)
 | 
			
		||||
            self._fan_list.append(fan)
 | 
			
		||||
 | 
			
		||||
    def __initialize_psu(self):
 | 
			
		||||
        from sonic_platform.psu import Psu
 | 
			
		||||
        for index in range(0, NUM_PSU):
 | 
			
		||||
            psu = Psu(index)
 | 
			
		||||
            self._psu_list.append(psu)
 | 
			
		||||
 | 
			
		||||
    def __initialize_thermals(self):
 | 
			
		||||
        from sonic_platform.thermal import Thermal
 | 
			
		||||
        for index in range(0, NUM_THERMAL):
 | 
			
		||||
            thermal = Thermal(index)
 | 
			
		||||
            self._thermal_list.append(thermal)
 | 
			
		||||
 | 
			
		||||
    def __initialize_eeprom(self):
 | 
			
		||||
        from sonic_platform.eeprom import Tlv
 | 
			
		||||
        self._eeprom = Tlv()
 | 
			
		||||
 | 
			
		||||
    def __is_host(self):
 | 
			
		||||
        return os.system(HOST_CHK_CMD) == 0
 | 
			
		||||
 | 
			
		||||
    def __read_txt_file(self, file_path):
 | 
			
		||||
        try:
 | 
			
		||||
            with open(file_path, 'r') as fd:
 | 
			
		||||
                data = fd.read()
 | 
			
		||||
                return data.strip()
 | 
			
		||||
        except IOError:
 | 
			
		||||
            pass
 | 
			
		||||
        return None
 | 
			
		||||
 | 
			
		||||
    def get_base_mac(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the base MAC address for the chassis
 | 
			
		||||
        Returns:
 | 
			
		||||
            A string containing the MAC address in the format
 | 
			
		||||
            'XX:XX:XX:XX:XX:XX'
 | 
			
		||||
        """
 | 
			
		||||
        return self._eeprom.get_mac()
 | 
			
		||||
 | 
			
		||||
    def get_serial_number(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the hardware serial number for the chassis
 | 
			
		||||
        Returns:
 | 
			
		||||
            A string containing the hardware serial number for this chassis.
 | 
			
		||||
        """
 | 
			
		||||
        return self._eeprom.get_serial()
 | 
			
		||||
 | 
			
		||||
    def get_system_eeprom_info(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the full content of system EEPROM information for the chassis
 | 
			
		||||
        Returns:
 | 
			
		||||
            A dictionary where keys are the type code defined in
 | 
			
		||||
            OCP ONIE TlvInfo EEPROM format and values are their corresponding
 | 
			
		||||
            values.
 | 
			
		||||
        """
 | 
			
		||||
        return self._eeprom.get_eeprom()
 | 
			
		||||
 | 
			
		||||
    def get_reboot_cause(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the cause of the previous reboot
 | 
			
		||||
 | 
			
		||||
        Returns:
 | 
			
		||||
            A tuple (string, string) where the first element is a string
 | 
			
		||||
            containing the cause of the previous reboot. This string must be
 | 
			
		||||
            one of the predefined strings in this class. If the first string
 | 
			
		||||
            is "REBOOT_CAUSE_HARDWARE_OTHER", the second string can be used
 | 
			
		||||
            to pass a description of the reboot cause.
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        reboot_cause_path = (HOST_REBOOT_CAUSE_PATH + REBOOT_CAUSE_FILE) if self.__is_host(
 | 
			
		||||
        ) else PMON_REBOOT_CAUSE_PATH + REBOOT_CAUSE_FILE
 | 
			
		||||
        sw_reboot_cause = self.__read_txt_file(
 | 
			
		||||
            reboot_cause_path) or "Unknown"
 | 
			
		||||
 | 
			
		||||
        if sw_reboot_cause != "Unknown":
 | 
			
		||||
            reboot_cause = self.REBOOT_CAUSE_NON_HARDWARE
 | 
			
		||||
            description = sw_reboot_cause
 | 
			
		||||
        else:
 | 
			
		||||
            reboot_cause = self.REBOOT_CAUSE_HARDWARE_OTHER
 | 
			
		||||
            description = 'Unknown reason'
 | 
			
		||||
 | 
			
		||||
        return (reboot_cause, description)
 | 
			
		||||
 | 
			
		||||
    def _get_sku_name(self):
 | 
			
		||||
        p = subprocess.Popen(GET_HWSKU_CMD, shell=True, stdout=subprocess.PIPE)
 | 
			
		||||
        out, err = p.communicate()
 | 
			
		||||
        return out.decode().rstrip('\n')
 | 
			
		||||
 | 
			
		||||
    def _get_platform_name(self):
 | 
			
		||||
        p = subprocess.Popen(GET_PLATFORM_CMD, shell=True, stdout=subprocess.PIPE)
 | 
			
		||||
        out, err = p.communicate()
 | 
			
		||||
        return out.decode().rstrip('\n')
 | 
			
		||||
 | 
			
		||||
    def get_name(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the name of the device
 | 
			
		||||
        Returns:
 | 
			
		||||
            string: The name of the device
 | 
			
		||||
        """
 | 
			
		||||
        return self.name
 | 
			
		||||
 | 
			
		||||
    def get_sfp(self, index):
 | 
			
		||||
        sfp = None
 | 
			
		||||
        try:
 | 
			
		||||
            sfp = self._sfp_list[index]
 | 
			
		||||
        except IndexError:
 | 
			
		||||
            sys.stderr.write("SFP index {} out of range (0-{})\n".format(index, len(self._sfp_list)-1))
 | 
			
		||||
 | 
			
		||||
        return sfp
 | 
			
		||||
 | 
			
		||||
    def _get_sfp_presence(self):
 | 
			
		||||
        port_pres = {}
 | 
			
		||||
        for port in range(0, NUM_SFP):
 | 
			
		||||
            sfp = self._sfp_list[port]
 | 
			
		||||
            port_pres[port] = sfp.get_presence()
 | 
			
		||||
 | 
			
		||||
        return port_pres
 | 
			
		||||
 | 
			
		||||
    def get_change_event(self, timeout=0):
 | 
			
		||||
        port_dict = {}
 | 
			
		||||
        ret_dict = {'sfp': port_dict}
 | 
			
		||||
        forever = False
 | 
			
		||||
        change_event = False
 | 
			
		||||
 | 
			
		||||
        if timeout == 0:
 | 
			
		||||
            forever = True
 | 
			
		||||
        elif timeout > 0:
 | 
			
		||||
            timeout = timeout / float(1000)
 | 
			
		||||
        else:
 | 
			
		||||
            return False, ret_dict #Incorrect timeout
 | 
			
		||||
 | 
			
		||||
        while True:
 | 
			
		||||
            if forever:
 | 
			
		||||
                timer = 1
 | 
			
		||||
            else:
 | 
			
		||||
                timer = min(timeout, 1)
 | 
			
		||||
                start_time = time.time()
 | 
			
		||||
 | 
			
		||||
            time.sleep(timer)
 | 
			
		||||
            cur_presence = self._get_sfp_presence()
 | 
			
		||||
            for port in range(0, NUM_SFP):
 | 
			
		||||
                if cur_presence[port] != self._transceiver_presence[port]:
 | 
			
		||||
                    change_event = True
 | 
			
		||||
                    if cur_presence[port] == 1:
 | 
			
		||||
                        port_dict[port] = '1'
 | 
			
		||||
                    else:
 | 
			
		||||
                        port_dict[port] = '0'
 | 
			
		||||
 | 
			
		||||
            self._transceiver_presence = cur_presence
 | 
			
		||||
            if change_event == True:
 | 
			
		||||
                break
 | 
			
		||||
 | 
			
		||||
            if not forever:
 | 
			
		||||
                elapsed_time = time.time() - start_time
 | 
			
		||||
                timeout = round(timeout - elapsed_time, 3)
 | 
			
		||||
                if timeout <= 0:
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
        for port in range(0, NUM_SFP):
 | 
			
		||||
            sfp = self._sfp_list[port]
 | 
			
		||||
            sfp.reinit()
 | 
			
		||||
 | 
			
		||||
        return True, ret_dict
 | 
			
		||||
@@ -0,0 +1,110 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
# Platform and model specific eeprom subclass, inherits from the base class,
 | 
			
		||||
# and provides the followings:
 | 
			
		||||
# - the eeprom format definition
 | 
			
		||||
# - specific encoder/decoder if there is special need
 | 
			
		||||
#############################################################################
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    import os
 | 
			
		||||
    import sys
 | 
			
		||||
    import re
 | 
			
		||||
    if sys.version_info[0] >= 3:
 | 
			
		||||
        from io import StringIO
 | 
			
		||||
    else:
 | 
			
		||||
        from cStringIO import StringIO
 | 
			
		||||
    from sonic_platform_base.sonic_eeprom import eeprom_tlvinfo
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
CACHE_ROOT = '/var/cache/sonic/decode-syseeprom'
 | 
			
		||||
CACHE_FILE = 'syseeprom_cache'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Tlv(eeprom_tlvinfo.TlvInfoDecoder):
 | 
			
		||||
 | 
			
		||||
    EEPROM_DECODE_HEADLINES = 6
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        self._eeprom_path = "/sys/bus/i2c/devices/0-0055/eeprom"
 | 
			
		||||
        super(Tlv, self).__init__(self._eeprom_path, 0, '', True)
 | 
			
		||||
        self._eeprom = self._load_eeprom()
 | 
			
		||||
 | 
			
		||||
    def __parse_output(self, decode_output):
 | 
			
		||||
        decode_output.replace('\0', '')
 | 
			
		||||
        lines = decode_output.split('\n')
 | 
			
		||||
        lines = lines[self.EEPROM_DECODE_HEADLINES:]
 | 
			
		||||
        _eeprom_info_dict = dict()
 | 
			
		||||
 | 
			
		||||
        for line in lines:
 | 
			
		||||
            try:
 | 
			
		||||
                match = re.search(
 | 
			
		||||
                    '(0x[0-9a-fA-F]{2})([\s]+[\S]+[\s]+)([\S]+)', line)
 | 
			
		||||
                if match is not None:
 | 
			
		||||
                    idx = match.group(1)
 | 
			
		||||
                    value = match.group(3).rstrip('\0')
 | 
			
		||||
 | 
			
		||||
                _eeprom_info_dict[idx] = value
 | 
			
		||||
            except BaseException:
 | 
			
		||||
                pass
 | 
			
		||||
        return _eeprom_info_dict
 | 
			
		||||
 | 
			
		||||
    def _load_eeprom(self):
 | 
			
		||||
        original_stdout = sys.stdout
 | 
			
		||||
        sys.stdout = StringIO()
 | 
			
		||||
        err = self.read_eeprom_db()
 | 
			
		||||
        if err:
 | 
			
		||||
            # Failed to read EEPROM information from database. Read from cache file
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            decode_output = sys.stdout.getvalue()
 | 
			
		||||
            sys.stdout = original_stdout
 | 
			
		||||
            return self.__parse_output(decode_output)
 | 
			
		||||
 | 
			
		||||
        status = self.check_status()
 | 
			
		||||
        if status < 'ok':
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        if not os.path.exists(CACHE_ROOT):
 | 
			
		||||
            try:
 | 
			
		||||
                os.makedirs(CACHE_ROOT)
 | 
			
		||||
            except OSError:
 | 
			
		||||
                pass
 | 
			
		||||
 | 
			
		||||
        #
 | 
			
		||||
        # only the eeprom classes that inherit from eeprom_base
 | 
			
		||||
        # support caching. Others will work normally
 | 
			
		||||
        #
 | 
			
		||||
        try:
 | 
			
		||||
            self.set_cache_name(os.path.join(CACHE_ROOT, CACHE_FILE))
 | 
			
		||||
        except OSError:
 | 
			
		||||
            pass
 | 
			
		||||
 | 
			
		||||
        e = self.read_eeprom()
 | 
			
		||||
        if e is None:
 | 
			
		||||
            return 0
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            self.update_cache(e)
 | 
			
		||||
        except Exception:
 | 
			
		||||
            pass
 | 
			
		||||
        self.decode_eeprom(e)
 | 
			
		||||
        decode_output = sys.stdout.getvalue()
 | 
			
		||||
        sys.stdout = original_stdout
 | 
			
		||||
 | 
			
		||||
        (is_valid, valid_crc) = self.is_checksum_valid(e)
 | 
			
		||||
        if not is_valid:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return self.__parse_output(decode_output)
 | 
			
		||||
 | 
			
		||||
    def get_eeprom(self):
 | 
			
		||||
        return self._eeprom
 | 
			
		||||
 | 
			
		||||
    def get_serial(self):
 | 
			
		||||
        return self._eeprom.get('0x23', "Undefined.")
 | 
			
		||||
 | 
			
		||||
    def get_mac(self):
 | 
			
		||||
        return self._eeprom.get('0x24', "Undefined.")
 | 
			
		||||
							
								
								
									
										182
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/sonic_platform/fan.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/sonic_platform/fan.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,182 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
#
 | 
			
		||||
# Module contains an implementation of SONiC Platform Base API and
 | 
			
		||||
# provides the fan status which are available in the platform
 | 
			
		||||
#
 | 
			
		||||
#############################################################################
 | 
			
		||||
 | 
			
		||||
import os.path
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from sonic_platform_base.fan_base import FanBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
FAN_PATH = "/sys/bus/i2c/devices/0-0044/"
 | 
			
		||||
FANTRAY_NAME_LIST = ["FANTRAY-1", "FANTRAY-2",
 | 
			
		||||
                     "FANTRAY-3", "FANTRAY-4",
 | 
			
		||||
                     "FANTRAY-5", "FANTRAY-6", "FANTRAY-7"]
 | 
			
		||||
FAN_NAME_LIST = ["fan1_front","fan2_front","fan3_front","fan4_front","fan5_front","fan6_front", "fan7_front",\
 | 
			
		||||
"fan1_rear","fan2_rear","fan3_rear","fan4_rear", "fan5_rear", "fan6_rear", "fan7_rear",]
 | 
			
		||||
 | 
			
		||||
class Fan(FanBase):
 | 
			
		||||
    """Platform-specific Fan class"""
 | 
			
		||||
 | 
			
		||||
    def __init__(self, fan_index):
 | 
			
		||||
        self.fan_tray_index = fan_index
 | 
			
		||||
        self.fan_presence = "fan{}_present"
 | 
			
		||||
        self.fan_direction = "fan{}_direction"
 | 
			
		||||
        self.fan_speed_rpm = "fan{}_input"
 | 
			
		||||
        FanBase.__init__(self)
 | 
			
		||||
 | 
			
		||||
    def __read_txt_file(self, file_path):
 | 
			
		||||
        try:
 | 
			
		||||
            with open(file_path, 'r') as fd:
 | 
			
		||||
                data = fd.read()
 | 
			
		||||
                return data.strip()
 | 
			
		||||
        except IOError:
 | 
			
		||||
            pass
 | 
			
		||||
        return ""
 | 
			
		||||
 | 
			
		||||
    def __write_txt_file(self, file_path, value):
 | 
			
		||||
        try:
 | 
			
		||||
            with open(file_path, 'w') as fd:
 | 
			
		||||
                fd.write(str(value))
 | 
			
		||||
        except BaseException:
 | 
			
		||||
            return False
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def __search_file_by_name(self, directory, file_name):
 | 
			
		||||
        for dirpath, dirnames, files in os.walk(directory):
 | 
			
		||||
            for name in files:
 | 
			
		||||
                file_path = os.path.join(dirpath, name)
 | 
			
		||||
                if name in file_name:
 | 
			
		||||
                    return file_path
 | 
			
		||||
        return None
 | 
			
		||||
 | 
			
		||||
    def get_direction(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the direction of fan
 | 
			
		||||
        Returns:
 | 
			
		||||
            A string, either FAN_DIRECTION_INTAKE or FAN_DIRECTION_EXHAUST
 | 
			
		||||
            depending on fan direction
 | 
			
		||||
        """
 | 
			
		||||
        index1=self.fan_tray_index
 | 
			
		||||
        if self.fan_tray_index>6:
 | 
			
		||||
            index1=self.fan_tray_index%7
 | 
			
		||||
        fan_direction_file = (FAN_PATH +
 | 
			
		||||
            self.fan_direction.format(index1+1))
 | 
			
		||||
        raw = self.__read_txt_file(fan_direction_file).strip('\r\n')
 | 
			
		||||
        direction = self.FAN_DIRECTION_INTAKE if str(
 | 
			
		||||
            raw).upper() == "1" else self.FAN_DIRECTION_EXHAUST
 | 
			
		||||
 | 
			
		||||
        return direction
 | 
			
		||||
 | 
			
		||||
    def get_speed(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the speed of fan as a percentage of full speed
 | 
			
		||||
        Returns:
 | 
			
		||||
            An integer, the percentage of full fan speed, in the range 0 (off)
 | 
			
		||||
                 to 12000 (full speed)
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        speed = 0
 | 
			
		||||
        if self.fan_tray_index<=13:
 | 
			
		||||
            index1=self.fan_tray_index
 | 
			
		||||
            if self.get_presence():
 | 
			
		||||
                fan_speed_file = (FAN_PATH +
 | 
			
		||||
                self.fan_speed_rpm.format(index1+1))
 | 
			
		||||
                speed = self.__read_txt_file(fan_speed_file).strip('\r\n')
 | 
			
		||||
 | 
			
		||||
        return int(speed)
 | 
			
		||||
 | 
			
		||||
    def get_target_speed(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the target (expected) speed of the fan
 | 
			
		||||
        Returns:
 | 
			
		||||
            An integer, the percentage of full fan speed, in the range 0 (off)
 | 
			
		||||
                 to 100 (full speed)
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        speed = 0
 | 
			
		||||
        if self.fan_tray_index<=13:
 | 
			
		||||
            index1=self.fan_tray_index
 | 
			
		||||
            if self.get_presence():
 | 
			
		||||
                fan_speed_file = (FAN_PATH +
 | 
			
		||||
                self.fan_speed_rpm.format(index1+1))
 | 
			
		||||
                speed = self.__read_txt_file(fan_speed_file).strip('\r\n')
 | 
			
		||||
 | 
			
		||||
        return int(speed)
 | 
			
		||||
 | 
			
		||||
    def get_speed_tolerance(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the speed tolerance of the fan
 | 
			
		||||
        Returns:
 | 
			
		||||
            An integer, the percentage of variance from target speed which is
 | 
			
		||||
                 considered tolerable
 | 
			
		||||
        """
 | 
			
		||||
        return 10
 | 
			
		||||
 | 
			
		||||
    def set_speed(self, speed):
 | 
			
		||||
        """
 | 
			
		||||
        Sets the fan speed
 | 
			
		||||
        Args:
 | 
			
		||||
            speed: An integer, the percentage of full fan speed to set fan to,
 | 
			
		||||
                   in the range 0 (off) to 100 (full speed)
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean, True if speed is set successfully, False if not
 | 
			
		||||
 | 
			
		||||
        Note:
 | 
			
		||||
            Depends on pwm or target mode is selected:
 | 
			
		||||
            1) pwm = speed_pc * 255             <-- Currently use this mode.
 | 
			
		||||
            2) target_pwm = speed_pc * 100 / 255
 | 
			
		||||
             2.1) set pwm{}_enable to 3
 | 
			
		||||
 | 
			
		||||
        """
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def set_status_led(self, color):
 | 
			
		||||
        """
 | 
			
		||||
        Sets the state of the fan module status LED
 | 
			
		||||
        Args:
 | 
			
		||||
            color: A string representing the color with which to set the
 | 
			
		||||
                   fan module status LED
 | 
			
		||||
        Returns:
 | 
			
		||||
            bool: True if status LED state is set successfully, False if not
 | 
			
		||||
        """
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def get_name(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the name of the device
 | 
			
		||||
            Returns:
 | 
			
		||||
            string: The name of the device
 | 
			
		||||
        """
 | 
			
		||||
        fan_name = FAN_NAME_LIST[self.fan_tray_index]
 | 
			
		||||
 | 
			
		||||
        return fan_name
 | 
			
		||||
 | 
			
		||||
    def get_presence(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the presence of the PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            bool: True if PSU is present, False if not
 | 
			
		||||
        """
 | 
			
		||||
        index1=self.fan_tray_index
 | 
			
		||||
        if self.fan_tray_index>6:
 | 
			
		||||
            index1=self.fan_tray_index%7
 | 
			
		||||
        fan_direction_file = (FAN_PATH +
 | 
			
		||||
                              self.fan_presence.format(index1+1))
 | 
			
		||||
        present_str = self.__read_txt_file(fan_direction_file) or '1'
 | 
			
		||||
 | 
			
		||||
        return int(present_str) == 1
 | 
			
		||||
 | 
			
		||||
    def get_status(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the operational status of the device
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean value, True if device is operating properly, False if not
 | 
			
		||||
        """
 | 
			
		||||
        return self.get_presence() and self.get_speed() > 0
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
# Module contains an implementation of SONiC Platform Base API and
 | 
			
		||||
# provides the platform information
 | 
			
		||||
#
 | 
			
		||||
#############################################################################
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from sonic_platform_base.platform_base import PlatformBase
 | 
			
		||||
    from sonic_platform.chassis import Chassis
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
class Platform(PlatformBase):
 | 
			
		||||
    """Platform-specific Platform class"""
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        PlatformBase.__init__(self)
 | 
			
		||||
        self._chassis = Chassis()
 | 
			
		||||
							
								
								
									
										248
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/sonic_platform/psu.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										248
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/sonic_platform/psu.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,248 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
# psuutil.py
 | 
			
		||||
# Platform-specific PSU status interface for SONiC
 | 
			
		||||
#############################################################################
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from sonic_platform_base.psu_base import PsuBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
PSU_NAME_LIST = ["PSU-1", "PSU-2"]
 | 
			
		||||
 | 
			
		||||
class Psu(PsuBase):
 | 
			
		||||
    """Platform-specific Psu class"""
 | 
			
		||||
 | 
			
		||||
    SYSFS_PSU_DIR = ["/sys/bus/i2c/devices/0-005a",
 | 
			
		||||
                     "/sys/bus/i2c/devices/0-0059"]
 | 
			
		||||
 | 
			
		||||
    def __init__(self, psu_index):
 | 
			
		||||
        self.index = psu_index
 | 
			
		||||
        PsuBase.__init__(self)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def get_fan(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves object representing the fan module contained in this PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            An object dervied from FanBase representing the fan module
 | 
			
		||||
            contained in this PSU
 | 
			
		||||
        """
 | 
			
		||||
        # Hardware not supported
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def get_powergood_status(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the powergood status of PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean, True if PSU has stablized its output voltages and passed all
 | 
			
		||||
            its internal self-tests, False if not.
 | 
			
		||||
        """
 | 
			
		||||
        return self.get_status()
 | 
			
		||||
 | 
			
		||||
    def set_status_led(self, color):
 | 
			
		||||
        """
 | 
			
		||||
        Sets the state of the PSU status LED
 | 
			
		||||
        Args:
 | 
			
		||||
            color: A string representing the color with which to set the PSU status LED
 | 
			
		||||
                   Note: Only support green and off
 | 
			
		||||
        Returns:
 | 
			
		||||
            bool: True if status LED state is set successfully, False if not
 | 
			
		||||
        """
 | 
			
		||||
        # Hardware not supported
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
    def get_name(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the name of the device
 | 
			
		||||
            Returns:
 | 
			
		||||
            string: The name of the device
 | 
			
		||||
        """
 | 
			
		||||
        return PSU_NAME_LIST[self.index]
 | 
			
		||||
 | 
			
		||||
    def get_presence(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the presence of the PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            bool: True if PSU is present, False if not
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='present'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        status = 0
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_prs:
 | 
			
		||||
                status = int(psu_prs.read())
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return status == 1
 | 
			
		||||
 | 
			
		||||
    def get_status(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the operational status of the device
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean value, True if device is operating properly, False if not
 | 
			
		||||
        """
 | 
			
		||||
        attr_file = 'power_good'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        status = 0
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as power_status:
 | 
			
		||||
                status = int(power_status.read())
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return status == 1
 | 
			
		||||
 | 
			
		||||
    def get_model(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the model number/name of a power supply unit (PSU) defined
 | 
			
		||||
                by 1-based index <idx>
 | 
			
		||||
        :param idx: An integer, 1-based index of the PSU of which to query model number
 | 
			
		||||
        :return: String, denoting model number/name
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='model'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        model = ""
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_model:
 | 
			
		||||
                model = psu_model.read()
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return model
 | 
			
		||||
 | 
			
		||||
        return model
 | 
			
		||||
 | 
			
		||||
    def get_mfr_id(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the manufacturing id of a power supply unit (PSU) defined
 | 
			
		||||
                by 1-based index <idx>
 | 
			
		||||
        :param idx: An integer, 1-based index of the PSU of which to query mfr id
 | 
			
		||||
        :return: String, denoting manufacturing id
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='vendor'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        vendor = ""
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_vendor:
 | 
			
		||||
                vendor = psu_vendor.read()
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return vendor
 | 
			
		||||
 | 
			
		||||
        return vendor
 | 
			
		||||
 | 
			
		||||
    def get_serial(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the serial number of a power supply unit (PSU) defined
 | 
			
		||||
                by 1-based index <idx>
 | 
			
		||||
        :param idx: An integer, 1-based index of the PSU of which to query serial number
 | 
			
		||||
        :return: String, denoting serial number of the PSU unit
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='sn'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        sn = ""
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_sn:
 | 
			
		||||
                sn = psu_sn.read()
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return sn
 | 
			
		||||
 | 
			
		||||
        return sn
 | 
			
		||||
 | 
			
		||||
    def get_temperature(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves current temperature reading from PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number of current temperature in Celsius up to nearest thousandth
 | 
			
		||||
            of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='temp1_input'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        temp = 0.0
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_temp:
 | 
			
		||||
                temp = float(psu_temp.read()) / 1000
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return temp
 | 
			
		||||
 | 
			
		||||
        return temp
 | 
			
		||||
 | 
			
		||||
    def get_temperature_high_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the high threshold temperature of PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the high threshold temperature of PSU in Celsius
 | 
			
		||||
            up to nearest thousandth of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
        return False #Not supported
 | 
			
		||||
 | 
			
		||||
    def get_voltage_high_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the high threshold PSU voltage output
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the high threshold output voltage in volts,
 | 
			
		||||
            e.g. 12.1
 | 
			
		||||
        """
 | 
			
		||||
        return False #Not supported
 | 
			
		||||
 | 
			
		||||
    def get_voltage_low_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the low threshold PSU voltage output
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the low threshold output voltage in volts,
 | 
			
		||||
            e.g. 12.1
 | 
			
		||||
        """
 | 
			
		||||
        return False #Not supported
 | 
			
		||||
 | 
			
		||||
    def get_voltage(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves current PSU voltage output
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the output voltage in volts,
 | 
			
		||||
            e.g. 12.1
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='in2_input'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        volt = 0.0
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_volt:
 | 
			
		||||
                volt = float(psu_volt.read()) / 1000
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return volt
 | 
			
		||||
 | 
			
		||||
        return volt
 | 
			
		||||
 | 
			
		||||
    def get_current(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves present electric current supplied by PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the electric current in amperes, e.g 15.4
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='curr2_input'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        curr = 0.0
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_curr:
 | 
			
		||||
                curr = float(psu_curr.read()) / 1000
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return curr
 | 
			
		||||
 | 
			
		||||
        return curr
 | 
			
		||||
 | 
			
		||||
    def get_power(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves current energy supplied by PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the power in watts, e.g. 302.6
 | 
			
		||||
        """
 | 
			
		||||
        attr_file ='power2_input'
 | 
			
		||||
        attr_path = self.SYSFS_PSU_DIR[self.index-1] +'/' + attr_file
 | 
			
		||||
        power = 0.0
 | 
			
		||||
        try:
 | 
			
		||||
            with open(attr_path, 'r') as psu_power:
 | 
			
		||||
                power = float(psu_power.read()) / 1000000
 | 
			
		||||
        except IOError:
 | 
			
		||||
            return power
 | 
			
		||||
 | 
			
		||||
        return power
 | 
			
		||||
							
								
								
									
										1443
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/sonic_platform/sfp.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1443
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/sonic_platform/sfp.py
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -0,0 +1,136 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
#############################################################################
 | 
			
		||||
#
 | 
			
		||||
# Thermal contains an implementation of SONiC Platform Base API and
 | 
			
		||||
# provides the thermal device status which are available in the platform
 | 
			
		||||
#
 | 
			
		||||
#############################################################################
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import os.path
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from sonic_platform_base.thermal_base import ThermalBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Thermal(ThermalBase):
 | 
			
		||||
    """Platform-specific Thermal class"""
 | 
			
		||||
 | 
			
		||||
    THERMAL_NAME_LIST = []
 | 
			
		||||
    SYSFS_THERMAL_DIR = ["/sys/bus/i2c/devices/0-0068/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-004a/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-0049/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-004b/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-004c/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-004f/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-0048/",
 | 
			
		||||
                         "/sys/bus/i2c/devices/0-004d/"]
 | 
			
		||||
 | 
			
		||||
    def __init__(self, thermal_index):
 | 
			
		||||
        self.index = thermal_index
 | 
			
		||||
 | 
			
		||||
        # Add thermal name
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("Switch")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UFRNT1")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UFRNT2")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UFRNT3")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UFRNT4")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UREAR1")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UCPUB")
 | 
			
		||||
        self.THERMAL_NAME_LIST.append("UFANB")
 | 
			
		||||
        ThermalBase.__init__(self)
 | 
			
		||||
 | 
			
		||||
    def __read_txt_file(self, file_path):
 | 
			
		||||
        try:
 | 
			
		||||
            with open(file_path, 'r') as fd:
 | 
			
		||||
                data = fd.read()
 | 
			
		||||
                return data.strip()
 | 
			
		||||
        except IOError:
 | 
			
		||||
            pass
 | 
			
		||||
        return ""
 | 
			
		||||
 | 
			
		||||
    def __get_temp(self, temp_file):
 | 
			
		||||
        temp_file_path = os.path.join(self.SYSFS_THERMAL_DIR[self.index], temp_file)
 | 
			
		||||
        raw_temp = self.__read_txt_file(temp_file_path)
 | 
			
		||||
        temp = float(raw_temp)/1000
 | 
			
		||||
        return "{:.3f}".format(temp)
 | 
			
		||||
 | 
			
		||||
    def get_temperature(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves current temperature reading from thermal
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number of current temperature in Celsius up to nearest thousandth
 | 
			
		||||
            of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
        temp_file = "temp1_input"
 | 
			
		||||
        return float(self.__get_temp(temp_file))
 | 
			
		||||
 | 
			
		||||
    def get_low_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the low threshold temperature of thermal
 | 
			
		||||
        :return: A float number, the low threshold temperature of thermal in Celsius
 | 
			
		||||
                 up to nearest thousandth of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
        return int(3)
 | 
			
		||||
 | 
			
		||||
    def get_low_critical_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the low critical threshold temperature of thermal
 | 
			
		||||
        :return: A float number, the low critical threshold temperature of thermal in Celsius
 | 
			
		||||
                 up to nearest thousandth of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
        return int(0)
 | 
			
		||||
 | 
			
		||||
    def get_high_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the high threshold temperature of thermal
 | 
			
		||||
        Returns:
 | 
			
		||||
            A float number, the high threshold temperature of thermal in Celsius
 | 
			
		||||
            up to nearest thousandth of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        temp_file = "temp1_max"
 | 
			
		||||
        return float(self.__get_temp(temp_file))
 | 
			
		||||
 | 
			
		||||
    def get_high_critical_threshold(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the high critical threshold temperature of thermal
 | 
			
		||||
        :return: A float number, the high critical threshold temperature of thermal in Celsius
 | 
			
		||||
                 up to nearest thousandth of one degree Celsius, e.g. 30.125
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        temp_file = "temp1_crit"
 | 
			
		||||
        return float(self.__get_temp(temp_file))
 | 
			
		||||
 | 
			
		||||
    def get_name(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the name of the thermal device
 | 
			
		||||
            Returns:
 | 
			
		||||
            string: The name of the thermal device
 | 
			
		||||
        """
 | 
			
		||||
        return self.THERMAL_NAME_LIST[self.index]
 | 
			
		||||
 | 
			
		||||
    def get_presence(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the presence of the PSU
 | 
			
		||||
        Returns:
 | 
			
		||||
            bool: True if PSU is present, False if not
 | 
			
		||||
        """
 | 
			
		||||
        temp_file = "temp1_input"
 | 
			
		||||
        temp_file_path = os.path.join(self.hwmon_path, temp_file)
 | 
			
		||||
        return os.path.isfile(temp_file_path)
 | 
			
		||||
 | 
			
		||||
    def get_status(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the operational status of the device
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean value, True if device is operating properly, False if not
 | 
			
		||||
        """
 | 
			
		||||
        if not self.get_presence():
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,73 @@
 | 
			
		||||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
########################################################################
 | 
			
		||||
#
 | 
			
		||||
# Abstract base class for implementing a platform-specific class with
 | 
			
		||||
# which to interact with a hardware watchdog module in SONiC
 | 
			
		||||
#
 | 
			
		||||
########################################################################
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from sonic_platform_base.watchdog_base import WatchdogBase
 | 
			
		||||
except ImportError as e:
 | 
			
		||||
    raise ImportError(str(e) + "- required module not found")
 | 
			
		||||
 | 
			
		||||
class Watchdog(WatchdogBase):
 | 
			
		||||
    """
 | 
			
		||||
    Abstract base class for interfacing with a hardware watchdog module
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self):
 | 
			
		||||
        print("INFO: Watchdog __init__")
 | 
			
		||||
 | 
			
		||||
    def arm(self, seconds):
 | 
			
		||||
        """
 | 
			
		||||
        Arm the hardware watchdog with a timeout of <seconds> seconds.
 | 
			
		||||
        If the watchdog is currently armed, calling this function will
 | 
			
		||||
        simply reset the timer to the provided value. If the underlying
 | 
			
		||||
        hardware does not support the value provided in <seconds>, this
 | 
			
		||||
        method should arm the watchdog with the *next greater*
 | 
			
		||||
        available value.
 | 
			
		||||
        Returns:
 | 
			
		||||
            An integer specifying the *actual* number of seconds the
 | 
			
		||||
            watchdog was armed with. On failure returns -1.
 | 
			
		||||
        """
 | 
			
		||||
        print("ERROR: Platform did not implement arm()")
 | 
			
		||||
        raise NotImplementedError
 | 
			
		||||
 | 
			
		||||
    def disarm(self):
 | 
			
		||||
        """
 | 
			
		||||
        Disarm the hardware watchdog
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean, True if watchdog is disarmed successfully, False
 | 
			
		||||
            if not
 | 
			
		||||
        """
 | 
			
		||||
        print("ERROR: Platform did not implement disarm()")
 | 
			
		||||
        raise NotImplementedError
 | 
			
		||||
 | 
			
		||||
    def is_armed(self):
 | 
			
		||||
        """
 | 
			
		||||
        Retrieves the armed state of the hardware watchdog.
 | 
			
		||||
        Returns:
 | 
			
		||||
            A boolean, True if watchdog is armed, False if not
 | 
			
		||||
        """
 | 
			
		||||
        print("ERROR: Platform did not implement is_armed()")
 | 
			
		||||
        raise NotImplementedError
 | 
			
		||||
 | 
			
		||||
    def get_remaining_time(self):
 | 
			
		||||
        """
 | 
			
		||||
        If the watchdog is armed, retrieve the number of seconds
 | 
			
		||||
        remaining on the watchdog timer
 | 
			
		||||
        Returns:
 | 
			
		||||
            An integer specifying the number of seconds remaining on
 | 
			
		||||
            their watchdog timer. If the watchdog is not armed, returns
 | 
			
		||||
            -1.
 | 
			
		||||
            S5232 doesnot have hardware support to show remaining time.
 | 
			
		||||
            Due to this limitation, this API is implemented in software.
 | 
			
		||||
            This API would return correct software time difference if it
 | 
			
		||||
            is called from the process which armed the watchdog timer.
 | 
			
		||||
            If this API called from any other process, it would return
 | 
			
		||||
            0. If the watchdog is not armed, this API would return -1.
 | 
			
		||||
        """
 | 
			
		||||
        print("ERROR: Platform did not implement get_remaining_time()")
 | 
			
		||||
        raise NotImplementedError
 | 
			
		||||
							
								
								
									
										1
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/topo.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								device/wistron/x86_64-wistron_6512_32r-r0/topo.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
t1
 | 
			
		||||
@@ -0,0 +1,430 @@
 | 
			
		||||
ifcs:
 | 
			
		||||
  options:
 | 
			
		||||
    log_level: "info"
 | 
			
		||||
nodes:
 | 
			
		||||
- node_id: "0"
 | 
			
		||||
  options:
 | 
			
		||||
    sd_low_power_mode_global_default: "true"
 | 
			
		||||
    sku: "configs/sku/innovium.77700_A"
 | 
			
		||||
    netdev:
 | 
			
		||||
    - auto_create: "no"
 | 
			
		||||
      multi_interface: "yes"
 | 
			
		||||
    mac_clk: "1340"
 | 
			
		||||
    skip_pll_check: "false"
 | 
			
		||||
    sys_clk: "1720"
 | 
			
		||||
    mbist_on_init: "true"
 | 
			
		||||
    ifc_clk: "1200"
 | 
			
		||||
    buffer_management_mode: "api_driven"
 | 
			
		||||
    max_lossless_tc: "2"
 | 
			
		||||
    ilpm_enable: "1"
 | 
			
		||||
    forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
 | 
			
		||||
    ecn_stats_enable: "1"
 | 
			
		||||
    txring:
 | 
			
		||||
    - txring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    rxring:
 | 
			
		||||
    - rxring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
      queues: "0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44"
 | 
			
		||||
    - rxring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
      queues: "1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45"
 | 
			
		||||
    - rxring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
      queues: "2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46"
 | 
			
		||||
    - rxring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
      queues: "3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47"
 | 
			
		||||
  devports:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    sysport: "1000"
 | 
			
		||||
    type: "cpu"
 | 
			
		||||
  - id: "89"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "89"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "81"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "81"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "73"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "73"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "65"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "65"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "57"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "57"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "49"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "49"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "41"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "41"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "33"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "33"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "153"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "153"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "145"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "145"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "137"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "137"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "129"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "129"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "121"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "121"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "113"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "113"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "105"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "105"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "97"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "97"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "209"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "209"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "217"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "217"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "193"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "193"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "201"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "201"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "177"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "177"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "185"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "185"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "161"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "161"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "169"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "169"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "17"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "25"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "0"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "1"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "1"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "9"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "241"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "30"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "241"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "249"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "31"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "249"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "225"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "28"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "225"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "233"
 | 
			
		||||
    fec: "KPFEC"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "29"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "233"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - id: "257"
 | 
			
		||||
    fec: "NONE"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "32"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "257"
 | 
			
		||||
    type: "mgmt 0"
 | 
			
		||||
  - id: "258"
 | 
			
		||||
    fec: "NONE"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "32"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "258"
 | 
			
		||||
    type: "mgmt 1"
 | 
			
		||||
  isg:
 | 
			
		||||
  - id: "11"
 | 
			
		||||
    lane_swap: "27163504"
 | 
			
		||||
    rx_polarity: "01010000"
 | 
			
		||||
    tx_polarity: "01100000"
 | 
			
		||||
  - id: "10"
 | 
			
		||||
    lane_swap: "51604372"
 | 
			
		||||
    rx_polarity: "11001000"
 | 
			
		||||
    tx_polarity: "11110000"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    lane_swap: "17032546"
 | 
			
		||||
    rx_polarity: "10001000"
 | 
			
		||||
    tx_polarity: "00000100"
 | 
			
		||||
  - id: "8"
 | 
			
		||||
    lane_swap: "70435162"
 | 
			
		||||
    rx_polarity: "11000100"
 | 
			
		||||
    tx_polarity: "00100101"
 | 
			
		||||
  - id: "7"
 | 
			
		||||
    lane_swap: "27053416"
 | 
			
		||||
    rx_polarity: "00011001"
 | 
			
		||||
    tx_polarity: "10001000"
 | 
			
		||||
  - id: "6"
 | 
			
		||||
    lane_swap: "70635142"
 | 
			
		||||
    rx_polarity: "10001000"
 | 
			
		||||
    tx_polarity: "01100001"
 | 
			
		||||
  - id: "5"
 | 
			
		||||
    lane_swap: "27053416"
 | 
			
		||||
    rx_polarity: "00001001"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
  - id: "4"
 | 
			
		||||
    lane_swap: "62405173"
 | 
			
		||||
    rx_polarity: "11000101"
 | 
			
		||||
    tx_polarity: "10110000"
 | 
			
		||||
  - id: "19"
 | 
			
		||||
    lane_swap: "06152347"
 | 
			
		||||
    rx_polarity: "11010110"
 | 
			
		||||
    tx_polarity: "10001110"
 | 
			
		||||
  - id: "18"
 | 
			
		||||
    lane_swap: "73614052"
 | 
			
		||||
    rx_polarity: "11001100"
 | 
			
		||||
    tx_polarity: "11100001"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    lane_swap: "17053426"
 | 
			
		||||
    rx_polarity: "10001001"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
  - id: "16"
 | 
			
		||||
    lane_swap: "54216073"
 | 
			
		||||
    rx_polarity: "10000011"
 | 
			
		||||
    tx_polarity: "01001010"
 | 
			
		||||
  - id: "15"
 | 
			
		||||
    lane_swap: "36072514"
 | 
			
		||||
    rx_polarity: "10100000"
 | 
			
		||||
    tx_polarity: "10100001"
 | 
			
		||||
  - id: "14"
 | 
			
		||||
    lane_swap: "50763241"
 | 
			
		||||
    rx_polarity: "00010001"
 | 
			
		||||
    tx_polarity: "01110001"
 | 
			
		||||
  - id: "13"
 | 
			
		||||
    lane_swap: "26071435"
 | 
			
		||||
    rx_polarity: "00000011"
 | 
			
		||||
    tx_polarity: "00101001"
 | 
			
		||||
  - id: "12"
 | 
			
		||||
    lane_swap: "43510627"
 | 
			
		||||
    rx_polarity: "11100100"
 | 
			
		||||
    tx_polarity: "00011101"
 | 
			
		||||
  - id: "26"
 | 
			
		||||
    lane_swap: "31427506"
 | 
			
		||||
    rx_polarity: "10011000"
 | 
			
		||||
    tx_polarity: "11110001"
 | 
			
		||||
  - id: "27"
 | 
			
		||||
    lane_swap: "21735406"
 | 
			
		||||
    rx_polarity: "01011110"
 | 
			
		||||
    tx_polarity: "10011100"
 | 
			
		||||
  - id: "24"
 | 
			
		||||
    lane_swap: "07162435"
 | 
			
		||||
    rx_polarity: "10010000"
 | 
			
		||||
    tx_polarity: "10001010"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    lane_swap: "64501372"
 | 
			
		||||
    rx_polarity: "11010001"
 | 
			
		||||
    tx_polarity: "10001010"
 | 
			
		||||
  - id: "22"
 | 
			
		||||
    lane_swap: "35071624"
 | 
			
		||||
    rx_polarity: "00100011"
 | 
			
		||||
    tx_polarity: "11001011"
 | 
			
		||||
  - id: "23"
 | 
			
		||||
    lane_swap: "64705132"
 | 
			
		||||
    rx_polarity: "11010100"
 | 
			
		||||
    tx_polarity: "11101000"
 | 
			
		||||
  - id: "20"
 | 
			
		||||
    lane_swap: "16270453"
 | 
			
		||||
    rx_polarity: "00101100"
 | 
			
		||||
    tx_polarity: "00001001"
 | 
			
		||||
  - id: "21"
 | 
			
		||||
    lane_swap: "71356204"
 | 
			
		||||
    rx_polarity: "01100010"
 | 
			
		||||
    tx_polarity: "00001011"
 | 
			
		||||
  - id: "2"
 | 
			
		||||
    lane_swap: "37260145"
 | 
			
		||||
    rx_polarity: "10011010"
 | 
			
		||||
    tx_polarity: "11000000"
 | 
			
		||||
  - id: "3"
 | 
			
		||||
    lane_swap: "47512630"
 | 
			
		||||
    rx_polarity: "10010100"
 | 
			
		||||
    tx_polarity: "10101101"
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    lane_swap: "05462713"
 | 
			
		||||
    rx_polarity: "01000000"
 | 
			
		||||
    tx_polarity: "10010010"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    lane_swap: "71605432"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    tx_polarity: "11000101"
 | 
			
		||||
  - id: "30"
 | 
			
		||||
    lane_swap: "37251604"
 | 
			
		||||
    rx_polarity: "11000010"
 | 
			
		||||
    tx_polarity: "11001000"
 | 
			
		||||
  - id: "31"
 | 
			
		||||
    lane_swap: "42736051"
 | 
			
		||||
    rx_polarity: "10000110"
 | 
			
		||||
    tx_polarity: "01000010"
 | 
			
		||||
  - id: "28"
 | 
			
		||||
    lane_swap: "01245736"
 | 
			
		||||
    rx_polarity: "10110101"
 | 
			
		||||
    tx_polarity: "10000001"
 | 
			
		||||
  - id: "29"
 | 
			
		||||
    lane_swap: "52706134"
 | 
			
		||||
    rx_polarity: "00010010"
 | 
			
		||||
    tx_polarity: "10101010"
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_A
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 6, 5, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_B
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 7, 6, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 1, 3
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 0, 2
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,8 @@
 | 
			
		||||
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/6512-32_32x400G.config.yaml"
 | 
			
		||||
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
 | 
			
		||||
IFCS_INNO_CLI_PORT : "9999"
 | 
			
		||||
IFCS_TARGET : "device"
 | 
			
		||||
INNOVIUM_DIR : "/innovium"
 | 
			
		||||
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
 | 
			
		||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
 | 
			
		||||
IVM_SAI_PARAM_A0008: "32"
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
 | 
			
		||||
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
 | 
			
		||||
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
 | 
			
		||||
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
 | 
			
		||||
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
 | 
			
		||||
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
 | 
			
		||||
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
# PG lossless profiles.
 | 
			
		||||
# speed   cable size  xon  xoff  threshold xon_offset
 | 
			
		||||
  25000   5m    1518  0    15680   1       13440
 | 
			
		||||
  50000   5m    1518  0    21248   1       13440
 | 
			
		||||
  100000  5m    1518  0    34624   1       13440
 | 
			
		||||
  400000  5m    1518  0    117536  1       13440
 | 
			
		||||
  25000   40m   1518  0    16928   1       13440
 | 
			
		||||
  50000   40m   1518  0    23392   1       13440
 | 
			
		||||
  100000  40m   1518  0    38816   1       13440
 | 
			
		||||
  400000  40m   1518  0    135520  1       13440
 | 
			
		||||
  25000   100m  1518  0    18848   1       13440
 | 
			
		||||
  50000   100m  1518  0    27264   1       13440
 | 
			
		||||
  100000  100m  1518  0    46496   1       13440
 | 
			
		||||
  400000  100m  1518  0    166688  1       13440
 | 
			
		||||
  25000   300m  1518  0    25184   1       13440
 | 
			
		||||
  50000   300m  1518  0    40128   1       13440
 | 
			
		||||
  100000  300m  1518  0    72384   1       13440
 | 
			
		||||
  400000  300m  1518  0    268640  1       13440
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
# name              lanes                               alias       speed       index   mtu      fec
 | 
			
		||||
Ethernet0           89,90,91,92,93,94,95,96             Eth1        400000      0       9126     rs
 | 
			
		||||
Ethernet8           81,82,83,84,85,86,87,88             Eth2        400000      1       9126     rs
 | 
			
		||||
Ethernet16          73,74,75,76,77,78,79,80             Eth3        400000      2       9126     rs
 | 
			
		||||
Ethernet24          65,66,67,68,69,70,71,72             Eth4        400000      3       9126     rs
 | 
			
		||||
Ethernet32          57,58,59,60,61,62,63,64             Eth5        400000      4       9126     rs
 | 
			
		||||
Ethernet40          49,50,51,52,53,54,55,56             Eth6        400000      5       9126     rs
 | 
			
		||||
Ethernet48          41,42,43,44,45,46,47,48             Eth7        400000      6       9126     rs
 | 
			
		||||
Ethernet56          33,34,35,36,37,38,39,40             Eth8        400000      7       9126     rs
 | 
			
		||||
Ethernet64          153,154,155,156,157,158,159,160     Eth9        400000      8       9126     rs
 | 
			
		||||
Ethernet72          145,146,147,148,149,150,151,152     Eth10       400000      9       9126     rs
 | 
			
		||||
Ethernet80          137,138,139,140,141,142,143,144     Eth11       400000      10      9126     rs
 | 
			
		||||
Ethernet88          129,130,131,132,133,134,135,136     Eth12       400000      11      9126     rs
 | 
			
		||||
Ethernet96          121,122,123,124,125,126,127,128     Eth13       400000      12      9126     rs
 | 
			
		||||
Ethernet104         113,114,115,116,117,118,119,120     Eth14       400000      13      9126     rs
 | 
			
		||||
Ethernet112         105,106,107,108,109,110,111,112     Eth15       400000      14      9126     rs
 | 
			
		||||
Ethernet120         97,98,99,100,101,102,103,104        Eth16       400000      15      9126     rs
 | 
			
		||||
Ethernet128         209,210,211,212,213,214,215,216     Eth17       400000      16      9126     rs
 | 
			
		||||
Ethernet136         217,218,219,220,221,222,223,224     Eth18       400000      17      9126     rs
 | 
			
		||||
Ethernet144         193,194,195,196,197,198,199,200     Eth19       400000      18      9126     rs
 | 
			
		||||
Ethernet152         201,202,203,204,205,206,207,208     Eth20       400000      19      9126     rs
 | 
			
		||||
Ethernet160         177,178,179,180,181,182,183,184     Eth21       400000      20      9126     rs
 | 
			
		||||
Ethernet168         185,186,187,188,189,190,191,192     Eth22       400000      21      9126     rs
 | 
			
		||||
Ethernet176         161,162,163,164,165,166,167,168     Eth23       400000      22      9126     rs
 | 
			
		||||
Ethernet184         169,170,171,172,173,174,175,176     Eth24       400000      23      9126     rs
 | 
			
		||||
Ethernet192         17,18,19,20,21,22,23,24             Eth25       400000      24      9126     rs
 | 
			
		||||
Ethernet200         25,26,27,28,29,30,31,32             Eth26       400000      25      9126     rs
 | 
			
		||||
Ethernet208         1,2,3,4,5,6,7,8                     Eth27       400000      26      9126     rs
 | 
			
		||||
Ethernet216         9,10,11,12,13,14,15,16              Eth28       400000      27      9126     rs
 | 
			
		||||
Ethernet224         241,242,243,244,245,246,247,248     Eth29       400000      28      9126     rs
 | 
			
		||||
Ethernet232         249,250,251,252,253,254,255,256     Eth30       400000      29      9126     rs
 | 
			
		||||
Ethernet240         225,226,227,228,229,230,231,232     Eth31       400000      30      9126     rs
 | 
			
		||||
Ethernet248         233,234,235,236,237,238,239,240     Eth32       400000      31      9126     rs
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,114 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"1",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
 | 
			
		||||
            "pfc_enable": "3,4"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "WRED_PROFILE": {
 | 
			
		||||
        "AZURE_LOSSLESS" : {
 | 
			
		||||
            "red_min_threshold":"50000"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml
 | 
			
		||||
							
								
								
									
										342
									
								
								device/wistron/x86_64-wistron_sw_to3200k-r0/CSV/TL7_DAC_1M.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										342
									
								
								device/wistron/x86_64-wistron_sw_to3200k-r0/CSV/TL7_DAC_1M.csv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,342 @@
 | 
			
		||||
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
1.2,DAC_1M,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,SPEED,ENCODING,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,,,,
 | 
			
		||||
,,,50G/400G,PAM4,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,10G/40G,NRZ,,,,,,,LT 50G/400G ,PAM4,,,,,,,ANLT 25G/100G ,NRZ,,,,,,,,,,
 | 
			
		||||
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_CTLE_LF,RX_CTLE_HF,RX_CTLE_BW,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_25G,SD_RESET_THRESHOLD_25G,LINK_TRAINING,AN,AN_ABILITY,FEC
 | 
			
		||||
0,0,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
1,0,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
2,0,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
3,0,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
4,0,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
5,0,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
6,0,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
7,0,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
8,1,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
9,1,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
10,1,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
11,1,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
12,1,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
13,1,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
14,1,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
15,1,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
16,2,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
17,2,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
18,2,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
19,2,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
20,2,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
21,2,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
22,2,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
23,2,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
24,3,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
25,3,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
26,3,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
27,3,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
28,3,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
29,3,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
30,3,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
31,3,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
32,4,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
33,4,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
34,4,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
35,4,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
36,4,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
37,4,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
38,4,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
39,4,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
40,5,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
41,5,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
42,5,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
43,5,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
44,5,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
45,5,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
46,5,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
47,5,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
48,6,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
49,6,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
50,6,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
51,6,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
52,6,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
53,6,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
54,6,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
55,6,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
56,7,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
57,7,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
58,7,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
59,7,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
60,7,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
61,7,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
62,7,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
63,7,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
64,8,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
65,8,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
66,8,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
67,8,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
68,8,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
69,8,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
70,8,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
71,8,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
72,9,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
73,9,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
74,9,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
75,9,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
76,9,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
77,9,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
78,9,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
79,9,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
80,10,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
81,10,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
82,10,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
83,10,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
84,10,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
85,10,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
86,10,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
87,10,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
88,11,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
89,11,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
90,11,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
91,11,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
92,11,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
93,11,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
94,11,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
95,11,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
96,12,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
97,12,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
98,12,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
99,12,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
100,12,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
101,12,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
102,12,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
103,12,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
104,13,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
105,13,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
106,13,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
107,13,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
108,13,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
109,13,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
110,13,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
111,13,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
112,14,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
113,14,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
114,14,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
115,14,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
116,14,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
117,14,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
118,14,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
119,14,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
120,15,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
121,15,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
122,15,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
123,15,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
124,15,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
125,15,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
126,15,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
127,15,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
128,16,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
129,16,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
130,16,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
131,16,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
132,16,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
133,16,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
134,16,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
135,16,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
136,17,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
137,17,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
138,17,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
139,17,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
140,17,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
141,17,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
142,17,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
143,17,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
144,18,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
145,18,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
146,18,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
147,18,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
148,18,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
149,18,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
150,18,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
151,18,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
152,19,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
153,19,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
154,19,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
155,19,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
156,19,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
157,19,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
158,19,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
159,19,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
160,20,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
161,20,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
162,20,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
163,20,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
164,20,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
165,20,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
166,20,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
167,20,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
168,21,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
169,21,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
170,21,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
171,21,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
172,21,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
173,21,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
174,21,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
175,21,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
176,22,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
177,22,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
178,22,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
179,22,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
180,22,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
181,22,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
182,22,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
183,22,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
184,23,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
185,23,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
186,23,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
187,23,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
188,23,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
189,23,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
190,23,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
191,23,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
192,24,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
193,24,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
194,24,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
195,24,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
196,24,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
197,24,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
198,24,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
199,24,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
200,25,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
201,25,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
202,25,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
203,25,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
204,25,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
205,25,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
206,25,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
207,25,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
208,26,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
209,26,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
210,26,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
211,26,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
212,26,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
213,26,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
214,26,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
215,26,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
216,27,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
217,27,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
218,27,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
219,27,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
220,27,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
221,27,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
222,27,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
223,27,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
224,28,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
225,28,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
226,28,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
227,28,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
228,28,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
229,28,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
230,28,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
231,28,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
232,29,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
233,29,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
234,29,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
235,29,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
236,29,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
237,29,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
238,29,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
239,29,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
240,30,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
241,30,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
242,30,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
243,30,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
244,30,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
245,30,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
246,30,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
247,30,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
248,31,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
249,31,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
250,31,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
251,31,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
252,31,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
253,31,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
254,31,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
255,31,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,0,1,130,100,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
		
		
			
  | 
							
								
								
									
										342
									
								
								device/wistron/x86_64-wistron_sw_to3200k-r0/CSV/TL7_DAC_3M.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										342
									
								
								device/wistron/x86_64-wistron_sw_to3200k-r0/CSV/TL7_DAC_3M.csv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,342 @@
 | 
			
		||||
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
1.2,DAC_3M,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,SPEED,ENCODING,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,SPEED,ENCODING,,,,,,,,,,
 | 
			
		||||
,,,50G/400G,PAM4,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,10G/40G,NRZ,,,,,,,LT 50G/400G,PAM4,,,,,,,ANLT 25G/100G,NRZ,,,,,,,,,,
 | 
			
		||||
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_CTLE_LF,RX_CTLE_HF,RX_CTLE_BW,LINK_TRAINING,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_25G,SD_RESET_THRESHOLD_25G,LINK_TRAINING,AN,AN_ABILITY,FEC
 | 
			
		||||
0,0,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
1,0,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
2,0,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
3,0,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
4,0,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
5,0,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
6,0,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
7,0,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
8,1,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
9,1,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
10,1,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
11,1,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
12,1,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
13,1,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
14,1,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
15,1,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
16,2,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
17,2,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
18,2,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
19,2,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
20,2,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
21,2,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
22,2,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
23,2,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
24,3,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
25,3,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
26,3,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
27,3,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
28,3,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
29,3,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
30,3,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
31,3,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
32,4,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
33,4,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
34,4,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
35,4,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
36,4,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
37,4,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
38,4,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
39,4,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
40,5,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
41,5,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
42,5,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
43,5,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
44,5,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
45,5,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
46,5,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
47,5,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
48,6,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
49,6,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
50,6,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
51,6,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
52,6,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
53,6,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
54,6,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
55,6,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
56,7,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
57,7,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
58,7,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
59,7,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
60,7,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
61,7,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
62,7,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
63,7,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
64,8,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
65,8,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
66,8,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
67,8,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
68,8,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
69,8,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
70,8,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
71,8,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
72,9,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
73,9,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
74,9,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
75,9,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
76,9,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
77,9,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
78,9,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
79,9,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
80,10,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
81,10,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
82,10,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
83,10,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
84,10,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
85,10,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
86,10,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
87,10,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
88,11,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
89,11,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
90,11,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
91,11,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
92,11,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
93,11,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
94,11,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
95,11,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
96,12,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
97,12,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
98,12,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
99,12,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
100,12,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
101,12,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
102,12,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
103,12,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
104,13,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
105,13,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
106,13,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
107,13,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
108,13,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
109,13,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
110,13,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
111,13,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
112,14,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
113,14,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
114,14,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
115,14,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
116,14,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
117,14,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
118,14,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
119,14,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
120,15,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
121,15,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
122,15,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
123,15,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
124,15,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
125,15,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
126,15,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
127,15,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
128,16,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
129,16,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
130,16,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
131,16,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
132,16,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
133,16,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
134,16,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
135,16,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
136,17,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
137,17,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
138,17,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
139,17,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
140,17,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
141,17,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
142,17,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
143,17,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
144,18,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
145,18,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
146,18,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
147,18,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
148,18,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
149,18,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
150,18,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
151,18,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
152,19,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
153,19,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
154,19,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
155,19,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
156,19,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
157,19,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
158,19,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
159,19,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
160,20,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
161,20,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
162,20,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
163,20,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
164,20,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
165,20,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
166,20,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
167,20,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
168,21,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
169,21,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
170,21,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
171,21,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
172,21,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
173,21,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
174,21,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
175,21,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
176,22,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
177,22,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
178,22,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
179,22,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
180,22,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
181,22,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
182,22,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
183,22,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
184,23,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
185,23,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
186,23,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
187,23,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
188,23,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
189,23,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
190,23,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
191,23,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
192,24,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
193,24,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
194,24,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
195,24,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
196,24,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
197,24,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
198,24,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
199,24,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
200,25,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
201,25,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
202,25,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
203,25,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
204,25,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
205,25,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
206,25,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
207,25,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
208,26,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
209,26,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
210,26,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
211,26,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
212,26,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
213,26,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
214,26,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
215,26,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
216,27,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
217,27,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
218,27,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
219,27,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
220,27,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
221,27,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
222,27,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
223,27,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
224,28,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
225,28,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
226,28,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
227,28,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
228,28,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
229,28,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
230,28,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
231,28,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
232,29,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
233,29,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
234,29,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
235,29,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
236,29,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
237,29,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
238,29,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
239,29,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
240,30,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
241,30,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
242,30,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
243,30,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
244,30,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
245,30,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
246,30,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
247,30,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
248,31,0,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
249,31,1,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
250,31,2,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
251,31,3,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
252,31,4,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
253,31,5,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
254,31,6,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
255,31,7,0,0,0,0,0,Medium,HIGH,0,2,0,0,0,0,0,0,2,2,130,150,Low,Low,5,TRUE,0,3,2,-2,0,4,0,1,0,0,2,Medium,High,0,10,10,1,0,1,130,100,Low,Low,0,NA,1,1,100GBASE-KR4,NONE
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
		
		
			
  | 
							
								
								
									
										289
									
								
								device/wistron/x86_64-wistron_sw_to3200k-r0/CSV/TL7_Optics.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								device/wistron/x86_64-wistron_sw_to3200k-r0/CSV/TL7_Optics.csv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,289 @@
 | 
			
		||||
VERSION,CABLE TYPE,VENDOR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
1.2,OPTICS,GENERIC,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,SPEED,ENCODING,,,,,,,,,,SPEED,ENCODING,,,,,,,,,,,,,,SPEED,ENCODING,,,,,,
 | 
			
		||||
,,,50G/400G,PAM4,,,,,,,,,,25G/100G,NRZ,,,,,,,,,,,,,,10G/40G,NRZ,,,,,,
 | 
			
		||||
index,Front Port,lane,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_EQ_COARSE_TUNE_EFFORT_50G,RX_EQ_FINE_TUNE_EFFORT_50G,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,Optical Module CTLE,RX_GAINSHAPE1,RX_GAINSHAPE2,RX_AGC_TARGET,RX_EYE_DISQUALIFY_THRESHOLD_25G,RX_EQ_COARSE_TUNE_EFFORT_25G,RX_EQ_FINE_TUNE_EFFORT_25G,SD_RESET_THRESHOLD,SD_RESET_25G,LINK_TRAINING,TX_EQ_ATTN,TX_EQ_PRE1,TX_EQ_PRE2,TX_EQ_PRE3,TX_EQ_POST,RX_GAINSHAPE1,RX_GAINSHAPE2,LINK_TRAINING
 | 
			
		||||
0,0,0,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,3,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
1,0,1,0,4,-1,0,2,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
2,0,2,0,4,0,0,0,6,Medium,High,0,2,0,0,4,0,0,4,3,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
3,0,3,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,3,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
4,0,4,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
5,0,5,0,4,0,0,4,5.5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
6,0,6,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
7,0,7,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,High,High,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
8,1,0,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
9,1,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
10,1,2,0,4,0,0,0,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
11,1,3,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
12,1,4,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,-1,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
13,1,5,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
14,1,6,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,6,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
15,1,7,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
16,2,0,0,4,0,0,0,6,Medium,High,0,2,0,0,2,0,0,4,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
17,2,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
18,2,2,0,4,0,0,0,6,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
19,2,3,0,4,0,0,0,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
20,2,4,0,4,0,0,4,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
21,2,5,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
22,2,6,0,4,0,0,4,5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
23,2,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
24,3,0,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
25,3,1,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
26,3,2,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
27,3,3,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
28,3,4,0,4,-1,0,0,5.5,Medium,High,0,2,0,0,4,0,0,4,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
29,3,5,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
30,3,6,0,2,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
31,3,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
32,4,0,0,4,0,0,2,4,Medium,High,0,2,0,0,4,0,1,2,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
33,4,1,0,2,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
34,4,2,0,4,0,0,2,4,Medium,High,0,2,0,0,2,0,0,2,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
35,4,3,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
36,4,4,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
37,4,5,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
38,4,6,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
39,4,7,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
40,5,0,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
41,5,1,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
42,5,2,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
43,5,3,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
44,5,4,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
45,5,5,0,2,0,0,4,4,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
46,5,6,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
47,5,7,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
48,6,0,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
49,6,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
50,6,2,0,4,0,0,2,4,Medium,High,0,2,0,0,4,-1,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
51,6,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
52,6,4,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
53,6,5,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
54,6,6,0,2,0,0,2,5.5,Medium,High,0,2,0,0,2,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
55,6,7,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
56,7,0,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
57,7,1,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
58,7,2,0,4,-1,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
59,7,3,0,4,0,0,2,4,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
60,7,4,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
61,7,5,0,4,0,0,0,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
62,7,6,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
63,7,7,0,4,0,0,4,4,Medium,High,0,2,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
64,8,0,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
65,8,1,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
66,8,2,0,4,0,0,2,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
67,8,3,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
68,8,4,0,4,0,0,4,6,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
69,8,5,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
70,8,6,0,2,0,0,4,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
71,8,7,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
72,9,0,0,4,0,0,4,5.5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
73,9,1,0,4,0,0,0,6.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
74,9,2,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
75,9,3,0,4,0,0,0,6.5,Medium,High,0,2,0,0,4,0,0,4,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
76,9,4,0,4,0,0,4,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
77,9,5,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
78,9,6,0,4,0,0,2,6,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
79,9,7,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
80,10,0,0,4,0,0,4,4,Medium,High,0,2,0,0,4,0,0,4,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
81,10,1,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
82,10,2,0,4,0,0,4,4,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
83,10,3,0,4,0,0,2,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
84,10,4,0,4,-1,0,4,6,Medium,High,0,2,0,0,4,0,0,4,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
85,10,5,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
86,10,6,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
87,10,7,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
88,11,0,0,4,0,0,0,6.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
89,11,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
90,11,2,0,4,0,0,0,6,Medium,High,0,2,0,0,4,0,1,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
91,11,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
92,11,4,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
93,11,5,0,4,0,0,2,7,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
94,11,6,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
95,11,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
96,12,0,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
97,12,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
98,12,2,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
99,12,3,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
100,12,4,0,4,0,0,2,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
101,12,5,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
102,12,6,0,4,0,0,4,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
103,12,7,0,4,0,0,0,5.5,Medium,High,0,2,0,1,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
104,13,0,0,2,0,0,4,4.5,Medium,High,0,2,0,0,4,-1,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
105,13,1,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
106,13,2,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
107,13,3,0,2,0,0,2,4.5,Medium,High,0,2,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
108,13,4,0,4,0,0,2,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
109,13,5,0,4,0,0,4,4,Medium,High,0,2,0,0,4,0,1,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
110,13,6,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
111,13,7,0,4,-1,0,0,5,Medium,High,0,2,0,0,4,-1,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
112,14,0,0,4,0,0,0,5,Medium,High,0,2,0,0,2,0,0,2,2,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
113,14,1,0,4,0,0,2,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
114,14,2,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,1,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
115,14,3,0,4,0,0,0,5,Medium,High,0,2,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
116,14,4,0,4,0,0,4,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
117,14,5,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
118,14,6,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
119,14,7,0,4,0,0,0,5,Medium,High,0,2,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
120,15,0,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
121,15,1,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
122,15,2,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
123,15,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
124,15,4,0,4,-1,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
125,15,5,0,4,0,0,0,5,Medium,High,0,2,0,0,4,-1,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
126,15,6,0,4,0,0,0,4.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
127,15,7,0,4,0,0,0,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
128,16,0,0,2,0,0,2,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
129,16,1,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
130,16,2,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,1,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
131,16,3,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
132,16,4,0,4,0,0,0,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
133,16,5,0,2,0,0,2,5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
134,16,6,0,4,0,0,0,6.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
135,16,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
136,17,0,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
137,17,1,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
138,17,2,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
139,17,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
140,17,4,1,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
141,17,5,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
142,17,6,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
143,17,7,0,4,0,0,2,5,Medium,High,0,2,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
144,18,0,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
145,18,1,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
146,18,2,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
147,18,3,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
148,18,4,0,2,0,0,0,7,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
149,18,5,0,2,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
150,18,6,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
151,18,7,0,4,0,0,4,4,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
152,19,0,0,2,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
153,19,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
154,19,2,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
155,19,3,0,4,0,0,-2,6,Medium,High,0,2,0,0,4,-1,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
156,19,4,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
157,19,5,0,4,0,0,0,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
158,19,6,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
159,19,7,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
160,20,0,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
161,20,1,0,2,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
162,20,2,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
163,20,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
164,20,4,0,2,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
165,20,5,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
166,20,6,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
167,20,7,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
168,21,0,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
169,21,1,0,4,-1,0,0,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
170,21,2,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
171,21,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
172,21,4,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
173,21,5,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
174,21,6,0,2,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
175,21,7,0,4,0,0,2,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
176,22,0,0,4,0,0,4,5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
177,22,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
178,22,2,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,4,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
179,22,3,0,4,-1,0,4,5.5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
180,22,4,0,4,0,0,4,4.5,Medium,High,0,2,0,0,2,-1,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
181,22,5,0,4,0,0,4,4.5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
182,22,6,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
183,22,7,0,4,0,0,4,5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
184,23,0,0,2,0,0,2,6,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
185,23,1,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
186,23,2,0,4,0,0,2,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
187,23,3,0,4,0,0,0,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
188,23,4,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
189,23,5,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
190,23,6,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
191,23,7,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,2,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
192,24,0,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
193,24,1,0,2,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
194,24,2,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
195,24,3,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
196,24,4,0,4,0,0,4,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
197,24,5,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
198,24,6,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
199,24,7,0,4,0,0,2,4,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
200,25,0,0,4,0,0,0,5.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
201,25,1,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
202,25,2,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
203,25,3,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
204,25,4,0,4,0,0,0,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
205,25,5,0,4,0,0,0,5,Medium,High,0,2,0,1,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
206,25,6,0,4,0,0,2,5,Medium,High,0,2,0,0,4,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
207,25,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,0,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
208,26,0,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,-1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
209,26,1,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
210,26,2,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
211,26,3,0,4,0,0,2,4.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
212,26,4,0,2,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
213,26,5,0,4,0,0,0,5.5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
214,26,6,0,4,0,0,4,3.5,Medium,High,0,2,0,0,2,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
215,26,7,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
216,27,0,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
217,27,1,0,4,0,0,2,6,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
218,27,2,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
219,27,3,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,2,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
220,27,4,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
221,27,5,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
222,27,6,0,2,0,0,0,6,Medium,High,0,2,0,0,4,0,0,2,5,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
223,27,7,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
224,28,0,0,4,0,0,0,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
225,28,1,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
226,28,2,0,4,0,0,0,4.5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
227,28,3,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
228,28,4,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
229,28,5,0,2,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
230,28,6,0,2,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
231,28,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,0,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
232,29,0,0,4,0,0,4,4,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
233,29,1,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
234,29,2,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
235,29,3,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
236,29,4,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
237,29,5,0,4,0,0,4,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
238,29,6,0,4,0,0,2,5,Medium,High,0,2,0,0,2,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
239,29,7,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
240,30,0,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,3,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
241,30,1,0,4,0,0,2,5.5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
242,30,2,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
243,30,3,0,2,0,0,2,6,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
244,30,4,0,4,0,0,2,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
245,30,5,0,4,0,0,4,5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
246,30,6,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
247,30,7,0,4,0,0,4,5,Medium,High,0,2,0,0,2,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
248,31,0,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
249,31,1,0,4,0,-1,2,5.5,Medium,High,0,2,0,0,4,0,1,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
250,31,2,0,4,0,0,2,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
251,31,3,0,4,0,0,4,4.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
252,31,4,0,4,-1,0,4,5.5,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
253,31,5,0,4,0,0,4,6,Medium,High,0,2,0,0,4,0,0,4,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
254,31,6,0,4,0,0,2,5,Medium,High,0,2,0,0,4,-1,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
255,31,7,0,4,0,0,2,5.5,Medium,High,0,2,0,0,4,0,0,2,4,0,0,100,100,LOW,LOW,NA,FALSE,0,0,0,0,0,0,0,0,0
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
		
		
			
  | 
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,426 @@
 | 
			
		||||
ifcs:
 | 
			
		||||
  options:
 | 
			
		||||
    log_level: "info"
 | 
			
		||||
nodes:
 | 
			
		||||
- node_id: "0"
 | 
			
		||||
  options:
 | 
			
		||||
    sd_low_power_mode_global_default: "true"
 | 
			
		||||
    sku: "configs/sku/innovium.77700_A"
 | 
			
		||||
    netdev:
 | 
			
		||||
    - auto_create: "no"
 | 
			
		||||
      multi_interface: "yes"
 | 
			
		||||
    buffer_management_mode: "api_driven"
 | 
			
		||||
    max_lossless_tc: "2"
 | 
			
		||||
    ilpm_enable: "1"
 | 
			
		||||
    forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
 | 
			
		||||
    ecn_stats_enable: "1"
 | 
			
		||||
    pcie_attn: "10, 0, 0, 0"
 | 
			
		||||
    pcie_post: "10, 18, 18, 18"
 | 
			
		||||
    pcie_pre1: "0, 0, 0, 0"
 | 
			
		||||
    led_cfg_sck_rate: "0x5"
 | 
			
		||||
    led_refresh_precliff_timer: "0x18eec2"
 | 
			
		||||
    led_refresh_cliff_timer: "0x15e"
 | 
			
		||||
    led_cfg_pic_stream_mode: "1"
 | 
			
		||||
    led_refresh_tmr_ctl_enable: "1"
 | 
			
		||||
    txring:
 | 
			
		||||
    - txring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    rxring:
 | 
			
		||||
    - rxring_id: "0"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39"  
 | 
			
		||||
    - rxring_id: "1"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"    
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40"  
 | 
			
		||||
    - rxring_id: "2"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 47" 
 | 
			
		||||
    - rxring_id: "3"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      queues: "42, 43, 44, 45, 46" 
 | 
			
		||||
    sys_clk: "1720"
 | 
			
		||||
    ifc_clk: "1200"
 | 
			
		||||
    mac_clk: "1340"
 | 
			
		||||
 | 
			
		||||
  devports:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    sysport: "1000"
 | 
			
		||||
    type: "cpu"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "89"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "89"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "81"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "81"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "73"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "73"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "65"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "65"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "57"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "57"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "49"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "49"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "41"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "41"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "33"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "33"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "153"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "153"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "145"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "145"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "137"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "137"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "129"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "129"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "121"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "121"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "113"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "113"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "105"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "105"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "97"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "97"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "209"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "209"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "217"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "217"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "193"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "193"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "201"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "201"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "177"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "177"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "185"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "185"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "161"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "161"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "169"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "169"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "17"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "17"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "25"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "25"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "1"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "0"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "1"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "9"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "1"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "9"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "241"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "30"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "241"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "249"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "31"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "249"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "225"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "28"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "225"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "233"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "29"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "233"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  isg:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "57234601"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    tx_polarity: "01000101"
 | 
			
		||||
    rx_polarity: "01110011"
 | 
			
		||||
    lane_swap: "51364072"
 | 
			
		||||
  - id: "2"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "57043621"
 | 
			
		||||
  - id: "3"
 | 
			
		||||
    tx_polarity: "00000110"
 | 
			
		||||
    rx_polarity: "00100111"
 | 
			
		||||
    lane_swap: "56024371"
 | 
			
		||||
  - id: "4"
 | 
			
		||||
    tx_polarity: "00110101"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "65137402"
 | 
			
		||||
  - id: "5"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "61704253"
 | 
			
		||||
  - id: "6"
 | 
			
		||||
    tx_polarity: "10010010"
 | 
			
		||||
    rx_polarity: "00000100"
 | 
			
		||||
    lane_swap: "64027315"
 | 
			
		||||
  - id: "7"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10111011"
 | 
			
		||||
    lane_swap: "60714253"
 | 
			
		||||
  - id: "8"
 | 
			
		||||
    tx_polarity: "10100110"
 | 
			
		||||
    rx_polarity: "00010101"
 | 
			
		||||
    lane_swap: "67042315"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010000"
 | 
			
		||||
    lane_swap: "20716453"
 | 
			
		||||
  - id: "10"
 | 
			
		||||
    tx_polarity: "00010000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "57026314"
 | 
			
		||||
  - id: "11"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "37014625"
 | 
			
		||||
  - id: "12"
 | 
			
		||||
    tx_polarity: "00100001"
 | 
			
		||||
    rx_polarity: "00110111"
 | 
			
		||||
    lane_swap: "50473216"
 | 
			
		||||
  - id: "13"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "11010001"
 | 
			
		||||
    lane_swap: "16345702"
 | 
			
		||||
  - id: "14"
 | 
			
		||||
    tx_polarity: "11010110"
 | 
			
		||||
    rx_polarity: "01100100"
 | 
			
		||||
    lane_swap: "64107352"
 | 
			
		||||
  - id: "15"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01001011"
 | 
			
		||||
    lane_swap: "46325710"
 | 
			
		||||
  - id: "16"
 | 
			
		||||
    tx_polarity: "10011001"
 | 
			
		||||
    rx_polarity: "00110001"
 | 
			
		||||
    lane_swap: "54216730"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    tx_polarity: "00001001"
 | 
			
		||||
    rx_polarity: "11000000"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "18"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "01101010"
 | 
			
		||||
    lane_swap: "73405612"
 | 
			
		||||
  - id: "19"
 | 
			
		||||
    tx_polarity: "00110100"
 | 
			
		||||
    rx_polarity: "10001010"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "20"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "45617230"
 | 
			
		||||
  - id: "21"
 | 
			
		||||
    tx_polarity: "11100001"
 | 
			
		||||
    rx_polarity: "00010011"
 | 
			
		||||
    lane_swap: "46720531"
 | 
			
		||||
  - id: "22"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11110111"
 | 
			
		||||
    lane_swap: "47236501"
 | 
			
		||||
  - id: "23"
 | 
			
		||||
    tx_polarity: "10100001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "76245301"
 | 
			
		||||
  - id: "24"
 | 
			
		||||
    tx_polarity: "01000000"
 | 
			
		||||
    rx_polarity: "00111100"
 | 
			
		||||
    lane_swap: "47316520"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    tx_polarity: "10111110"
 | 
			
		||||
    rx_polarity: "00000001"
 | 
			
		||||
    lane_swap: "61072543"
 | 
			
		||||
  - id: "26"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01111000"
 | 
			
		||||
    lane_swap: "51627430"
 | 
			
		||||
  - id: "27"
 | 
			
		||||
    tx_polarity: "10101001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "24017536"
 | 
			
		||||
  - id: "28"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "26073514"
 | 
			
		||||
  - id: "29"
 | 
			
		||||
    tx_polarity: "01001000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "43027615"
 | 
			
		||||
  - id: "30"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010010"
 | 
			
		||||
    lane_swap: "47235601"
 | 
			
		||||
  - id: "31"
 | 
			
		||||
    tx_polarity: "11111100"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "46025713"
 | 
			
		||||
  - id: "32"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "01234567"
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_A
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 6, 5, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_B
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 7, 6, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 1, 3
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 0, 2
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_32x400G_wistron_sw_to3200k.yaml"
 | 
			
		||||
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
 | 
			
		||||
IFCS_INNO_CLI_PORT : "9999"
 | 
			
		||||
IFCS_TARGET : "device"
 | 
			
		||||
INNOVIUM_DIR : "/innovium"
 | 
			
		||||
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
 | 
			
		||||
PLATFORM_LIBRARY: "/usr/share/sonic/platform/lib_ivm_serdes_pltfm.so"
 | 
			
		||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
 | 
			
		||||
IVM_SAI_PARAM_A0008: "32"
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
 | 
			
		||||
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
 | 
			
		||||
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
 | 
			
		||||
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
 | 
			
		||||
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
 | 
			
		||||
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
 | 
			
		||||
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
# PG lossless profiles.
 | 
			
		||||
# speed   cable size  xon  xoff  threshold xon_offset
 | 
			
		||||
  25000   5m    1518  0    15680   1       13440
 | 
			
		||||
  50000   5m    1518  0    21248   1       13440
 | 
			
		||||
  100000  5m    1518  0    34624   1       13440
 | 
			
		||||
  400000  5m    1518  0    117536  1       13440
 | 
			
		||||
  25000   40m   1518  0    16928   1       13440
 | 
			
		||||
  50000   40m   1518  0    23392   1       13440
 | 
			
		||||
  100000  40m   1518  0    38816   1       13440
 | 
			
		||||
  400000  40m   1518  0    135520  1       13440
 | 
			
		||||
  25000   100m  1518  0    18848   1       13440
 | 
			
		||||
  50000   100m  1518  0    27264   1       13440
 | 
			
		||||
  100000  100m  1518  0    46496   1       13440
 | 
			
		||||
  400000  100m  1518  0    166688  1       13440
 | 
			
		||||
  25000   300m  1518  0    25184   1       13440
 | 
			
		||||
  50000   300m  1518  0    40128   1       13440
 | 
			
		||||
  100000  300m  1518  0    72384   1       13440
 | 
			
		||||
  400000  300m  1518  0    268640  1       13440
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
# name              lanes                               alias       speed       index   mtu      fec
 | 
			
		||||
Ethernet0           89,90,91,92,93,94,95,96             Eth1        400000      0       9126     rs
 | 
			
		||||
Ethernet8           81,82,83,84,85,86,87,88             Eth2        400000      1       9126     rs
 | 
			
		||||
Ethernet16          73,74,75,76,77,78,79,80             Eth3        400000      2       9126     rs
 | 
			
		||||
Ethernet24          65,66,67,68,69,70,71,72             Eth4        400000      3       9126     rs
 | 
			
		||||
Ethernet32          57,58,59,60,61,62,63,64             Eth5        400000      4       9126     rs
 | 
			
		||||
Ethernet40          49,50,51,52,53,54,55,56             Eth6        400000      5       9126     rs
 | 
			
		||||
Ethernet48          41,42,43,44,45,46,47,48             Eth7        400000      6       9126     rs
 | 
			
		||||
Ethernet56          33,34,35,36,37,38,39,40             Eth8        400000      7       9126     rs
 | 
			
		||||
Ethernet64          153,154,155,156,157,158,159,160     Eth9        400000      8       9126     rs
 | 
			
		||||
Ethernet72          145,146,147,148,149,150,151,152     Eth10       400000      9       9126     rs
 | 
			
		||||
Ethernet80          137,138,139,140,141,142,143,144     Eth11       400000      10      9126     rs
 | 
			
		||||
Ethernet88          129,130,131,132,133,134,135,136     Eth12       400000      11      9126     rs
 | 
			
		||||
Ethernet96          121,122,123,124,125,126,127,128     Eth13       400000      12      9126     rs
 | 
			
		||||
Ethernet104         113,114,115,116,117,118,119,120     Eth14       400000      13      9126     rs
 | 
			
		||||
Ethernet112         105,106,107,108,109,110,111,112     Eth15       400000      14      9126     rs
 | 
			
		||||
Ethernet120         97,98,99,100,101,102,103,104        Eth16       400000      15      9126     rs
 | 
			
		||||
Ethernet128         209,210,211,212,213,214,215,216     Eth17       400000      16      9126     rs
 | 
			
		||||
Ethernet136         217,218,219,220,221,222,223,224     Eth18       400000      17      9126     rs
 | 
			
		||||
Ethernet144         193,194,195,196,197,198,199,200     Eth19       400000      18      9126     rs
 | 
			
		||||
Ethernet152         201,202,203,204,205,206,207,208     Eth20       400000      19      9126     rs
 | 
			
		||||
Ethernet160         177,178,179,180,181,182,183,184     Eth21       400000      20      9126     rs
 | 
			
		||||
Ethernet168         185,186,187,188,189,190,191,192     Eth22       400000      21      9126     rs
 | 
			
		||||
Ethernet176         161,162,163,164,165,166,167,168     Eth23       400000      22      9126     rs
 | 
			
		||||
Ethernet184         169,170,171,172,173,174,175,176     Eth24       400000      23      9126     rs
 | 
			
		||||
Ethernet192         17,18,19,20,21,22,23,24             Eth25       400000      24      9126     rs
 | 
			
		||||
Ethernet200         25,26,27,28,29,30,31,32             Eth26       400000      25      9126     rs
 | 
			
		||||
Ethernet208         1,2,3,4,5,6,7,8                     Eth27       400000      26      9126     rs
 | 
			
		||||
Ethernet216         9,10,11,12,13,14,15,16              Eth28       400000      27      9126     rs
 | 
			
		||||
Ethernet224         241,242,243,244,245,246,247,248     Eth29       400000      28      9126     rs
 | 
			
		||||
Ethernet232         249,250,251,252,253,254,255,256     Eth30       400000      29      9126     rs
 | 
			
		||||
Ethernet240         225,226,227,228,229,230,231,232     Eth31       400000      30      9126     rs
 | 
			
		||||
Ethernet248         233,234,235,236,237,238,239,240     Eth32       400000      31      9126     rs
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,114 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"1",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
 | 
			
		||||
            "pfc_enable": "3,4"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "WRED_PROFILE": {
 | 
			
		||||
        "AZURE_LOSSLESS" : {
 | 
			
		||||
            "red_min_threshold":"50000"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,972 @@
 | 
			
		||||
ifcs:
 | 
			
		||||
  options:
 | 
			
		||||
    log_level: "info"
 | 
			
		||||
nodes:
 | 
			
		||||
- node_id: "0"
 | 
			
		||||
  options:
 | 
			
		||||
    sd_low_power_mode_global_default: "true"
 | 
			
		||||
    sku: "configs/sku/innovium.77700_B"
 | 
			
		||||
    netdev:
 | 
			
		||||
    - auto_create: "no"
 | 
			
		||||
      multi_interface: "yes"
 | 
			
		||||
    buffer_management_mode: "api_driven"
 | 
			
		||||
    max_lossless_tc: "2"
 | 
			
		||||
    ilpm_enable: "1"
 | 
			
		||||
    forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
 | 
			
		||||
    ecn_stats_enable: "1"
 | 
			
		||||
    pcie_attn: "10, 0, 0, 0"
 | 
			
		||||
    pcie_post: "10, 18, 18, 18"
 | 
			
		||||
    pcie_pre1: "0, 0, 0, 0"
 | 
			
		||||
    led_cfg_sck_rate: "0x5"
 | 
			
		||||
    led_refresh_precliff_timer: "0x18eec2"
 | 
			
		||||
    led_refresh_cliff_timer: "0x15e"
 | 
			
		||||
    led_cfg_pic_stream_mode: "1"
 | 
			
		||||
    led_refresh_tmr_ctl_enable: "1"
 | 
			
		||||
    txring:
 | 
			
		||||
    - txring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    rxring:
 | 
			
		||||
    - rxring_id: "0"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39"  
 | 
			
		||||
    - rxring_id: "1"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"    
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40"  
 | 
			
		||||
    - rxring_id: "2"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 47" 
 | 
			
		||||
    - rxring_id: "3"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      queues: "42, 43, 44, 45, 46" 
 | 
			
		||||
    sys_clk: "1720"
 | 
			
		||||
    ifc_clk: "1200"
 | 
			
		||||
    mac_clk: "1340"
 | 
			
		||||
 | 
			
		||||
  devports:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    sysport: "1000"
 | 
			
		||||
    type: "cpu"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "89"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "89"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "90"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "90"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "91"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "91"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "92"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "92"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "81"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "81"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "82"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "82"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "83"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "83"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "84"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "84"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "73"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "73"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "74"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "74"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "75"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "75"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "76"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "76"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "65"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "65"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "66"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "66"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "67"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "67"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "68"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "68"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "57"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "57"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "58"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "58"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "59"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "59"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "60"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "60"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "49"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "49"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "50"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "50"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "51"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "51"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "52"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "52"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "41"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "41"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "42"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "42"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "43"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "43"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "44"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "44"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "33"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "33"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "34"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "34"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "35"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "35"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "36"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "36"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "153"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "153"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "154"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "154"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "155"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "155"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "156"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "156"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "145"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "145"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "146"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "146"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "147"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "147"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "148"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "148"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "137"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "137"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "138"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "138"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "139"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "139"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "140"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "140"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "129"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "129"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "130"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "130"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "131"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "131"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "132"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "132"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "121"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "121"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "122"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "122"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "123"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "123"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "124"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "124"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "113"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "113"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "114"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "114"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "115"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "115"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "116"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "116"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "105"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "105"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "106"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "106"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "107"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "107"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "108"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "108"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "97"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "97"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "98"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "98"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "99"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "99"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "100"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "100"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "209"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "209"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "210"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "210"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "211"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "211"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "212"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "212"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "217"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "217"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "218"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "218"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "219"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "219"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "220"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "25G"
 | 
			
		||||
    sysport: "220"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "193"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "193"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "194"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "194"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "195"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "195"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "196"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "196"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "201"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "201"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "202"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "202"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "203"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "203"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "204"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "204"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "177"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "177"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "178"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "178"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "179"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "179"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "180"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "180"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "185"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "185"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "186"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "186"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "187"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "187"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "188"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "188"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "161"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "161"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "162"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "162"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "163"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "163"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "164"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "164"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "169"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "169"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "170"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "170"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "171"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "171"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "172"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "172"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "17"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "17"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "18"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "18"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "19"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "19"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "20"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "20"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "25"
 | 
			
		||||
    lanes: "0:1"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "25"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "26"
 | 
			
		||||
    lanes: "1:1"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "26"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "27"
 | 
			
		||||
    lanes: "2:1"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "27"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "28"
 | 
			
		||||
    lanes: "3:1"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "10G"
 | 
			
		||||
    sysport: "28"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "1"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "0"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "1"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "9"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "1"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "9"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "241"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "30"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "241"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "249"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "31"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "249"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "225"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "28"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "225"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "233"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "29"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "233"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  isg:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "57234601"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    tx_polarity: "01000101"
 | 
			
		||||
    rx_polarity: "01110011"
 | 
			
		||||
    lane_swap: "51364072"
 | 
			
		||||
  - id: "2"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "57043621"
 | 
			
		||||
  - id: "3"
 | 
			
		||||
    tx_polarity: "00000110"
 | 
			
		||||
    rx_polarity: "00100111"
 | 
			
		||||
    lane_swap: "56024371"
 | 
			
		||||
  - id: "4"
 | 
			
		||||
    tx_polarity: "00110101"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "65137402"
 | 
			
		||||
  - id: "5"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "61704253"
 | 
			
		||||
  - id: "6"
 | 
			
		||||
    tx_polarity: "10010010"
 | 
			
		||||
    rx_polarity: "00000100"
 | 
			
		||||
    lane_swap: "64027315"
 | 
			
		||||
  - id: "7"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10111011"
 | 
			
		||||
    lane_swap: "60714253"
 | 
			
		||||
  - id: "8"
 | 
			
		||||
    tx_polarity: "10100110"
 | 
			
		||||
    rx_polarity: "00010101"
 | 
			
		||||
    lane_swap: "67042315"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010000"
 | 
			
		||||
    lane_swap: "20716453"
 | 
			
		||||
  - id: "10"
 | 
			
		||||
    tx_polarity: "00010000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "57026314"
 | 
			
		||||
  - id: "11"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "37014625"
 | 
			
		||||
  - id: "12"
 | 
			
		||||
    tx_polarity: "00100001"
 | 
			
		||||
    rx_polarity: "00110111"
 | 
			
		||||
    lane_swap: "50473216"
 | 
			
		||||
  - id: "13"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "11010001"
 | 
			
		||||
    lane_swap: "16345702"
 | 
			
		||||
  - id: "14"
 | 
			
		||||
    tx_polarity: "11010110"
 | 
			
		||||
    rx_polarity: "01100100"
 | 
			
		||||
    lane_swap: "64107352"
 | 
			
		||||
  - id: "15"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01001011"
 | 
			
		||||
    lane_swap: "46325710"
 | 
			
		||||
  - id: "16"
 | 
			
		||||
    tx_polarity: "10011001"
 | 
			
		||||
    rx_polarity: "00110001"
 | 
			
		||||
    lane_swap: "54216730"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    tx_polarity: "00001001"
 | 
			
		||||
    rx_polarity: "11000000"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "18"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "01101010"
 | 
			
		||||
    lane_swap: "73405612"
 | 
			
		||||
  - id: "19"
 | 
			
		||||
    tx_polarity: "00110100"
 | 
			
		||||
    rx_polarity: "10001010"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "20"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "45617230"
 | 
			
		||||
  - id: "21"
 | 
			
		||||
    tx_polarity: "11100001"
 | 
			
		||||
    rx_polarity: "00010011"
 | 
			
		||||
    lane_swap: "46720531"
 | 
			
		||||
  - id: "22"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11110111"
 | 
			
		||||
    lane_swap: "47236501"
 | 
			
		||||
  - id: "23"
 | 
			
		||||
    tx_polarity: "10100001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "76245301"
 | 
			
		||||
  - id: "24"
 | 
			
		||||
    tx_polarity: "01000000"
 | 
			
		||||
    rx_polarity: "00111100"
 | 
			
		||||
    lane_swap: "47316520"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    tx_polarity: "10111110"
 | 
			
		||||
    rx_polarity: "00000001"
 | 
			
		||||
    lane_swap: "61072543"
 | 
			
		||||
  - id: "26"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01111000"
 | 
			
		||||
    lane_swap: "51627430"
 | 
			
		||||
  - id: "27"
 | 
			
		||||
    tx_polarity: "10101001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "24017536"
 | 
			
		||||
  - id: "28"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "26073514"
 | 
			
		||||
  - id: "29"
 | 
			
		||||
    tx_polarity: "01001000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "43027615"
 | 
			
		||||
  - id: "30"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010010"
 | 
			
		||||
    lane_swap: "47235601"
 | 
			
		||||
  - id: "31"
 | 
			
		||||
    tx_polarity: "11111100"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "46025713"
 | 
			
		||||
  - id: "32"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "01234567"
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_A
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 6, 5, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_B
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 7, 6, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 1, 3
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 0, 2
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_104x1025G_6x100G_wistron_sw_to3200k.yaml"
 | 
			
		||||
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
 | 
			
		||||
IFCS_INNO_CLI_PORT : "9999"
 | 
			
		||||
IFCS_TARGET : "device"
 | 
			
		||||
INNOVIUM_DIR : "/innovium"
 | 
			
		||||
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
 | 
			
		||||
PLATFORM_LIBRARY: "/usr/share/sonic/platform/lib_ivm_serdes_pltfm.so"
 | 
			
		||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
 | 
			
		||||
IVM_SAI_PARAM_A0008: "32"
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
 | 
			
		||||
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
 | 
			
		||||
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
 | 
			
		||||
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
 | 
			
		||||
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
 | 
			
		||||
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
 | 
			
		||||
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
# PG lossless profiles.
 | 
			
		||||
# speed   cable size  xon  xoff  threshold xon_offset
 | 
			
		||||
  25000   5m    1518  0    15680   1       13440
 | 
			
		||||
  50000   5m    1518  0    21248   1       13440
 | 
			
		||||
  100000  5m    1518  0    34624   1       13440
 | 
			
		||||
  400000  5m    1518  0    117536  1       13440
 | 
			
		||||
  25000   40m   1518  0    16928   1       13440
 | 
			
		||||
  50000   40m   1518  0    23392   1       13440
 | 
			
		||||
  100000  40m   1518  0    38816   1       13440
 | 
			
		||||
  400000  40m   1518  0    135520  1       13440
 | 
			
		||||
  25000   100m  1518  0    18848   1       13440
 | 
			
		||||
  50000   100m  1518  0    27264   1       13440
 | 
			
		||||
  100000  100m  1518  0    46496   1       13440
 | 
			
		||||
  400000  100m  1518  0    166688  1       13440
 | 
			
		||||
  25000   300m  1518  0    25184   1       13440
 | 
			
		||||
  50000   300m  1518  0    40128   1       13440
 | 
			
		||||
  100000  300m  1518  0    72384   1       13440
 | 
			
		||||
  400000  300m  1518  0    268640  1       13440
 | 
			
		||||
@@ -0,0 +1,111 @@
 | 
			
		||||
# name              lanes                               alias       speed       index   mtu      fec
 | 
			
		||||
Ethernet0           89                                  Eth1-1      25000       0       9126     rs
 | 
			
		||||
Ethernet1           90                                  Eth1-2      25000       0       9126     rs
 | 
			
		||||
Ethernet2           91                                  Eth1-3      25000       0       9126     rs
 | 
			
		||||
Ethernet3           92                                  Eth1-4      25000       0       9126     rs
 | 
			
		||||
Ethernet8           81                                  Eth2-1      25000       1       9126     rs
 | 
			
		||||
Ethernet9           82                                  Eth2-2      25000       1       9126     rs
 | 
			
		||||
Ethernet10          83                                  Eth2-3      25000       1       9126     rs
 | 
			
		||||
Ethernet11          84                                  Eth2-4      25000       1       9126     rs
 | 
			
		||||
Ethernet16          73                                  Eth3-1      25000       2       9126     rs
 | 
			
		||||
Ethernet17          74                                  Eth3-2      25000       2       9126     rs
 | 
			
		||||
Ethernet18          75                                  Eth3-3      25000       2       9126     rs
 | 
			
		||||
Ethernet19          76                                  Eth3-4      25000       2       9126     rs
 | 
			
		||||
Ethernet24          65                                  Eth4-1      25000       3       9126     rs
 | 
			
		||||
Ethernet25          66                                  Eth4-2      25000       3       9126     rs
 | 
			
		||||
Ethernet26          67                                  Eth4-3      25000       3       9126     rs
 | 
			
		||||
Ethernet27          68                                  Eth4-4      25000       3       9126     rs
 | 
			
		||||
Ethernet32          57                                  Eth5-1      25000       4       9126     rs
 | 
			
		||||
Ethernet33          58                                  Eth5-2      25000       4       9126     rs
 | 
			
		||||
Ethernet34          59                                  Eth5-3      25000       4       9126     rs
 | 
			
		||||
Ethernet35          60                                  Eth5-4      25000       4       9126     rs
 | 
			
		||||
Ethernet40          49                                  Eth6-1      25000       5       9126     rs
 | 
			
		||||
Ethernet41          50                                  Eth6-2      25000       5       9126     rs
 | 
			
		||||
Ethernet42          51                                  Eth6-3      25000       5       9126     rs
 | 
			
		||||
Ethernet43          52                                  Eth6-4      25000       5       9126     rs
 | 
			
		||||
Ethernet48          41                                  Eth7-1      25000       6       9126     rs
 | 
			
		||||
Ethernet49          42                                  Eth7-2      25000       6       9126     rs
 | 
			
		||||
Ethernet50          43                                  Eth7-3      25000       6       9126     rs
 | 
			
		||||
Ethernet51          44                                  Eth7-4      25000       6       9126     rs
 | 
			
		||||
Ethernet56          33                                  Eth8-1      25000       7       9126     rs
 | 
			
		||||
Ethernet57          34                                  Eth8-2      25000       7       9126     rs
 | 
			
		||||
Ethernet58          35                                  Eth8-3      25000       7       9126     rs
 | 
			
		||||
Ethernet59          36                                  Eth8-4      25000       7       9126     rs
 | 
			
		||||
Ethernet64          153                                 Eth9-1      25000       8       9126     rs
 | 
			
		||||
Ethernet65          154                                 Eth9-2      25000       8       9126     rs
 | 
			
		||||
Ethernet66          155                                 Eth9-3      25000       8       9126     rs
 | 
			
		||||
Ethernet67          156                                 Eth9-4      25000       8       9126     rs
 | 
			
		||||
Ethernet72          145                                 Eth10-1     25000       9       9126     rs
 | 
			
		||||
Ethernet73          146                                 Eth10-2     25000       9       9126     rs
 | 
			
		||||
Ethernet74          147                                 Eth10-3     25000       9       9126     rs
 | 
			
		||||
Ethernet75          148                                 Eth10-4     25000       9       9126     rs
 | 
			
		||||
Ethernet80          137                                 Eth11-1     25000       10      9126     rs
 | 
			
		||||
Ethernet81          138                                 Eth11-2     25000       10      9126     rs
 | 
			
		||||
Ethernet82          139                                 Eth11-3     25000       10      9126     rs
 | 
			
		||||
Ethernet83          140                                 Eth11-4     25000       10      9126     rs
 | 
			
		||||
Ethernet88          129                                 Eth12-1     25000       11      9126     rs
 | 
			
		||||
Ethernet89          130                                 Eth12-2     25000       11      9126     rs
 | 
			
		||||
Ethernet90          131                                 Eth12-3     25000       11      9126     rs
 | 
			
		||||
Ethernet91          132                                 Eth12-4     25000       11      9126     rs
 | 
			
		||||
Ethernet96          121                                 Eth13-1     25000       12      9126     rs
 | 
			
		||||
Ethernet97          122                                 Eth13-2     25000       12      9126     rs
 | 
			
		||||
Ethernet98          123                                 Eth13-3     25000       12      9126     rs
 | 
			
		||||
Ethernet99          124                                 Eth13-4     25000       12      9126     rs
 | 
			
		||||
Ethernet104         113                                 Eth14-1     25000       13      9126     rs
 | 
			
		||||
Ethernet105         114                                 Eth14-2     25000       13      9126     rs
 | 
			
		||||
Ethernet106         115                                 Eth14-3     25000       13      9126     rs
 | 
			
		||||
Ethernet107         116                                 Eth14-4     25000       13      9126     rs
 | 
			
		||||
Ethernet112         105                                 Eth15-1     25000       14      9126     rs
 | 
			
		||||
Ethernet113         106                                 Eth15-2     25000       14      9126     rs
 | 
			
		||||
Ethernet114         107                                 Eth15-3     25000       14      9126     rs
 | 
			
		||||
Ethernet115         108                                 Eth15-4     25000       14      9126     rs
 | 
			
		||||
Ethernet120         97                                  Eth16-1     25000       15      9126     rs
 | 
			
		||||
Ethernet121         98                                  Eth16-2     25000       15      9126     rs
 | 
			
		||||
Ethernet122         99                                  Eth16-3     25000       15      9126     rs
 | 
			
		||||
Ethernet123         100                                 Eth16-4     25000       15      9126     rs
 | 
			
		||||
Ethernet128         209                                 Eth17-1     25000       16      9126     rs
 | 
			
		||||
Ethernet129         210                                 Eth17-2     25000       16      9126     rs
 | 
			
		||||
Ethernet130         211                                 Eth17-3     25000       16      9126     rs
 | 
			
		||||
Ethernet131         212                                 Eth17-4     25000       16      9126     rs
 | 
			
		||||
Ethernet136         217                                 Eth18-1     25000       17      9126     rs
 | 
			
		||||
Ethernet137         218                                 Eth18-2     25000       17      9126     rs
 | 
			
		||||
Ethernet138         219                                 Eth18-3     25000       17      9126     rs
 | 
			
		||||
Ethernet139         220                                 Eth18-4     25000       17      9126     rs
 | 
			
		||||
Ethernet144         193                                 Eth19-1     10000       18      9126     none
 | 
			
		||||
Ethernet145         194                                 Eth19-2     10000       18      9126     none
 | 
			
		||||
Ethernet146         195                                 Eth19-3     10000       18      9126     none
 | 
			
		||||
Ethernet147         196                                 Eth19-4     10000       18      9126     none
 | 
			
		||||
Ethernet152         201                                 Eth20-1     10000       19      9126     none
 | 
			
		||||
Ethernet153         202                                 Eth20-2     10000       19      9126     none
 | 
			
		||||
Ethernet154         203                                 Eth20-3     10000       19      9126     none
 | 
			
		||||
Ethernet155         204                                 Eth20-4     10000       19      9126     none
 | 
			
		||||
Ethernet160         177                                 Eth21-1     10000       20      9126     none
 | 
			
		||||
Ethernet161         178                                 Eth21-2     10000       20      9126     none
 | 
			
		||||
Ethernet162         179                                 Eth21-3     10000       20      9126     none
 | 
			
		||||
Ethernet163         180                                 Eth21-4     10000       20      9126     none
 | 
			
		||||
Ethernet168         185                                 Eth22-1     10000       21      9126     none
 | 
			
		||||
Ethernet169         186                                 Eth22-2     10000       21      9126     none
 | 
			
		||||
Ethernet170         187                                 Eth22-3     10000       21      9126     none
 | 
			
		||||
Ethernet171         188                                 Eth22-4     10000       21      9126     none
 | 
			
		||||
Ethernet176         161                                 Eth23-1     10000       22      9126     none
 | 
			
		||||
Ethernet177         162                                 Eth23-2     10000       22      9126     none
 | 
			
		||||
Ethernet178         163                                 Eth23-3     10000       22      9126     none
 | 
			
		||||
Ethernet179         164                                 Eth23-4     10000       22      9126     none
 | 
			
		||||
Ethernet184         169                                 Eth24-1     10000       23      9126     none
 | 
			
		||||
Ethernet185         170                                 Eth24-2     10000       23      9126     none
 | 
			
		||||
Ethernet186         171                                 Eth24-3     10000       23      9126     none
 | 
			
		||||
Ethernet187         172                                 Eth24-4     10000       23      9126     none
 | 
			
		||||
Ethernet192         17                                  Eth25-1     10000       24      9126     none
 | 
			
		||||
Ethernet193         18                                  Eth25-2     10000       24      9126     none
 | 
			
		||||
Ethernet194         19                                  Eth25-3     10000       24      9126     none
 | 
			
		||||
Ethernet195         20                                  Eth25-4     10000       24      9126     none
 | 
			
		||||
Ethernet200         25                                  Eth26-1     10000       25      9126     none
 | 
			
		||||
Ethernet201         26                                  Eth26-2     10000       25      9126     none
 | 
			
		||||
Ethernet202         27                                  Eth26-3     10000       25      9126     none
 | 
			
		||||
Ethernet203         28                                  Eth26-4     10000       25      9126     none
 | 
			
		||||
Ethernet208         1,2,3,4                             Eth27       100000      26      9126     rs
 | 
			
		||||
Ethernet216         9,10,11,12                          Eth28       100000      27      9126     rs
 | 
			
		||||
Ethernet224         241,242,243,244                     Eth29       100000      28      9126     none
 | 
			
		||||
Ethernet232         249,250,251,252                     Eth30       100000      29      9126     none
 | 
			
		||||
Ethernet240         225,226,227,228                     Eth31       100000      30      9126     none
 | 
			
		||||
Ethernet248         233,234,235,236                     Eth32       100000      31      9126     none
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,114 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"1",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
 | 
			
		||||
            "pfc_enable": "3,4"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "WRED_PROFILE": {
 | 
			
		||||
        "AZURE_LOSSLESS" : {
 | 
			
		||||
            "red_min_threshold":"50000"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,426 @@
 | 
			
		||||
ifcs:
 | 
			
		||||
  options:
 | 
			
		||||
    log_level: "info"
 | 
			
		||||
nodes:
 | 
			
		||||
- node_id: "0"
 | 
			
		||||
  options:
 | 
			
		||||
    sd_low_power_mode_global_default: "true"
 | 
			
		||||
    sku: "configs/sku/innovium.77700_A"
 | 
			
		||||
    netdev:
 | 
			
		||||
    - auto_create: "no"
 | 
			
		||||
      multi_interface: "yes"
 | 
			
		||||
    buffer_management_mode: "api_driven"
 | 
			
		||||
    max_lossless_tc: "2"
 | 
			
		||||
    ilpm_enable: "1"
 | 
			
		||||
    forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
 | 
			
		||||
    ecn_stats_enable: "1"
 | 
			
		||||
    pcie_attn: "10, 0, 0, 0"
 | 
			
		||||
    pcie_post: "10, 18, 18, 18"
 | 
			
		||||
    pcie_pre1: "0, 0, 0, 0"
 | 
			
		||||
    led_cfg_sck_rate: "0x5"
 | 
			
		||||
    led_refresh_precliff_timer: "0x18eec2"
 | 
			
		||||
    led_refresh_cliff_timer: "0x15e"
 | 
			
		||||
    led_cfg_pic_stream_mode: "1"
 | 
			
		||||
    led_refresh_tmr_ctl_enable: "1"
 | 
			
		||||
    txring:
 | 
			
		||||
    - txring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    rxring:
 | 
			
		||||
    - rxring_id: "0"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39"  
 | 
			
		||||
    - rxring_id: "1"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"    
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40"  
 | 
			
		||||
    - rxring_id: "2"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 47" 
 | 
			
		||||
    - rxring_id: "3"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      queues: "42, 43, 44, 45, 46" 
 | 
			
		||||
    sys_clk: "1720"
 | 
			
		||||
    ifc_clk: "1200"
 | 
			
		||||
    mac_clk: "1340"
 | 
			
		||||
 | 
			
		||||
  devports:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    sysport: "1000"
 | 
			
		||||
    type: "cpu"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "89"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "89"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "81"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "81"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "73"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "73"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "65"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "65"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "57"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "57"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "49"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "49"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "41"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "41"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "33"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "33"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "153"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "153"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "145"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "145"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "137"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "137"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "129"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "129"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "121"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "121"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "113"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "113"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "105"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "105"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "97"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "97"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "209"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "209"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "217"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "217"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "193"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "193"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "201"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "201"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "177"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "177"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "185"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "185"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "161"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "161"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "169"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "169"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "17"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "17"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "25"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "25"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "1"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "0"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "1"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "9"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "1"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "9"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "241"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "30"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "241"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "249"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "31"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "249"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "225"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "28"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "225"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "233"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "29"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "233"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  isg:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "57234601"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    tx_polarity: "01000101"
 | 
			
		||||
    rx_polarity: "01110011"
 | 
			
		||||
    lane_swap: "51364072"
 | 
			
		||||
  - id: "2"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "57043621"
 | 
			
		||||
  - id: "3"
 | 
			
		||||
    tx_polarity: "00000110"
 | 
			
		||||
    rx_polarity: "00100111"
 | 
			
		||||
    lane_swap: "56024371"
 | 
			
		||||
  - id: "4"
 | 
			
		||||
    tx_polarity: "00110101"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "65137402"
 | 
			
		||||
  - id: "5"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "61704253"
 | 
			
		||||
  - id: "6"
 | 
			
		||||
    tx_polarity: "10010010"
 | 
			
		||||
    rx_polarity: "00000100"
 | 
			
		||||
    lane_swap: "64027315"
 | 
			
		||||
  - id: "7"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10111011"
 | 
			
		||||
    lane_swap: "60714253"
 | 
			
		||||
  - id: "8"
 | 
			
		||||
    tx_polarity: "10100110"
 | 
			
		||||
    rx_polarity: "00010101"
 | 
			
		||||
    lane_swap: "67042315"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010000"
 | 
			
		||||
    lane_swap: "20716453"
 | 
			
		||||
  - id: "10"
 | 
			
		||||
    tx_polarity: "00010000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "57026314"
 | 
			
		||||
  - id: "11"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "37014625"
 | 
			
		||||
  - id: "12"
 | 
			
		||||
    tx_polarity: "00100001"
 | 
			
		||||
    rx_polarity: "00110111"
 | 
			
		||||
    lane_swap: "50473216"
 | 
			
		||||
  - id: "13"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "11010001"
 | 
			
		||||
    lane_swap: "16345702"
 | 
			
		||||
  - id: "14"
 | 
			
		||||
    tx_polarity: "11010110"
 | 
			
		||||
    rx_polarity: "01100100"
 | 
			
		||||
    lane_swap: "64107352"
 | 
			
		||||
  - id: "15"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01001011"
 | 
			
		||||
    lane_swap: "46325710"
 | 
			
		||||
  - id: "16"
 | 
			
		||||
    tx_polarity: "10011001"
 | 
			
		||||
    rx_polarity: "00110001"
 | 
			
		||||
    lane_swap: "54216730"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    tx_polarity: "00001001"
 | 
			
		||||
    rx_polarity: "11000000"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "18"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "01101010"
 | 
			
		||||
    lane_swap: "73405612"
 | 
			
		||||
  - id: "19"
 | 
			
		||||
    tx_polarity: "00110100"
 | 
			
		||||
    rx_polarity: "10001010"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "20"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "45617230"
 | 
			
		||||
  - id: "21"
 | 
			
		||||
    tx_polarity: "11100001"
 | 
			
		||||
    rx_polarity: "00010011"
 | 
			
		||||
    lane_swap: "46720531"
 | 
			
		||||
  - id: "22"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11110111"
 | 
			
		||||
    lane_swap: "47236501"
 | 
			
		||||
  - id: "23"
 | 
			
		||||
    tx_polarity: "10100001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "76245301"
 | 
			
		||||
  - id: "24"
 | 
			
		||||
    tx_polarity: "01000000"
 | 
			
		||||
    rx_polarity: "00111100"
 | 
			
		||||
    lane_swap: "47316520"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    tx_polarity: "10111110"
 | 
			
		||||
    rx_polarity: "00000001"
 | 
			
		||||
    lane_swap: "61072543"
 | 
			
		||||
  - id: "26"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01111000"
 | 
			
		||||
    lane_swap: "51627430"
 | 
			
		||||
  - id: "27"
 | 
			
		||||
    tx_polarity: "10101001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "24017536"
 | 
			
		||||
  - id: "28"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "26073514"
 | 
			
		||||
  - id: "29"
 | 
			
		||||
    tx_polarity: "01001000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "43027615"
 | 
			
		||||
  - id: "30"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010010"
 | 
			
		||||
    lane_swap: "47235601"
 | 
			
		||||
  - id: "31"
 | 
			
		||||
    tx_polarity: "11111100"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "46025713"
 | 
			
		||||
  - id: "32"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "01234567"
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_A
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 6, 5, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_B
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 7, 6, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 1, 3
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 0, 2
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_24x400G_8x100G_wistron_sw_to3200k.yaml"
 | 
			
		||||
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
 | 
			
		||||
IFCS_INNO_CLI_PORT : "9999"
 | 
			
		||||
IFCS_TARGET : "device"
 | 
			
		||||
INNOVIUM_DIR : "/innovium"
 | 
			
		||||
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
 | 
			
		||||
PLATFORM_LIBRARY: "/usr/share/sonic/platform/lib_ivm_serdes_pltfm.so"
 | 
			
		||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
 | 
			
		||||
IVM_SAI_PARAM_A0008: "32"
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
 | 
			
		||||
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
 | 
			
		||||
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
 | 
			
		||||
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
 | 
			
		||||
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
 | 
			
		||||
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
 | 
			
		||||
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
# PG lossless profiles.
 | 
			
		||||
# speed   cable size  xon  xoff  threshold xon_offset
 | 
			
		||||
  25000   5m    1518  0    15680   1       13440
 | 
			
		||||
  50000   5m    1518  0    21248   1       13440
 | 
			
		||||
  100000  5m    1518  0    34624   1       13440
 | 
			
		||||
  400000  5m    1518  0    117536  1       13440
 | 
			
		||||
  25000   40m   1518  0    16928   1       13440
 | 
			
		||||
  50000   40m   1518  0    23392   1       13440
 | 
			
		||||
  100000  40m   1518  0    38816   1       13440
 | 
			
		||||
  400000  40m   1518  0    135520  1       13440
 | 
			
		||||
  25000   100m  1518  0    18848   1       13440
 | 
			
		||||
  50000   100m  1518  0    27264   1       13440
 | 
			
		||||
  100000  100m  1518  0    46496   1       13440
 | 
			
		||||
  400000  100m  1518  0    166688  1       13440
 | 
			
		||||
  25000   300m  1518  0    25184   1       13440
 | 
			
		||||
  50000   300m  1518  0    40128   1       13440
 | 
			
		||||
  100000  300m  1518  0    72384   1       13440
 | 
			
		||||
  400000  300m  1518  0    268640  1       13440
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
# name              lanes                               alias       speed       index   mtu      fec
 | 
			
		||||
Ethernet0           89,90,91,92,93,94,95,96             Eth1        400000      0       9126     rs
 | 
			
		||||
Ethernet8           81,82,83,84,85,86,87,88             Eth2        400000      1       9126     rs
 | 
			
		||||
Ethernet16          73,74,75,76,77,78,79,80             Eth3        400000      2       9126     rs
 | 
			
		||||
Ethernet24          65,66,67,68,69,70,71,72             Eth4        400000      3       9126     rs
 | 
			
		||||
Ethernet32          57,58,59,60,61,62,63,64             Eth5        400000      4       9126     rs
 | 
			
		||||
Ethernet40          49,50,51,52,53,54,55,56             Eth6        400000      5       9126     rs
 | 
			
		||||
Ethernet48          41,42,43,44,45,46,47,48             Eth7        400000      6       9126     rs
 | 
			
		||||
Ethernet56          33,34,35,36,37,38,39,40             Eth8        400000      7       9126     rs
 | 
			
		||||
Ethernet64          153,154,155,156,157,158,159,160     Eth9        400000      8       9126     rs
 | 
			
		||||
Ethernet72          145,146,147,148,149,150,151,152     Eth10       400000      9       9126     rs
 | 
			
		||||
Ethernet80          137,138,139,140,141,142,143,144     Eth11       400000      10      9126     rs
 | 
			
		||||
Ethernet88          129,130,131,132,133,134,135,136     Eth12       400000      11      9126     rs
 | 
			
		||||
Ethernet96          121,122,123,124,125,126,127,128     Eth13       400000      12      9126     rs
 | 
			
		||||
Ethernet104         113,114,115,116,117,118,119,120     Eth14       400000      13      9126     rs
 | 
			
		||||
Ethernet112         105,106,107,108,109,110,111,112     Eth15       400000      14      9126     rs
 | 
			
		||||
Ethernet120         97,98,99,100,101,102,103,104        Eth16       400000      15      9126     rs
 | 
			
		||||
Ethernet128         209,210,211,212,213,214,215,216     Eth17       400000      16      9126     rs
 | 
			
		||||
Ethernet136         217,218,219,220,221,222,223,224     Eth18       400000      17      9126     rs
 | 
			
		||||
Ethernet144         193,194,195,196,197,198,199,200     Eth19       400000      18      9126     rs
 | 
			
		||||
Ethernet152         201,202,203,204,205,206,207,208     Eth20       400000      19      9126     rs
 | 
			
		||||
Ethernet160         177,178,179,180,181,182,183,184     Eth21       400000      20      9126     rs
 | 
			
		||||
Ethernet168         185,186,187,188,189,190,191,192     Eth22       400000      21      9126     rs
 | 
			
		||||
Ethernet176         161,162,163,164,165,166,167,168     Eth23       400000      22      9126     rs
 | 
			
		||||
Ethernet184         169,170,171,172,173,174,175,176     Eth24       400000      23      9126     rs
 | 
			
		||||
Ethernet192         17,18,19,20                         Eth25       100000      24      9126     none
 | 
			
		||||
Ethernet200         25,26,27,28                         Eth26       100000      25      9126     none
 | 
			
		||||
Ethernet208         1,2,3,4                             Eth27       100000      26      9126     none
 | 
			
		||||
Ethernet216         9,10,11,12                          Eth28       100000      27      9126     none
 | 
			
		||||
Ethernet224         241,242,243,244                     Eth29       100000      28      9126     none
 | 
			
		||||
Ethernet232         249,250,251,252                     Eth30       100000      29      9126     none
 | 
			
		||||
Ethernet240         225,226,227,228                     Eth31       100000      30      9126     none
 | 
			
		||||
Ethernet248         233,234,235,236                     Eth32       100000      31      9126     none
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,114 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"1",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
 | 
			
		||||
            "pfc_enable": "3,4"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "WRED_PROFILE": {
 | 
			
		||||
        "AZURE_LOSSLESS" : {
 | 
			
		||||
            "red_min_threshold":"50000"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,426 @@
 | 
			
		||||
ifcs:
 | 
			
		||||
  options:
 | 
			
		||||
    log_level: "info"
 | 
			
		||||
nodes:
 | 
			
		||||
- node_id: "0"
 | 
			
		||||
  options:
 | 
			
		||||
    sd_low_power_mode_global_default: "true"
 | 
			
		||||
    sku: "configs/sku/innovium.77700_A"
 | 
			
		||||
    netdev:
 | 
			
		||||
    - auto_create: "no"
 | 
			
		||||
      multi_interface: "yes"
 | 
			
		||||
    buffer_management_mode: "api_driven"
 | 
			
		||||
    max_lossless_tc: "2"
 | 
			
		||||
    ilpm_enable: "1"
 | 
			
		||||
    forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
 | 
			
		||||
    ecn_stats_enable: "1"
 | 
			
		||||
    pcie_attn: "10, 0, 0, 0"
 | 
			
		||||
    pcie_post: "10, 18, 18, 18"
 | 
			
		||||
    pcie_pre1: "0, 0, 0, 0"
 | 
			
		||||
    led_cfg_sck_rate: "0x5"
 | 
			
		||||
    led_refresh_precliff_timer: "0x18eec2"
 | 
			
		||||
    led_refresh_cliff_timer: "0x15e"
 | 
			
		||||
    led_cfg_pic_stream_mode: "1"
 | 
			
		||||
    led_refresh_tmr_ctl_enable: "1"
 | 
			
		||||
    txring:
 | 
			
		||||
    - txring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    rxring:
 | 
			
		||||
    - rxring_id: "0"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39"  
 | 
			
		||||
    - rxring_id: "1"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"    
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40"  
 | 
			
		||||
    - rxring_id: "2"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 47" 
 | 
			
		||||
    - rxring_id: "3"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      queues: "42, 43, 44, 45, 46" 
 | 
			
		||||
    sys_clk: "1720"
 | 
			
		||||
    ifc_clk: "1200"
 | 
			
		||||
    mac_clk: "1340"
 | 
			
		||||
 | 
			
		||||
  devports:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    sysport: "1000"
 | 
			
		||||
    type: "cpu"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "89"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "89"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "81"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "81"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "73"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "73"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "65"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "65"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "57"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "57"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "49"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "49"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "41"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "41"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "33"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "33"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "153"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "153"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "145"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "145"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "137"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "137"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "129"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "129"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "121"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "121"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "113"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "113"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "105"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "105"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "97"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "97"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "209"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "209"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "217"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "217"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "193"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "193"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "201"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "201"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "177"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "177"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "185"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "185"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "161"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "161"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "169"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "169"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "17"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "17"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "25"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "25"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "1"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "0"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "1"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "9"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "1"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "9"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "241"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "30"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "241"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "249"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "31"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "249"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "NONE"
 | 
			
		||||
    id: "225"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "28"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "225"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KPFEC"
 | 
			
		||||
    id: "233"
 | 
			
		||||
    lanes: "0:8"
 | 
			
		||||
    serdes_group: "29"
 | 
			
		||||
    speed: "400G"
 | 
			
		||||
    sysport: "233"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  isg:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "57234601"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    tx_polarity: "01000101"
 | 
			
		||||
    rx_polarity: "01110011"
 | 
			
		||||
    lane_swap: "51364072"
 | 
			
		||||
  - id: "2"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "57043621"
 | 
			
		||||
  - id: "3"
 | 
			
		||||
    tx_polarity: "00000110"
 | 
			
		||||
    rx_polarity: "00100111"
 | 
			
		||||
    lane_swap: "56024371"
 | 
			
		||||
  - id: "4"
 | 
			
		||||
    tx_polarity: "00110101"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "65137402"
 | 
			
		||||
  - id: "5"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "61704253"
 | 
			
		||||
  - id: "6"
 | 
			
		||||
    tx_polarity: "10010010"
 | 
			
		||||
    rx_polarity: "00000100"
 | 
			
		||||
    lane_swap: "64027315"
 | 
			
		||||
  - id: "7"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10111011"
 | 
			
		||||
    lane_swap: "60714253"
 | 
			
		||||
  - id: "8"
 | 
			
		||||
    tx_polarity: "10100110"
 | 
			
		||||
    rx_polarity: "00010101"
 | 
			
		||||
    lane_swap: "67042315"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010000"
 | 
			
		||||
    lane_swap: "20716453"
 | 
			
		||||
  - id: "10"
 | 
			
		||||
    tx_polarity: "00010000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "57026314"
 | 
			
		||||
  - id: "11"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "37014625"
 | 
			
		||||
  - id: "12"
 | 
			
		||||
    tx_polarity: "00100001"
 | 
			
		||||
    rx_polarity: "00110111"
 | 
			
		||||
    lane_swap: "50473216"
 | 
			
		||||
  - id: "13"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "11010001"
 | 
			
		||||
    lane_swap: "16345702"
 | 
			
		||||
  - id: "14"
 | 
			
		||||
    tx_polarity: "11010110"
 | 
			
		||||
    rx_polarity: "01100100"
 | 
			
		||||
    lane_swap: "64107352"
 | 
			
		||||
  - id: "15"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01001011"
 | 
			
		||||
    lane_swap: "46325710"
 | 
			
		||||
  - id: "16"
 | 
			
		||||
    tx_polarity: "10011001"
 | 
			
		||||
    rx_polarity: "00110001"
 | 
			
		||||
    lane_swap: "54216730"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    tx_polarity: "00001001"
 | 
			
		||||
    rx_polarity: "11000000"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "18"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "01101010"
 | 
			
		||||
    lane_swap: "73405612"
 | 
			
		||||
  - id: "19"
 | 
			
		||||
    tx_polarity: "00110100"
 | 
			
		||||
    rx_polarity: "10001010"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "20"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "45617230"
 | 
			
		||||
  - id: "21"
 | 
			
		||||
    tx_polarity: "11100001"
 | 
			
		||||
    rx_polarity: "00010011"
 | 
			
		||||
    lane_swap: "46720531"
 | 
			
		||||
  - id: "22"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11110111"
 | 
			
		||||
    lane_swap: "47236501"
 | 
			
		||||
  - id: "23"
 | 
			
		||||
    tx_polarity: "10100001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "76245301"
 | 
			
		||||
  - id: "24"
 | 
			
		||||
    tx_polarity: "01000000"
 | 
			
		||||
    rx_polarity: "00111100"
 | 
			
		||||
    lane_swap: "47316520"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    tx_polarity: "10111110"
 | 
			
		||||
    rx_polarity: "00000001"
 | 
			
		||||
    lane_swap: "61072543"
 | 
			
		||||
  - id: "26"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01111000"
 | 
			
		||||
    lane_swap: "51627430"
 | 
			
		||||
  - id: "27"
 | 
			
		||||
    tx_polarity: "10101001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "24017536"
 | 
			
		||||
  - id: "28"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "26073514"
 | 
			
		||||
  - id: "29"
 | 
			
		||||
    tx_polarity: "01001000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "43027615"
 | 
			
		||||
  - id: "30"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010010"
 | 
			
		||||
    lane_swap: "47235601"
 | 
			
		||||
  - id: "31"
 | 
			
		||||
    tx_polarity: "11111100"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "46025713"
 | 
			
		||||
  - id: "32"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "01234567"
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_A
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 6, 5, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 8:0
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_B
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 7, 6, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 1, 3
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 0, 2
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_28x400G_4x100G_wistron_sw_to3200k.yaml"
 | 
			
		||||
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_A"
 | 
			
		||||
IFCS_INNO_CLI_PORT : "9999"
 | 
			
		||||
IFCS_TARGET : "device"
 | 
			
		||||
INNOVIUM_DIR : "/innovium"
 | 
			
		||||
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
 | 
			
		||||
PLATFORM_LIBRARY: "/usr/share/sonic/platform/lib_ivm_serdes_pltfm.so"
 | 
			
		||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
 | 
			
		||||
IVM_SAI_PARAM_A0008: "32"
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
 | 
			
		||||
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
 | 
			
		||||
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
 | 
			
		||||
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
 | 
			
		||||
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
 | 
			
		||||
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
 | 
			
		||||
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
# PG lossless profiles.
 | 
			
		||||
# speed   cable size  xon  xoff  threshold xon_offset
 | 
			
		||||
  25000   5m    1518  0    15680   1       13440
 | 
			
		||||
  50000   5m    1518  0    21248   1       13440
 | 
			
		||||
  100000  5m    1518  0    34624   1       13440
 | 
			
		||||
  400000  5m    1518  0    117536  1       13440
 | 
			
		||||
  25000   40m   1518  0    16928   1       13440
 | 
			
		||||
  50000   40m   1518  0    23392   1       13440
 | 
			
		||||
  100000  40m   1518  0    38816   1       13440
 | 
			
		||||
  400000  40m   1518  0    135520  1       13440
 | 
			
		||||
  25000   100m  1518  0    18848   1       13440
 | 
			
		||||
  50000   100m  1518  0    27264   1       13440
 | 
			
		||||
  100000  100m  1518  0    46496   1       13440
 | 
			
		||||
  400000  100m  1518  0    166688  1       13440
 | 
			
		||||
  25000   300m  1518  0    25184   1       13440
 | 
			
		||||
  50000   300m  1518  0    40128   1       13440
 | 
			
		||||
  100000  300m  1518  0    72384   1       13440
 | 
			
		||||
  400000  300m  1518  0    268640  1       13440
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
# name              lanes                               alias       speed       index   mtu      fec
 | 
			
		||||
Ethernet0           89,90,91,92,93,94,95,96             Eth1        400000      0       9126     rs
 | 
			
		||||
Ethernet8           81,82,83,84,85,86,87,88             Eth2        400000      1       9126     rs
 | 
			
		||||
Ethernet16          73,74,75,76,77,78,79,80             Eth3        400000      2       9126     rs
 | 
			
		||||
Ethernet24          65,66,67,68,69,70,71,72             Eth4        400000      3       9126     rs
 | 
			
		||||
Ethernet32          57,58,59,60                         Eth5        100000      4       9126     none
 | 
			
		||||
Ethernet40          49,50,51,52,53,54,55,56             Eth6        400000      5       9126     rs
 | 
			
		||||
Ethernet48          41,42,43,44,45,46,47,48             Eth7        400000      6       9126     rs
 | 
			
		||||
Ethernet56          33,34,35,36,37,38,39,40             Eth8        400000      7       9126     rs
 | 
			
		||||
Ethernet64          153,154,155,156,157,158,159,160     Eth9        400000      8       9126     rs
 | 
			
		||||
Ethernet72          145,146,147,148,149,150,151,152     Eth10       400000      9       9126     rs
 | 
			
		||||
Ethernet80          137,138,139,140                     Eth11       100000      10      9126     none
 | 
			
		||||
Ethernet88          129,130,131,132,133,134,135,136     Eth12       400000      11      9126     rs
 | 
			
		||||
Ethernet96          121,122,123,124,125,126,127,128     Eth13       400000      12      9126     rs
 | 
			
		||||
Ethernet104         113,114,115,116,117,118,119,120     Eth14       400000      13      9126     rs
 | 
			
		||||
Ethernet112         105,106,107,108,109,110,111,112     Eth15       400000      14      9126     rs
 | 
			
		||||
Ethernet120         97,98,99,100,101,102,103,104        Eth16       400000      15      9126     rs
 | 
			
		||||
Ethernet128         209,210,211,212,213,214,215,216     Eth17       400000      16      9126     rs
 | 
			
		||||
Ethernet136         217,218,219,220,221,222,223,224     Eth18       400000      17      9126     rs
 | 
			
		||||
Ethernet144         193,194,195,196                     Eth19       100000      18      9126     none
 | 
			
		||||
Ethernet152         201,202,203,204,205,206,207,208     Eth20       400000      19      9126     rs
 | 
			
		||||
Ethernet160         177,178,179,180,181,182,183,184     Eth21       400000      20      9126     rs
 | 
			
		||||
Ethernet168         185,186,187,188,189,190,191,192     Eth22       400000      21      9126     rs
 | 
			
		||||
Ethernet176         161,162,163,164,165,166,167,168     Eth23       400000      22      9126     rs
 | 
			
		||||
Ethernet184         169,170,171,172,173,174,175,176     Eth24       400000      23      9126     rs
 | 
			
		||||
Ethernet192         17,18,19,20,21,22,23,24             Eth25       400000      24      9126     rs
 | 
			
		||||
Ethernet200         25,26,27,28,29,30,31,32             Eth26       400000      25      9126     rs
 | 
			
		||||
Ethernet208         1,2,3,4,5,6,7,8                     Eth27       400000      26      9126     rs
 | 
			
		||||
Ethernet216         9,10,11,12,13,14,15,16              Eth28       400000      27      9126     rs
 | 
			
		||||
Ethernet224         241,242,243,244,245,246,247,248     Eth29       400000      28      9126     rs
 | 
			
		||||
Ethernet232         249,250,251,252,253,254,255,256     Eth30       400000      29      9126     rs
 | 
			
		||||
Ethernet240         225,226,227,228                     Eth31       100000      30      9126     none
 | 
			
		||||
Ethernet248         233,234,235,236,237,238,239,240     Eth32       400000      31      9126     rs
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"0",
 | 
			
		||||
            "4":"0",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"0",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "SCHEDULER": {
 | 
			
		||||
        "scheduler.7": {
 | 
			
		||||
            "type": "STRICT"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "QUEUE": {
 | 
			
		||||
        "{{ port_names }}|7": {
 | 
			
		||||
            "scheduler": "[SCHEDULER|scheduler.7]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,114 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"1",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
 | 
			
		||||
            "pfc_enable": "3,4"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "WRED_PROFILE": {
 | 
			
		||||
        "AZURE_LOSSLESS" : {
 | 
			
		||||
            "red_min_threshold":"50000"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/ivm.sai.config.yaml
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "56985600",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
            "{{ port_names }}|0-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,137 @@
 | 
			
		||||
{# Default values which will be used if no actual configura available #}
 | 
			
		||||
{% set default_cable = '40m' %}
 | 
			
		||||
 | 
			
		||||
{# Port configuration to cable length look-up table #}
 | 
			
		||||
{# Each record describes mapping of DUT (DUT port) role and neighbor role to cable length #}
 | 
			
		||||
{# Roles described in the minigraph #}
 | 
			
		||||
{% set ports2cable = {
 | 
			
		||||
        'torrouter_server'       : '5m',
 | 
			
		||||
        'leafrouter_torrouter'   : '40m',
 | 
			
		||||
        'spinerouter_leafrouter' : '300m'
 | 
			
		||||
        }
 | 
			
		||||
%}
 | 
			
		||||
 | 
			
		||||
{%- macro cable_length(port_name) %}
 | 
			
		||||
    {%- set cable_len = [] %}
 | 
			
		||||
    {%- for local_port in DEVICE_NEIGHBOR %}
 | 
			
		||||
        {%- if local_port == port_name %}
 | 
			
		||||
            {%- if DEVICE_NEIGHBOR_METADATA is defined and DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor = DEVICE_NEIGHBOR_METADATA[DEVICE_NEIGHBOR[local_port].name] %}
 | 
			
		||||
                {%- set neighbor_role = neighbor.type %}
 | 
			
		||||
                {%- set roles1 = switch_role + '_' + neighbor_role %}
 | 
			
		||||
                {%- set roles2 = neighbor_role + '_' + switch_role %}
 | 
			
		||||
                {%- set roles1 = roles1 | lower %}
 | 
			
		||||
                {%- set roles2 = roles2 | lower %}
 | 
			
		||||
                {%- if roles1 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles1]) %}{% endif %}
 | 
			
		||||
                {%- elif roles2 in ports2cable %}
 | 
			
		||||
                    {%- if cable_len.append(ports2cable[roles2]) %}{% endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endfor %}
 | 
			
		||||
    {%- if cable_len -%}
 | 
			
		||||
        {{ cable_len.0 }}
 | 
			
		||||
    {%- else %}
 | 
			
		||||
        {%- if switch_role.lower() == 'torrouter' %}
 | 
			
		||||
            {%- for local_port in VLAN_MEMBER %}
 | 
			
		||||
                {%- if local_port[1] == port_name %}
 | 
			
		||||
                    {%- set roles3 = switch_role + '_' + 'server' %}
 | 
			
		||||
                    {%- set roles3 = roles3 | lower %}
 | 
			
		||||
                    {%- if roles3 in ports2cable %}
 | 
			
		||||
                        {%- if cable_len.append(ports2cable[roles3]) %}{% endif %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
            {%- endfor %}
 | 
			
		||||
            {%- if cable_len -%}
 | 
			
		||||
                {{ cable_len.0 }}
 | 
			
		||||
            {%- else -%}
 | 
			
		||||
                {{ default_cable }}
 | 
			
		||||
            {%- endif %}
 | 
			
		||||
        {%- else -%}
 | 
			
		||||
            {{ default_cable }}
 | 
			
		||||
        {%- endif %}
 | 
			
		||||
    {%- endif %}
 | 
			
		||||
{%- endmacro %}
 | 
			
		||||
 | 
			
		||||
{%- if DEVICE_METADATA is defined %}
 | 
			
		||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] %}
 | 
			
		||||
{%- endif -%}
 | 
			
		||||
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    "CABLE_LENGTH": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
    {% for port in PORT %}
 | 
			
		||||
        {% set cable = cable_length(port) -%}
 | 
			
		||||
        "{{ port }}": "{{ cable }}"{%- if not loop.last -%},{% endif %}
 | 
			
		||||
 | 
			
		||||
    {% endfor %}
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_POOL": {
 | 
			
		||||
        "ingress_lossless_pool": {
 | 
			
		||||
            "size": "47218432",
 | 
			
		||||
            "type": "ingress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "17708800"
 | 
			
		||||
        },
 | 
			
		||||
        "lossy_pool": {
 | 
			
		||||
            "size": "18874368",
 | 
			
		||||
            "type": "egress",
 | 
			
		||||
            "mode": "dynamic",
 | 
			
		||||
            "xoff": "0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PROFILE": {
 | 
			
		||||
        "ingress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "xoff":"38816",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"1",
 | 
			
		||||
            "xon_offset":"13440"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossless_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|ingress_lossless_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "ingress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"0",
 | 
			
		||||
            "static_th":"9497600"
 | 
			
		||||
        },
 | 
			
		||||
        "egress_lossy_profile": {
 | 
			
		||||
            "pool":"[BUFFER_POOL|lossy_pool]",
 | 
			
		||||
            "size":"1518",
 | 
			
		||||
            "dynamic_th":"2"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_PG": {
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|ingress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "BUFFER_QUEUE": {
 | 
			
		||||
        "{{ port_names }}|3-4": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossless_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|0-2": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        },
 | 
			
		||||
        "{{ port_names }}|5-7": {
 | 
			
		||||
            "profile" : "[BUFFER_PROFILE|egress_lossy_profile]"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,425 @@
 | 
			
		||||
ifcs:
 | 
			
		||||
  options:
 | 
			
		||||
    log_level: "info"
 | 
			
		||||
nodes:
 | 
			
		||||
- node_id: "0"
 | 
			
		||||
  options:
 | 
			
		||||
    sd_low_power_mode_global_default: "true"
 | 
			
		||||
    sku: "configs/sku/innovium.77700_B"
 | 
			
		||||
    netdev:
 | 
			
		||||
    - auto_create: "no"
 | 
			
		||||
      multi_interface: "yes"
 | 
			
		||||
    buffer_management_mode: "api_driven"
 | 
			
		||||
    max_lossless_tc: "2"
 | 
			
		||||
    ilpm_enable: "1"
 | 
			
		||||
    forward_profile: "IFCS_FORWARD_PROFILE_ID_PROFILE_E"
 | 
			
		||||
    pcie_attn: "10, 0, 0, 0"
 | 
			
		||||
    pcie_post: "10, 18, 18, 18"
 | 
			
		||||
    pcie_pre1: "0, 0, 0, 0"
 | 
			
		||||
    led_cfg_sck_rate: "0x5"
 | 
			
		||||
    led_refresh_precliff_timer: "0x18eec2"
 | 
			
		||||
    led_refresh_cliff_timer: "0x15e"
 | 
			
		||||
    led_cfg_pic_stream_mode: "1"
 | 
			
		||||
    led_refresh_tmr_ctl_enable: "1"
 | 
			
		||||
    txring:
 | 
			
		||||
    - txring_id: "0"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "1"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "2"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    - txring_id: "3"
 | 
			
		||||
      desc_count: "1024"
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"
 | 
			
		||||
    rxring:
 | 
			
		||||
    - rxring_id: "0"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39"  
 | 
			
		||||
    - rxring_id: "1"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"    
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40"  
 | 
			
		||||
    - rxring_id: "2"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"
 | 
			
		||||
      netdev: "true"      
 | 
			
		||||
      queues: "2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 47" 
 | 
			
		||||
    - rxring_id: "3"                                         
 | 
			
		||||
      desc_count: "1024"                                     
 | 
			
		||||
      prio: "1"     
 | 
			
		||||
      queues: "42, 43, 44, 45, 46" 
 | 
			
		||||
    sys_clk: "1720"
 | 
			
		||||
    ifc_clk: "1200"
 | 
			
		||||
    mac_clk: "1340"
 | 
			
		||||
 | 
			
		||||
  devports:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    sysport: "1000"
 | 
			
		||||
    type: "cpu"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "89"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "11"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "89"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "81"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "10"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "81"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "73"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "9"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "73"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "65"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "8"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "65"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "57"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "7"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "57"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "49"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "6"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "49"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "41"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "5"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "41"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "33"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "4"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "33"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "153"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "19"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "153"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "145"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "18"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "145"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "137"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "17"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "137"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "129"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "16"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "129"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "121"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "15"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "121"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "113"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "14"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "113"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "105"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "13"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "105"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "97"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "12"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "97"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "209"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "26"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "209"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "217"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "27"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "217"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "193"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "24"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "193"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "201"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "25"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "201"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "177"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "22"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "177"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "185"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "23"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "185"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "161"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "20"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "161"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "169"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "21"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "169"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "17"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "2"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "17"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "25"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "3"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "25"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "1"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "0"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "1"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "9"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "1"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "9"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "241"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "30"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "241"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "249"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "31"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "249"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "225"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "28"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "225"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  - fec: "KRFEC"
 | 
			
		||||
    id: "233"
 | 
			
		||||
    lanes: "0:4"
 | 
			
		||||
    serdes_group: "29"
 | 
			
		||||
    speed: "100G"
 | 
			
		||||
    sysport: "233"
 | 
			
		||||
    type: "eth"
 | 
			
		||||
  isg:
 | 
			
		||||
  - id: "0"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "57234601"
 | 
			
		||||
  - id: "1"
 | 
			
		||||
    tx_polarity: "01000101"
 | 
			
		||||
    rx_polarity: "01110011"
 | 
			
		||||
    lane_swap: "51364072"
 | 
			
		||||
  - id: "2"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "57043621"
 | 
			
		||||
  - id: "3"
 | 
			
		||||
    tx_polarity: "00000110"
 | 
			
		||||
    rx_polarity: "00100111"
 | 
			
		||||
    lane_swap: "56024371"
 | 
			
		||||
  - id: "4"
 | 
			
		||||
    tx_polarity: "00110101"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "65137402"
 | 
			
		||||
  - id: "5"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "61704253"
 | 
			
		||||
  - id: "6"
 | 
			
		||||
    tx_polarity: "10010010"
 | 
			
		||||
    rx_polarity: "00000100"
 | 
			
		||||
    lane_swap: "64027315"
 | 
			
		||||
  - id: "7"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10111011"
 | 
			
		||||
    lane_swap: "60714253"
 | 
			
		||||
  - id: "8"
 | 
			
		||||
    tx_polarity: "10100110"
 | 
			
		||||
    rx_polarity: "00010101"
 | 
			
		||||
    lane_swap: "67042315"
 | 
			
		||||
  - id: "9"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010000"
 | 
			
		||||
    lane_swap: "20716453"
 | 
			
		||||
  - id: "10"
 | 
			
		||||
    tx_polarity: "00010000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "57026314"
 | 
			
		||||
  - id: "11"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00010000"
 | 
			
		||||
    lane_swap: "37014625"
 | 
			
		||||
  - id: "12"
 | 
			
		||||
    tx_polarity: "00100001"
 | 
			
		||||
    rx_polarity: "00110111"
 | 
			
		||||
    lane_swap: "50473216"
 | 
			
		||||
  - id: "13"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "11010001"
 | 
			
		||||
    lane_swap: "16345702"
 | 
			
		||||
  - id: "14"
 | 
			
		||||
    tx_polarity: "11010110"
 | 
			
		||||
    rx_polarity: "01100100"
 | 
			
		||||
    lane_swap: "64107352"
 | 
			
		||||
  - id: "15"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01001011"
 | 
			
		||||
    lane_swap: "46325710"
 | 
			
		||||
  - id: "16"
 | 
			
		||||
    tx_polarity: "10011001"
 | 
			
		||||
    rx_polarity: "00110001"
 | 
			
		||||
    lane_swap: "54216730"
 | 
			
		||||
  - id: "17"
 | 
			
		||||
    tx_polarity: "00001001"
 | 
			
		||||
    rx_polarity: "11000000"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "18"
 | 
			
		||||
    tx_polarity: "00001000"
 | 
			
		||||
    rx_polarity: "01101010"
 | 
			
		||||
    lane_swap: "73405612"
 | 
			
		||||
  - id: "19"
 | 
			
		||||
    tx_polarity: "00110100"
 | 
			
		||||
    rx_polarity: "10001010"
 | 
			
		||||
    lane_swap: "25176304"
 | 
			
		||||
  - id: "20"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00100000"
 | 
			
		||||
    lane_swap: "45617230"
 | 
			
		||||
  - id: "21"
 | 
			
		||||
    tx_polarity: "11100001"
 | 
			
		||||
    rx_polarity: "00010011"
 | 
			
		||||
    lane_swap: "46720531"
 | 
			
		||||
  - id: "22"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11110111"
 | 
			
		||||
    lane_swap: "47236501"
 | 
			
		||||
  - id: "23"
 | 
			
		||||
    tx_polarity: "10100001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "76245301"
 | 
			
		||||
  - id: "24"
 | 
			
		||||
    tx_polarity: "01000000"
 | 
			
		||||
    rx_polarity: "00111100"
 | 
			
		||||
    lane_swap: "47316520"
 | 
			
		||||
  - id: "25"
 | 
			
		||||
    tx_polarity: "10111110"
 | 
			
		||||
    rx_polarity: "00000001"
 | 
			
		||||
    lane_swap: "61072543"
 | 
			
		||||
  - id: "26"
 | 
			
		||||
    tx_polarity: "00100000"
 | 
			
		||||
    rx_polarity: "01111000"
 | 
			
		||||
    lane_swap: "51627430"
 | 
			
		||||
  - id: "27"
 | 
			
		||||
    tx_polarity: "10101001"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "24017536"
 | 
			
		||||
  - id: "28"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "10000010"
 | 
			
		||||
    lane_swap: "26073514"
 | 
			
		||||
  - id: "29"
 | 
			
		||||
    tx_polarity: "01001000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "43027615"
 | 
			
		||||
  - id: "30"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "11010010"
 | 
			
		||||
    lane_swap: "47235601"
 | 
			
		||||
  - id: "31"
 | 
			
		||||
    tx_polarity: "11111100"
 | 
			
		||||
    rx_polarity: "00000010"
 | 
			
		||||
    lane_swap: "46025713"
 | 
			
		||||
  - id: "32"
 | 
			
		||||
    tx_polarity: "00000000"
 | 
			
		||||
    rx_polarity: "00000000"
 | 
			
		||||
    lane_swap: "01234567"
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
sku:               innovium.77700_B
 | 
			
		||||
 | 
			
		||||
device_id:         0x1b58
 | 
			
		||||
 | 
			
		||||
# Hardware constraint information
 | 
			
		||||
hardware:
 | 
			
		||||
        num_ibs:           6
 | 
			
		||||
 | 
			
		||||
        ports_per_ib:      32, 32, 32, 32, 20, 20
 | 
			
		||||
        recirc_port_num:   32, 32, 32, 32, 32, 32
 | 
			
		||||
        cpu_port_num:      33
 | 
			
		||||
        cpu_port_ib:       0
 | 
			
		||||
        mgmt_port_num:     33
 | 
			
		||||
        mgmt_port_ibs:     1,2
 | 
			
		||||
 | 
			
		||||
        pics_per_ib:       6, 7, 7, 6, 5, 5
 | 
			
		||||
        pic_ports_per_pic: 8
 | 
			
		||||
        max_serdes_speed:  50
 | 
			
		||||
 | 
			
		||||
        num_shared_pics: 2
 | 
			
		||||
 | 
			
		||||
        isg [0-4]:
 | 
			
		||||
            ib: 0
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [5-9]:
 | 
			
		||||
            ib: 5
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [10-14]:
 | 
			
		||||
            ib: 1
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [16-20]:
 | 
			
		||||
            ib: 3
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [21-25]:
 | 
			
		||||
            ib: 4
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg [26-30]:
 | 
			
		||||
            ib: 2
 | 
			
		||||
            pic_id: [0-4]
 | 
			
		||||
 | 
			
		||||
        isg 15:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 1, 3
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 31:
 | 
			
		||||
            mode: 4:4
 | 
			
		||||
            ib: 0, 2
 | 
			
		||||
            pic_id: 5
 | 
			
		||||
 | 
			
		||||
        isg 32:
 | 
			
		||||
            mode: 1:1
 | 
			
		||||
            ib: 1, 2
 | 
			
		||||
            pic_id: 6
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
IFCS_INIT_FILE : "/usr/share/sonic/hwsku/config_32x100G_wistron_sw_to3200k.yaml"
 | 
			
		||||
IFCS_SKU_FILE : "/usr/share/sonic/hwsku/innovium.77700_B"
 | 
			
		||||
IFCS_INNO_CLI_PORT : "9999"
 | 
			
		||||
IFCS_TARGET : "device"
 | 
			
		||||
INNOVIUM_DIR : "/innovium"
 | 
			
		||||
PYTHONPATH : "$INNOVIUM_DIR:$INNOVIUM_DIR/cmds:$INNOVIUM_DIR/scripts:$INNOVIUM_DIR/test/:$INNOVIUM_DIR/test/utils:$INNOVIUM_DIR/utils:$INNOVIUM_DIR/pyctypes"
 | 
			
		||||
PLATFORM_LIBRARY: "/usr/share/sonic/platform/lib_ivm_serdes_pltfm.so"
 | 
			
		||||
IVM_SAI_DATAPATH_CONFIG_FILE: "/usr/share/sonic/hwsku/ivm.sai.datapath.config.yaml"
 | 
			
		||||
IVM_SAI_PARAM_A0008: "32"
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
ISAI_PARAM_P0_0_LS : "4608 4608 4608 4608 2880 2880"
 | 
			
		||||
ISAI_PARAM_P0_1_LS : "2226 1946 1946 1890 1218 1218"
 | 
			
		||||
ISAI_PARAM_P0_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_0_LS : "1536 1536 1536 1536 960 960"
 | 
			
		||||
ISAI_PARAM_P1_0_LL : "3072 3072 3072 3072 1920 1920"
 | 
			
		||||
ISAI_PARAM_P1_1_LS : "1778 1498 1498 1442 938 938"
 | 
			
		||||
ISAI_PARAM_P1_1_LL : "2478 2478 2478 2478 2478 2478"
 | 
			
		||||
ISAI_PARAM_P1_1_ALS : "434 154 154 98 98 98"
 | 
			
		||||
ISAI_PARAM_P1_1_ALL : "126 126 126 126 126 126"
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
# PG lossless profiles.
 | 
			
		||||
# speed   cable size  xon  xoff  threshold xon_offset
 | 
			
		||||
  25000   5m    1518  0    15680   1       13440
 | 
			
		||||
  50000   5m    1518  0    21248   1       13440
 | 
			
		||||
  100000  5m    1518  0    34624   1       13440
 | 
			
		||||
  400000  5m    1518  0    117536  1       13440
 | 
			
		||||
  25000   40m   1518  0    16928   1       13440
 | 
			
		||||
  50000   40m   1518  0    23392   1       13440
 | 
			
		||||
  100000  40m   1518  0    38816   1       13440
 | 
			
		||||
  400000  40m   1518  0    135520  1       13440
 | 
			
		||||
  25000   100m  1518  0    18848   1       13440
 | 
			
		||||
  50000   100m  1518  0    27264   1       13440
 | 
			
		||||
  100000  100m  1518  0    46496   1       13440
 | 
			
		||||
  400000  100m  1518  0    166688  1       13440
 | 
			
		||||
  25000   300m  1518  0    25184   1       13440
 | 
			
		||||
  50000   300m  1518  0    40128   1       13440
 | 
			
		||||
  100000  300m  1518  0    72384   1       13440
 | 
			
		||||
  400000  300m  1518  0    268640  1       13440
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
# name              lanes               alias       speed       index   mtu      fec
 | 
			
		||||
Ethernet0           89,90,91,92         Eth1        100000      0       9126     rs
 | 
			
		||||
Ethernet8           81,82,83,84         Eth2        100000      1       9126     rs
 | 
			
		||||
Ethernet16          73,74,75,76         Eth3        100000      2       9126     rs
 | 
			
		||||
Ethernet24          65,66,67,68         Eth4        100000      3       9126     rs
 | 
			
		||||
Ethernet32          57,58,59,60         Eth5        100000      4       9126     rs
 | 
			
		||||
Ethernet40          49,50,51,52         Eth6        100000      5       9126     rs
 | 
			
		||||
Ethernet48          41,42,43,44         Eth7        100000      6       9126     rs
 | 
			
		||||
Ethernet56          33,34,35,36         Eth8        100000      7       9126     rs
 | 
			
		||||
Ethernet64          153,154,155,156     Eth9        100000      8       9126     rs
 | 
			
		||||
Ethernet72          145,146,147,148     Eth10       100000      9       9126     rs
 | 
			
		||||
Ethernet80          137,138,139,140     Eth11       100000      10      9126     rs
 | 
			
		||||
Ethernet88          129,130,131,132     Eth12       100000      11      9126     rs
 | 
			
		||||
Ethernet96          121,122,123,124     Eth13       100000      12      9126     rs
 | 
			
		||||
Ethernet104         113,114,115,116     Eth14       100000      13      9126     rs
 | 
			
		||||
Ethernet112         105,106,107,108     Eth15       100000      14      9126     rs
 | 
			
		||||
Ethernet120         97,98,99,100        Eth16       100000      15      9126     rs
 | 
			
		||||
Ethernet128         209,210,211,212     Eth17       100000      16      9126     rs
 | 
			
		||||
Ethernet136         217,218,219,220     Eth18       100000      17      9126     rs
 | 
			
		||||
Ethernet144         193,194,195,196     Eth19       100000      18      9126     rs
 | 
			
		||||
Ethernet152         201,202,203,204     Eth20       100000      19      9126     rs
 | 
			
		||||
Ethernet160         177,178,179,180     Eth21       100000      20      9126     rs
 | 
			
		||||
Ethernet168         185,186,187,188     Eth22       100000      21      9126     rs
 | 
			
		||||
Ethernet176         161,162,163,164     Eth23       100000      22      9126     rs
 | 
			
		||||
Ethernet184         169,170,171,172     Eth24       100000      23      9126     rs
 | 
			
		||||
Ethernet192         17,18,19,20         Eth25       100000      24      9126     rs
 | 
			
		||||
Ethernet200         25,26,27,28         Eth26       100000      25      9126     rs
 | 
			
		||||
Ethernet208         1,2,3,4             Eth27       100000      26      9126     rs
 | 
			
		||||
Ethernet216         9,10,11,12          Eth28       100000      27      9126     rs
 | 
			
		||||
Ethernet224         241,242,243,244     Eth29       100000      28      9126     rs
 | 
			
		||||
Ethernet232         249,250,251,252     Eth30       100000      29      9126     rs
 | 
			
		||||
Ethernet240         225,226,227,228     Eth31       100000      30      9126     rs
 | 
			
		||||
Ethernet248         233,234,235,236     Eth32       100000      31      9126     rs
 | 
			
		||||
@@ -0,0 +1,114 @@
 | 
			
		||||
{% set port_names_list = [] %}
 | 
			
		||||
{% for port in PORT %}
 | 
			
		||||
    {%- if port_names_list.append(port) %}{% endif %}
 | 
			
		||||
{% endfor %}
 | 
			
		||||
{% set port_names = port_names_list | join(',') -%}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
   "TC_TO_QUEUE_MAP":{
 | 
			
		||||
        "AZURE":{
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"1",
 | 
			
		||||
            "2":"2",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"5",
 | 
			
		||||
            "6":"6",
 | 
			
		||||
            "7":"7"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "TC_TO_PRIORITY_GROUP_MAP": {
 | 
			
		||||
    "AZURE": {
 | 
			
		||||
        "0": "0",
 | 
			
		||||
        "1": "0",
 | 
			
		||||
        "2": "0",
 | 
			
		||||
        "3": "3",
 | 
			
		||||
        "4": "4",
 | 
			
		||||
        "5": "0",
 | 
			
		||||
        "6": "0",
 | 
			
		||||
        "7": "0"
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
       "DSCP_TO_TC_MAP": {
 | 
			
		||||
        "AZURE": {
 | 
			
		||||
            "0":"0",
 | 
			
		||||
            "1":"0",
 | 
			
		||||
            "2":"0",
 | 
			
		||||
            "3":"3",
 | 
			
		||||
            "4":"4",
 | 
			
		||||
            "5":"0",
 | 
			
		||||
            "6":"0",
 | 
			
		||||
            "7":"0",
 | 
			
		||||
            "8":"1",
 | 
			
		||||
            "9":"0",
 | 
			
		||||
            "10":"0",
 | 
			
		||||
            "11":"0",
 | 
			
		||||
            "12":"0",
 | 
			
		||||
            "13":"0",
 | 
			
		||||
            "14":"0",
 | 
			
		||||
            "15":"0",
 | 
			
		||||
            "16":"0",
 | 
			
		||||
            "17":"0",
 | 
			
		||||
            "18":"0",
 | 
			
		||||
            "19":"0",
 | 
			
		||||
            "20":"0",
 | 
			
		||||
            "21":"0",
 | 
			
		||||
            "22":"0",
 | 
			
		||||
            "23":"0",
 | 
			
		||||
            "24":"0",
 | 
			
		||||
            "25":"0",
 | 
			
		||||
            "26":"0",
 | 
			
		||||
            "27":"0",
 | 
			
		||||
            "28":"0",
 | 
			
		||||
            "29":"0",
 | 
			
		||||
            "30":"0",
 | 
			
		||||
            "31":"0",
 | 
			
		||||
            "32":"0",
 | 
			
		||||
            "33":"0",
 | 
			
		||||
            "34":"0",
 | 
			
		||||
            "35":"0",
 | 
			
		||||
            "36":"0",
 | 
			
		||||
            "37":"0",
 | 
			
		||||
            "38":"0",
 | 
			
		||||
            "39":"0",
 | 
			
		||||
            "40":"0",
 | 
			
		||||
            "41":"0",
 | 
			
		||||
            "42":"0",
 | 
			
		||||
            "43":"0",
 | 
			
		||||
            "44":"0",
 | 
			
		||||
            "45":"0",
 | 
			
		||||
            "46":"0",
 | 
			
		||||
            "47":"0",
 | 
			
		||||
            "48":"0",
 | 
			
		||||
            "49":"0",
 | 
			
		||||
            "50":"0",
 | 
			
		||||
            "51":"0",
 | 
			
		||||
            "52":"0",
 | 
			
		||||
            "53":"0",
 | 
			
		||||
            "54":"0",
 | 
			
		||||
            "55":"0",
 | 
			
		||||
            "56":"0",
 | 
			
		||||
            "57":"0",
 | 
			
		||||
            "58":"0",
 | 
			
		||||
            "59":"0",
 | 
			
		||||
            "60":"0",
 | 
			
		||||
            "61":"0",
 | 
			
		||||
            "62":"0",
 | 
			
		||||
            "63":"0"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "PORT_QOS_MAP": {
 | 
			
		||||
       "{{ port_names }}": {
 | 
			
		||||
            "tc_to_pg_map": "[TC_TO_PRIORITY_GROUP_MAP|AZURE]",
 | 
			
		||||
            "tc_to_queue_map": "[TC_TO_QUEUE_MAP|AZURE]",
 | 
			
		||||
            "dscp_to_tc_map": "[DSCP_TO_TC_MAP|AZURE]",
 | 
			
		||||
            "pfc_enable": "3,4"
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "WRED_PROFILE": {
 | 
			
		||||
        "AZURE_LOSSLESS" : {
 | 
			
		||||
            "red_min_threshold":"50000"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user