diff --git a/build_debian.sh b/build_debian.sh index e58153423c77..3102c45edcbd 100755 --- a/build_debian.sh +++ b/build_debian.sh @@ -169,7 +169,7 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/linux-image-${LINUX_KERNEL_VERSI sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install acl if [[ $CONFIGURED_ARCH == amd64 ]]; then - sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install dmidecode hdparm + sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install hdparm fi ## Update initramfs for booting with squashfs+overlay @@ -379,6 +379,7 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in haveged \ fdisk \ gpg \ + dmidecode \ jq \ auditd \ linux-perf \ @@ -391,6 +392,12 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in zstd \ nvme-cli +sudo cp files/initramfs-tools/pzstd $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/pzstd +sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/pzstd + +sudo cp files/initramfs-tools/file $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/file +sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/file + # Have systemd create the auditd log directory sudo mkdir -p ${FILESYSTEM_ROOT}/etc/systemd/system/auditd.service.d sudo tee ${FILESYSTEM_ROOT}/etc/systemd/system/auditd.service.d/log-directory.conf >/dev/null < self._port_end: - return False - - port_ps = "/sys/bus/i2c/devices/0-0050/sfp_port_reset" - - try: - reg_file = open(port_ps, 'w') - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return False - - # toggle reset - reg_file.seek(0) - reg_file.write('1') - time.sleep(1) - reg_file.seek(0) - reg_file.write('0') - reg_file.close() - return True - - def set_low_power_mode(self, port_nuM, lpmode): - raise NotImplementedError - - def get_low_power_mode(self, port_num): - raise NotImplementedError - - def i2c_get(self, device_addr, offset): - status = 0 - if smbus_present == 0: - x = ["i2cget", "-y", "0", hex(device_addr), hex(offset)] - cmdstatus, status = getstatusoutput_noshell(x) - if cmdstatus != 0: - return cmdstatus - status = int(status, 16) - else: - bus = smbus.SMBus(0) - status = bus.read_byte_data(device_addr, offset) - return status - - def i2c_set(self, device_addr, offset, value): - if smbus_present == 0: - cmd = ["i2cset", "-y", "0", hex(device_addr), hex(offset), hex(value)] - subprocess.call(cmd) - else: - bus = smbus.SMBus(0) - bus.write_byte_data(device_addr, offset, value) - - 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 - else: - self.i2c_set(0x70, 0, 0) - self.i2c_set(0x71, 0, 0) - self.i2c_set(0x74, 0, 0) - reg = (port_num)/8 - offset = reg % 8 - if offset >= 4: - offset = offset-4 - elif offset < 4: - offset = offset+4 - bin_offset = 1 << offset - - if port_num >= 0 and port_num <= 63: - device_reg = 0x70 - elif port_num >= 64 and port_num <= 127: - device_reg = 0x71 - elif port_num >= 128 and port_num <= 131: - device_reg = 0x74 - - #print "i2c %d %x %x" % (port_num, device_reg, bin_offset) - self.i2c_set(device_reg, 0, bin_offset) - path = "/sys/bus/i2c/devices/0-0050/eeprom" - try: - reg_file = open(path) - reg_file.seek(0o1) - reg_file.read(0o2) - except IOError as e: - return False - - return True - - def read_porttab_mappings(self, porttabfile): - #print("I am in porttab_mappings") - logical = [] - logical_to_bcm = {} - logical_to_physical = {} - physical_to_logical = {} - last_fp_port_index = 0 - last_portname = "" - first = 1 - port_pos_in_file = 0 - parse_fmt_port_config_ini = False - - try: - f = open(porttabfile) - except: - raise - - parse_fmt_port_config_ini = (os.path.basename(porttabfile) == "port_config.ini") - # Read the porttab file and generate dicts - # with mapping for future reference. - # - # TODO: Refactor this to use the portconfig.py module that now - # exists as part of the sonic-config-engine package. - title = [] - for line in f: - line.strip() - if re.search("^#", line) is not None: - # The current format is: # name lanes alias index speed - # Where the ordering of the columns can vary - title = line.split()[1:] - continue - #print title - - # Parsing logic for 'port_config.ini' file - if (parse_fmt_port_config_ini): - # bcm_port is not explicitly listed in port_config.ini format - # Currently we assume ports are listed in numerical order according to bcm_port - # so we use the port's position in the file (zero-based) as bcm_port - portname = line.split()[0] - - bcm_port = str(port_pos_in_file) - - if "index" in title: - fp_port_index = int(line.split()[title.index("index")]) - # Leave the old code for backward compatibility - # if len(line.split()) >= 4: - # fp_port_index = (line.split()[3]) - # print(fp_port_index) - else: - fp_port_index = portname.split("Ethernet").pop() - fp_port_index = int(fp_port_index.split("s").pop(0))+1 - else: # Parsing logic for older 'portmap.ini' file - (portname, bcm_port) = line.split("=")[1].split(",")[:2] - - fp_port_index = portname.split("Ethernet").pop() - fp_port_index = int(fp_port_index.split("s").pop(0))+1 - - if ((len(self.sfp_ports) > 0) and (fp_port_index not in self.sfp_ports)): - continue - - if first == 1: - # Initialize last_[physical|logical]_port - # to the first valid port - last_fp_port_index = fp_port_index - last_portname = portname - first = 0 - - logical.append(portname) - - logical_to_bcm[portname] = "xe" + bcm_port - logical_to_physical[portname] = [fp_port_index] - if physical_to_logical.get(fp_port_index) is None: - physical_to_logical[fp_port_index] = [portname] - else: - physical_to_logical[fp_port_index].append( - portname) - - if (fp_port_index - last_fp_port_index) > 1: - # last port was a gang port - for p in range(last_fp_port_index+1, fp_port_index): - logical_to_physical[last_portname].append(p) - if physical_to_logical.get(p) is None: - physical_to_logical[p] = [last_portname] - else: - physical_to_logical[p].append(last_portname) - - last_fp_port_index = fp_port_index - last_portname = portname - - port_pos_in_file += 1 - - self.logical = logical - self.logical_to_bcm = logical_to_bcm - self.logical_to_physical = logical_to_physical - self.physical_to_logical = physical_to_logical - - # print(self.logical_to_physical) - '''print("logical: " + self.logical) - print("logical to bcm: " + self.logical_to_bcm) - print("logical to physical: " + self.logical_to_physical) - print("physical to logical: " + self.physical_to_logical)''' - #print("exiting port_tab_mappings") - - @property - def port_start(self): - return self._port_start - - @property - def port_end(self): - return self._port_end - - @property - def qsfp_ports(self): - return self._qsfp_ports - - @property - def port_to_eeprom_mapping(self): - return self._port_to_eeprom_mapping - - @property - def get_transceiver_change_event(self): - raise NotImplementedError diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf b/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf index d22a7b2ea73f..5331b235619e 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf @@ -1 +1,2 @@ ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="default_hugepagesz=32M hugepages=4 mem=4G" +KEXEC_LOAD_EXTRA_CMDLINE_LINUX="reset_devices" diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 index a8dd0dadcaec..9f307b6da321 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 @@ -1 +1 @@ -8b28fac0d174b9f0e9120f8ee8c52fd2 \ No newline at end of file +2c7ececd3f4a1debfc98ad80a626a244 \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml index ecda116a6ef1..d0d45adee92b 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_AC5X @@ -1708,6 +1668,26 @@ lowercase characters. false + + 19 + 0 + + + 28 + 1 + + + 29 + 1 + + + 30 + 2 + + + 31 + 2 + 0 diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 index e4baf309b51c..7da582d7a3c8 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 @@ -1 +1 @@ -fcd5642435f602883aab5c9672e96aa5 \ No newline at end of file +6eefd0cf1c069f600c431cccf4b39e04 \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml index 78460a4e0a9e..7a9951454c56 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -234,26 +259,6 @@ 0 1023 - - tx-param-type - enumeration - Tx parameter type - - pre - pre - 0 - - - post - post - 1 - - - peak - peak - 2 - - rx-param-type enumeration @@ -428,6 +433,96 @@ maxRes1 33 + + current1Sel + current1Sel + 34 + + + rl1Sel + rl1Sel + 35 + + + rl1Extra + rl1Extra + 36 + + + cl1Ctrl + cl1Ctrl + 37 + + + enMidFreq + enMidFreq + 38 + + + cs1Mid + cs1Mid + 39 + + + rs1Mid + rs1Mid + 40 + + + rfCtrl + rfCtrl + 41 + + + rl1TiaSel + rl1TiaSel + 42 + + + rl1TiaExtra + rl1TiaExtra + 43 + + + hpfRSel1st + hpfRSel1st + 44 + + + current1TiaSel + current1TiaSel + 45 + + + rl2Tune + rl2Tune + 46 + + + rl2Sel + rl2Sel + 47 + + + rs2Sel + rs2Sel + 48 + + + current2Sel + current2Sel + 49 + + + hpfRsel2nd + hpfRsel2nd + 50 + + + align90AnaReg + align90AnaReg + 51 + boolean-type @@ -479,6 +574,26 @@ 5 + + phy-serdes-type + enumeration + Phy Serdes Type + + NA + No serdes + 0 + + + COMPHY + COMPHY + 1 + + + COMPHY_C28G + COMPHY_C28G + 2 + + port-interconnect-profile-type enumeration @@ -500,6 +615,7 @@ + ASIC_AC5X 1000MR1 @@ -601,6 +717,7 @@ 0 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -608,6 +725,7 @@ 1 COMPHY_C28G + NA profile_default 1000MR1 false @@ -615,6 +733,7 @@ 2 COMPHY_C28G + NA profile_default 1000MR1 false @@ -622,6 +741,7 @@ 3 COMPHY_C28G + NA profile_default 1000MR1 false @@ -629,6 +749,7 @@ 4 COMPHY_C28G + NA profile_default 1000MR1 false @@ -636,6 +757,7 @@ 5 COMPHY_C28G + NA profile_default 1000MR1 false @@ -643,6 +765,7 @@ 6 COMPHY_C28G + NA profile_default 1000MR1 false @@ -650,6 +773,7 @@ 7 COMPHY_C28G + NA profile_default 1000MR1 false @@ -657,6 +781,7 @@ 8 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -664,6 +789,7 @@ 9 COMPHY_C28G + NA profile_default 1000MR1 false @@ -671,6 +797,7 @@ 10 COMPHY_C28G + NA profile_default 1000MR1 false @@ -678,6 +805,7 @@ 11 COMPHY_C28G + NA profile_default 1000MR1 false @@ -685,6 +813,7 @@ 12 COMPHY_C28G + NA profile_default 1000MR1 false @@ -692,6 +821,7 @@ 13 COMPHY_C28G + NA profile_default 1000MR1 false @@ -699,6 +829,7 @@ 14 COMPHY_C28G + NA profile_default 1000MR1 false @@ -706,6 +837,7 @@ 15 COMPHY_C28G + NA profile_default 1000MR1 false @@ -713,6 +845,7 @@ 16 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -720,6 +853,7 @@ 17 COMPHY_C28G + NA profile_default 1000MR1 false @@ -727,6 +861,7 @@ 18 COMPHY_C28G + NA profile_default 1000MR1 false @@ -734,6 +869,7 @@ 19 COMPHY_C28G + NA profile_default 1000MR1 false @@ -741,6 +877,7 @@ 20 COMPHY_C28G + NA profile_default 1000MR1 false @@ -748,6 +885,7 @@ 21 COMPHY_C28G + NA profile_default 1000MR1 false @@ -755,6 +893,7 @@ 22 COMPHY_C28G + NA profile_default 1000MR1 false @@ -762,6 +901,7 @@ 23 COMPHY_C28G + NA profile_default 1000MR1 false @@ -769,6 +909,7 @@ 24 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -776,6 +917,7 @@ 25 COMPHY_C28G + NA profile_default 1000MR1 false @@ -783,6 +925,7 @@ 26 COMPHY_C28G + NA profile_default 1000MR1 false @@ -790,6 +933,7 @@ 27 COMPHY_C28G + NA profile_default 1000MR1 false @@ -797,6 +941,7 @@ 28 COMPHY_C28G + NA profile_default 1000MR1 false @@ -804,6 +949,7 @@ 29 COMPHY_C28G + NA profile_default 1000MR1 false @@ -811,6 +957,7 @@ 30 COMPHY_C28G + NA profile_default 1000MR1 false @@ -818,6 +965,7 @@ 31 COMPHY_C28G + NA profile_default 1000MR1 false @@ -825,6 +973,7 @@ 32 COMPHY_C28G + NA profile_default 2500MR1 false @@ -832,6 +981,7 @@ 33 COMPHY_C28G + COMPHY_C28G profile_default 2500MR1 false @@ -839,6 +989,7 @@ 34 COMPHY_C28G + NA profile_default 2500MR1 false @@ -846,6 +997,7 @@ 35 COMPHY_C28G + NA profile_default 2500MR1 false @@ -853,6 +1005,7 @@ 36 COMPHY_C28G + NA profile_default 2500MR1 false @@ -860,6 +1013,7 @@ 37 COMPHY_C28G + NA profile_default 2500MR1 false @@ -867,6 +1021,7 @@ 38 COMPHY_C28G + NA profile_default 2500MR1 false @@ -874,6 +1029,7 @@ 39 COMPHY_C28G + NA profile_default 2500MR1 false @@ -881,6 +1037,7 @@ 40 COMPHY_C28G + NA profile_default 2500MR1 false @@ -888,6 +1045,7 @@ 41 COMPHY_C28G + COMPHY_C28G profile_default 2500MR1 false @@ -895,6 +1053,7 @@ 42 COMPHY_C28G + NA profile_default 2500MR1 false @@ -902,6 +1061,7 @@ 43 COMPHY_C28G + NA profile_default 2500MR1 false @@ -909,6 +1069,7 @@ 44 COMPHY_C28G + NA profile_default 2500MR1 false @@ -916,6 +1077,7 @@ 45 COMPHY_C28G + NA profile_default 2500MR1 false @@ -923,6 +1085,7 @@ 46 COMPHY_C28G + NA profile_default 2500MR1 false @@ -930,6 +1093,7 @@ 47 COMPHY_C28G + NA profile_default 2500MR1 false @@ -937,6 +1101,7 @@ 48 COMPHY_C28G + NA profile_default 25GR1 false @@ -944,6 +1109,7 @@ 49 COMPHY_C28G + NA profile_default 25GR1 false @@ -951,6 +1117,7 @@ 50 COMPHY_C28G + NA profile_default 25GR1 false @@ -958,6 +1125,7 @@ 51 COMPHY_C28G + NA profile_default 25GR1 false @@ -965,6 +1133,7 @@ 52 COMPHY_C28G + NA profile_default 25GR1 false @@ -972,6 +1141,7 @@ 53 COMPHY_C28G + NA profile_default 25GR1 false diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5 index a8cacfdd9823..f2c340a08c2b 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5 @@ -1 +1 @@ -7e0317c4f0c86cc16929b1a143d90c32 \ No newline at end of file +3010be072d1acf56947d57f43204dd3b \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml index 8ed10be62722..4d2de0b5b9a9 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_AC5X diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 index cee8e830a24f..5116a62850d1 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 @@ -1 +1 @@ -feb884bbff293ba58dc7b1cae36aa1d1 \ No newline at end of file +177a9b33727abf76319b35804a7b5a08 \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml index 58298363c3e4..f2f3ae5ebd0a 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml @@ -1,5 +1,5 @@ - + @@ -166,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_AC5X @@ -454,12 +474,16 @@ 0 ROUTE_BLACKHOLE + + Disabled + Disabled + SAI_LOG_SYSLOG - Disabled + Disabled control-acl diff --git a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers.json.j2 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers.json.j2 similarity index 53% rename from device/marvell/arm64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers.json.j2 rename to device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers.json.j2 index a9a01d707ebf..0b1cb2c541b6 100644 --- a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers.json.j2 +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers.json.j2 @@ -1 +1,2 @@ +{%- set default_topo = 't1' %} {%- include 'buffers_config.j2' %} diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers_defaults_t0.j2 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers_defaults_t0.j2 new file mode 100644 index 000000000000..25b2f56083ae --- /dev/null +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers_defaults_t0.j2 @@ -0,0 +1,49 @@ + +{%- set default_cable = '40m' %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" + }, + "egress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" + } + }, + "BUFFER_PROFILE": { + "egress_lossless_profile": { + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" + }, + "egress_lossy_profile": { + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" + } + }, +{%- endmacro %} diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers_defaults_t1.j2 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers_defaults_t1.j2 new file mode 100644 index 000000000000..25b2f56083ae --- /dev/null +++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/buffers_defaults_t1.j2 @@ -0,0 +1,49 @@ + +{%- set default_cable = '40m' %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" + }, + "egress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" + } + }, + "BUFFER_PROFILE": { + "egress_lossless_profile": { + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" + }, + "egress_lossy_profile": { + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" + } + }, +{%- endmacro %} diff --git a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/qos.json.j2 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/qos.json.j2 similarity index 100% rename from device/marvell/arm64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/qos.json.j2 rename to device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/qos.json.j2 diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 index 42941a1d23be..ad4d64fad002 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 @@ -1 +1 @@ -1e32906bd09b43df35ce12534b2599c8 \ No newline at end of file +5dc308384e1733de73dde50ea7301eee \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml index 253c46780aaa..8d735d2b46c4 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_AC5X @@ -1708,6 +1668,26 @@ lowercase characters. false + + 19 + 0 + + + 28 + 1 + + + 29 + 1 + + + 30 + 2 + + + 31 + 2 + 0 diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 index e4baf309b51c..7da582d7a3c8 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 @@ -1 +1 @@ -fcd5642435f602883aab5c9672e96aa5 \ No newline at end of file +6eefd0cf1c069f600c431cccf4b39e04 \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml index 78460a4e0a9e..7a9951454c56 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -234,26 +259,6 @@ 0 1023 - - tx-param-type - enumeration - Tx parameter type - - pre - pre - 0 - - - post - post - 1 - - - peak - peak - 2 - - rx-param-type enumeration @@ -428,6 +433,96 @@ maxRes1 33 + + current1Sel + current1Sel + 34 + + + rl1Sel + rl1Sel + 35 + + + rl1Extra + rl1Extra + 36 + + + cl1Ctrl + cl1Ctrl + 37 + + + enMidFreq + enMidFreq + 38 + + + cs1Mid + cs1Mid + 39 + + + rs1Mid + rs1Mid + 40 + + + rfCtrl + rfCtrl + 41 + + + rl1TiaSel + rl1TiaSel + 42 + + + rl1TiaExtra + rl1TiaExtra + 43 + + + hpfRSel1st + hpfRSel1st + 44 + + + current1TiaSel + current1TiaSel + 45 + + + rl2Tune + rl2Tune + 46 + + + rl2Sel + rl2Sel + 47 + + + rs2Sel + rs2Sel + 48 + + + current2Sel + current2Sel + 49 + + + hpfRsel2nd + hpfRsel2nd + 50 + + + align90AnaReg + align90AnaReg + 51 + boolean-type @@ -479,6 +574,26 @@ 5 + + phy-serdes-type + enumeration + Phy Serdes Type + + NA + No serdes + 0 + + + COMPHY + COMPHY + 1 + + + COMPHY_C28G + COMPHY_C28G + 2 + + port-interconnect-profile-type enumeration @@ -500,6 +615,7 @@ + ASIC_AC5X 1000MR1 @@ -601,6 +717,7 @@ 0 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -608,6 +725,7 @@ 1 COMPHY_C28G + NA profile_default 1000MR1 false @@ -615,6 +733,7 @@ 2 COMPHY_C28G + NA profile_default 1000MR1 false @@ -622,6 +741,7 @@ 3 COMPHY_C28G + NA profile_default 1000MR1 false @@ -629,6 +749,7 @@ 4 COMPHY_C28G + NA profile_default 1000MR1 false @@ -636,6 +757,7 @@ 5 COMPHY_C28G + NA profile_default 1000MR1 false @@ -643,6 +765,7 @@ 6 COMPHY_C28G + NA profile_default 1000MR1 false @@ -650,6 +773,7 @@ 7 COMPHY_C28G + NA profile_default 1000MR1 false @@ -657,6 +781,7 @@ 8 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -664,6 +789,7 @@ 9 COMPHY_C28G + NA profile_default 1000MR1 false @@ -671,6 +797,7 @@ 10 COMPHY_C28G + NA profile_default 1000MR1 false @@ -678,6 +805,7 @@ 11 COMPHY_C28G + NA profile_default 1000MR1 false @@ -685,6 +813,7 @@ 12 COMPHY_C28G + NA profile_default 1000MR1 false @@ -692,6 +821,7 @@ 13 COMPHY_C28G + NA profile_default 1000MR1 false @@ -699,6 +829,7 @@ 14 COMPHY_C28G + NA profile_default 1000MR1 false @@ -706,6 +837,7 @@ 15 COMPHY_C28G + NA profile_default 1000MR1 false @@ -713,6 +845,7 @@ 16 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -720,6 +853,7 @@ 17 COMPHY_C28G + NA profile_default 1000MR1 false @@ -727,6 +861,7 @@ 18 COMPHY_C28G + NA profile_default 1000MR1 false @@ -734,6 +869,7 @@ 19 COMPHY_C28G + NA profile_default 1000MR1 false @@ -741,6 +877,7 @@ 20 COMPHY_C28G + NA profile_default 1000MR1 false @@ -748,6 +885,7 @@ 21 COMPHY_C28G + NA profile_default 1000MR1 false @@ -755,6 +893,7 @@ 22 COMPHY_C28G + NA profile_default 1000MR1 false @@ -762,6 +901,7 @@ 23 COMPHY_C28G + NA profile_default 1000MR1 false @@ -769,6 +909,7 @@ 24 COMPHY_C28G + COMPHY profile_default 1000MR1 false @@ -776,6 +917,7 @@ 25 COMPHY_C28G + NA profile_default 1000MR1 false @@ -783,6 +925,7 @@ 26 COMPHY_C28G + NA profile_default 1000MR1 false @@ -790,6 +933,7 @@ 27 COMPHY_C28G + NA profile_default 1000MR1 false @@ -797,6 +941,7 @@ 28 COMPHY_C28G + NA profile_default 1000MR1 false @@ -804,6 +949,7 @@ 29 COMPHY_C28G + NA profile_default 1000MR1 false @@ -811,6 +957,7 @@ 30 COMPHY_C28G + NA profile_default 1000MR1 false @@ -818,6 +965,7 @@ 31 COMPHY_C28G + NA profile_default 1000MR1 false @@ -825,6 +973,7 @@ 32 COMPHY_C28G + NA profile_default 2500MR1 false @@ -832,6 +981,7 @@ 33 COMPHY_C28G + COMPHY_C28G profile_default 2500MR1 false @@ -839,6 +989,7 @@ 34 COMPHY_C28G + NA profile_default 2500MR1 false @@ -846,6 +997,7 @@ 35 COMPHY_C28G + NA profile_default 2500MR1 false @@ -853,6 +1005,7 @@ 36 COMPHY_C28G + NA profile_default 2500MR1 false @@ -860,6 +1013,7 @@ 37 COMPHY_C28G + NA profile_default 2500MR1 false @@ -867,6 +1021,7 @@ 38 COMPHY_C28G + NA profile_default 2500MR1 false @@ -874,6 +1029,7 @@ 39 COMPHY_C28G + NA profile_default 2500MR1 false @@ -881,6 +1037,7 @@ 40 COMPHY_C28G + NA profile_default 2500MR1 false @@ -888,6 +1045,7 @@ 41 COMPHY_C28G + COMPHY_C28G profile_default 2500MR1 false @@ -895,6 +1053,7 @@ 42 COMPHY_C28G + NA profile_default 2500MR1 false @@ -902,6 +1061,7 @@ 43 COMPHY_C28G + NA profile_default 2500MR1 false @@ -909,6 +1069,7 @@ 44 COMPHY_C28G + NA profile_default 2500MR1 false @@ -916,6 +1077,7 @@ 45 COMPHY_C28G + NA profile_default 2500MR1 false @@ -923,6 +1085,7 @@ 46 COMPHY_C28G + NA profile_default 2500MR1 false @@ -930,6 +1093,7 @@ 47 COMPHY_C28G + NA profile_default 2500MR1 false @@ -937,6 +1101,7 @@ 48 COMPHY_C28G + NA profile_default 25GR1 false @@ -944,6 +1109,7 @@ 49 COMPHY_C28G + NA profile_default 25GR1 false @@ -951,6 +1117,7 @@ 50 COMPHY_C28G + NA profile_default 25GR1 false @@ -958,6 +1125,7 @@ 51 COMPHY_C28G + NA profile_default 25GR1 false @@ -965,6 +1133,7 @@ 52 COMPHY_C28G + NA profile_default 25GR1 false @@ -972,6 +1141,7 @@ 53 COMPHY_C28G + NA profile_default 25GR1 false diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5 index a8cacfdd9823..f2c340a08c2b 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5 @@ -1 +1 @@ -7e0317c4f0c86cc16929b1a143d90c32 \ No newline at end of file +3010be072d1acf56947d57f43204dd3b \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml index 8ed10be62722..4d2de0b5b9a9 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_AC5X diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 index cee8e830a24f..5116a62850d1 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 @@ -1 +1 @@ -feb884bbff293ba58dc7b1cae36aa1d1 \ No newline at end of file +177a9b33727abf76319b35804a7b5a08 \ No newline at end of file diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml index 58298363c3e4..f2f3ae5ebd0a 100644 --- a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml @@ -1,5 +1,5 @@ - + @@ -166,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_AC5X @@ -454,12 +474,16 @@ 0 ROUTE_BLACKHOLE + + Disabled + Disabled + SAI_LOG_SYSLOG - Disabled + Disabled control-acl diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers.json.j2 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers.json.j2 similarity index 53% rename from device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers.json.j2 rename to device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers.json.j2 index a9a01d707ebf..0b1cb2c541b6 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers.json.j2 +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers.json.j2 @@ -1 +1,2 @@ +{%- set default_topo = 't1' %} {%- include 'buffers_config.j2' %} diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers_defaults_t0.j2 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers_defaults_t0.j2 new file mode 100644 index 000000000000..25b2f56083ae --- /dev/null +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers_defaults_t0.j2 @@ -0,0 +1,49 @@ + +{%- set default_cable = '40m' %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" + }, + "egress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" + } + }, + "BUFFER_PROFILE": { + "egress_lossless_profile": { + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" + }, + "egress_lossy_profile": { + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" + } + }, +{%- endmacro %} diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers_defaults_t1.j2 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers_defaults_t1.j2 new file mode 100644 index 000000000000..25b2f56083ae --- /dev/null +++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/buffers_defaults_t1.j2 @@ -0,0 +1,49 @@ + +{%- set default_cable = '40m' %} + +{%- macro generate_buffer_pool_and_profiles() %} + "BUFFER_POOL": { + "ingress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" + }, + "egress_pool1": { + "mode": "dynamic", + "size": "1447040", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" + } + }, + "BUFFER_PROFILE": { + "egress_lossless_profile": { + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" + }, + "egress_lossy_profile": { + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" + } + }, +{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/qos.json.j2 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/qos.json.j2 similarity index 100% rename from device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/qos.json.j2 rename to device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/qos.json.j2 diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/default_sku b/device/marvell/armhf-marvell_et6448m_52x-r0/default_sku deleted file mode 100644 index 4f0da7a26939..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/default_sku +++ /dev/null @@ -1 +0,0 @@ -et6448m t1 diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/buffers_defaults_t1.j2 b/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/buffers_defaults_t1.j2 deleted file mode 100644 index ff6c35e0d9f6..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/buffers_defaults_t1.j2 +++ /dev/null @@ -1,45 +0,0 @@ -{%- set default_cable = '300m' %} - -{%- macro generate_port_lists(PORT_ALL) %} - {# Generate list of ports #} - {% for port_idx in range(0,32) %} - {% if PORT_ALL.append("Ethernet%d" % (port_idx * 4)) %}{% endif %} - {% endfor %} -{%- endmacro %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "12766208", - "type": "ingress", - "mode": "dynamic" - }, - "egress_lossless_pool": { - "size": "12766208", - "type": "egress", - "mode": "static" - }, - "egress_lossy_pool": { - "size": "7326924", - "type": "egress", - "mode": "dynamic" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_lossless_pool", - "size":"0", - "static_th":"12766208" - }, - "egress_lossy_profile": { - "pool":"egress_lossy_pool", - "size":"1518", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/port_config.ini b/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/port_config.ini deleted file mode 100644 index 062c252ce195..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/port_config.ini +++ /dev/null @@ -1,53 +0,0 @@ -# name lanes alias index speed -Ethernet0 1 Ethernet0 1 1000 -Ethernet1 2 Ethernet1 2 1000 -Ethernet2 3 Ethernet2 3 1000 -Ethernet3 4 Ethernet3 4 1000 -Ethernet4 5 Ethernet4 5 1000 -Ethernet5 6 Ethernet5 6 1000 -Ethernet6 7 Ethernet6 7 1000 -Ethernet7 8 Ethernet7 8 1000 -Ethernet8 9 Ethernet8 9 1000 -Ethernet9 10 Ethernet9 10 1000 -Ethernet10 11 Ethernet10 11 1000 -Ethernet11 12 Ethernet11 12 1000 -Ethernet12 13 Ethernet12 13 1000 -Ethernet13 14 Ethernet13 14 1000 -Ethernet14 15 Ethernet14 15 1000 -Ethernet15 16 Ethernet15 16 1000 -Ethernet16 17 Ethernet16 17 1000 -Ethernet17 18 Ethernet17 18 1000 -Ethernet18 19 Ethernet18 19 1000 -Ethernet19 20 Ethernet19 20 1000 -Ethernet20 21 Ethernet20 21 1000 -Ethernet21 22 Ethernet21 22 1000 -Ethernet22 23 Ethernet22 23 1000 -Ethernet23 24 Ethernet23 24 1000 -Ethernet24 25 Ethernet24 25 1000 -Ethernet25 26 Ethernet25 26 1000 -Ethernet26 27 Ethernet26 27 1000 -Ethernet27 28 Ethernet27 28 1000 -Ethernet28 29 Ethernet28 29 1000 -Ethernet29 30 Ethernet29 30 1000 -Ethernet30 31 Ethernet30 31 1000 -Ethernet31 32 Ethernet31 32 1000 -Ethernet32 33 Ethernet32 33 1000 -Ethernet33 34 Ethernet33 34 1000 -Ethernet34 35 Ethernet34 35 1000 -Ethernet35 36 Ethernet35 36 1000 -Ethernet36 37 Ethernet36 37 1000 -Ethernet37 38 Ethernet37 38 1000 -Ethernet38 39 Ethernet38 39 1000 -Ethernet39 40 Ethernet39 40 1000 -Ethernet40 41 Ethernet40 41 1000 -Ethernet41 42 Ethernet41 42 1000 -Ethernet42 43 Ethernet42 43 1000 -Ethernet43 44 Ethernet43 44 1000 -Ethernet44 45 Ethernet44 45 1000 -Ethernet45 46 Ethernet45 46 1000 -Ethernet46 47 Ethernet46 47 1000 -Ethernet47 48 Ethernet47 48 1000 -Ethernet48 49 Ethernet48 49 10000 -Ethernet49 50 Ethernet49 50 10000 -Ethernet50 51 Ethernet50 51 10000 -Ethernet51 52 Ethernet51 52 10000 diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/profile.ini b/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/profile.ini deleted file mode 100644 index c81a156d58f9..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/profile.ini +++ /dev/null @@ -1 +0,0 @@ -switchMacAddress=00:50:43:ee:ee:ee diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/sai.profile b/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/sai.profile deleted file mode 100644 index 10053fa935a1..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/et6448m/sai.profile +++ /dev/null @@ -1,3 +0,0 @@ -mode=1 -hwId=et6448m -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/fancontrol b/device/marvell/armhf-marvell_et6448m_52x-r0/fancontrol deleted file mode 100755 index 050e2504626c..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/fancontrol +++ /dev/null @@ -1,9 +0,0 @@ -INTERVAL=10 -DEVPATH=hwmon1=devices/platform/soc/soc:internal-regs/f1011000.i2c/i2c-0/0-002e -DEVNAME=hwmon1=adt7473 -FCTEMPS=hwmon1/device/pwm1=hwmon1/device/temp1_input hwmon1/device/pwm2=hwmon1/device/temp2_input -FCFANS=hwmon1/device/pwm1= hwmon1/device/pwm2=hwmon1/device/fan1_input -MINTEMP=hwmon1/device/pwm1=20 hwmon1/device/pwm2=20 -MAXTEMP=hwmon1/device/pwm1=60 hwmon1/device/pwm2=60 -MINSTART=hwmon1/device/pwm1=150 hwmon1/device/pwm2=150 -MINSTOP=hwmon1/device/pwm1=0 hwmon1/device/pwm2=0 diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/platform_asic b/device/marvell/armhf-marvell_et6448m_52x-r0/platform_asic deleted file mode 100644 index a554752878b7..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/platform_asic +++ /dev/null @@ -1 +0,0 @@ -marvell diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/eeprom.py b/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/eeprom.py deleted file mode 100644 index 71f05c5b70f5..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/eeprom.py +++ /dev/null @@ -1,11 +0,0 @@ -try: - from sonic_eeprom import eeprom_tlvinfo -except ImportError as e: - raise ImportError(str(e) + "- required module not found") - - -class board(eeprom_tlvinfo.TlvInfoDecoder): - - def __init__(self, name, path, cpld_root, ro): - self.eeprom_path = "/etc/sonic/eeprom" - super(board, self).__init__(self.eeprom_path, 0, '', True) diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/psuutil.py b/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/psuutil.py deleted file mode 100755 index a75832ee4d2d..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/psuutil.py +++ /dev/null @@ -1,69 +0,0 @@ -from sonic_py_common.general import getstatusoutput_noshell - -smbus_present = 1 -try: - import smbus -except ImportError as e: - smbus_present = 0 - -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) - MAX_PSUS = 2 - - def get_num_psus(self): - MAX_PSUS = 2 - return MAX_PSUS - - def get_psu_status(self, index): - if index is None: - return False - if smbus_present == 0: - cmdstatus, psustatus = getstatusoutput_noshell(["i2cget", "-y", "0", "0x41", "0xa"]) - psustatus = int(psustatus, 16) - else: - bus = smbus.SMBus(0) - DEVICE_ADDRESS = 0x41 - DEVICE_REG = 0xa - psustatus = bus.read_byte_data(DEVICE_ADDRESS, DEVICE_REG) - if index == 1: - psustatus = psustatus & 4 - if psustatus == 4: - return True - if index == 2: - psustatus = psustatus & 8 - if psustatus == 8: - return True - - return False - - def get_psu_presence(self, index): - if index is None: - return False - - if smbus_present == 0: - cmdstatus, psustatus = getstatusoutput_noshell(["i2cget", "-y", "0", "0x41", "0xa"]) - psustatus = int(psustatus, 16) - else: - bus = smbus.SMBus(0) - DEVICE_ADDRESS = 0x41 - DEVICE_REG = 0xa - psustatus = bus.read_byte_data(DEVICE_ADDRESS, DEVICE_REG) - - if index == 1: - psustatus = psustatus & 1 - if psustatus == 1: - return True - if index == 2: - psustatus = psustatus & 2 - if psustatus == 2: - return True - return False diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/sfputil.py b/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/sfputil.py deleted file mode 100755 index a160becb6fef..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/plugins/sfputil.py +++ /dev/null @@ -1,263 +0,0 @@ -try: - import os - import time - import re - import glob - import subprocess - from sonic_sfp.sfputilbase import SfpUtilBase - from sonic_py_common.general import getstatusoutput_noshell -except ImportError as e: - raise ImportError(str(e) + "- required module not found") - -smbus_present = 1 - -try: - import smbus -except ImportError as e: - smbus_present = 0 - - -class SfpUtil(SfpUtilBase): - """Platform specific sfputil class""" - - _port_start = 49 - _port_end = 52 - ports_in_block = 4 - - _port_to_eeprom_mapping = {} - port_to_i2c_mapping = { - 49: 2, - 50: 3, - 51: 4, - 52: 5 - } - - _qsfp_ports = list(range(_port_start, ports_in_block + 1)) - _changed_ports = [0, 0, 0, 0] - - def __init__(self): - - # Enable optical SFP Tx - if smbus_present == 0: - subprocess.call(["i2cset", "-y", "-m", "0x0f", "0", "0x41", "0x5", "0x00"]) - else: - bus = smbus.SMBus(0) - DEVICE_ADDRESS = 0x41 - DEVICEREG = 0x5 - OPTIC_E = bus.read_byte_data(DEVICE_ADDRESS, DEVICEREG) - OPTIC_E = OPTIC_E & 0xf0 - bus.write_byte_data(DEVICE_ADDRESS, DEVICEREG, OPTIC_E) - - # Mux Ordering - mux_dev = sorted(glob.glob("/sys/class/i2c-adapter/i2c-0/i2c-[0-9]")) - - # Enable optoe2 Driver - eeprom_path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom" - bus_path = "/sys/class/i2c-adapter/i2c-{0}/" - y = 0 - for x in range(self.port_start, self.port_end + 1): - mux_dev_num = mux_dev[y] - self.port_to_i2c_mapping[x] = mux_dev_num[-1] - y = y + 1 - port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x]) - #print port_eeprom_path - if not os.path.exists(port_eeprom_path): - bus_dev_path = bus_path.format(self.port_to_i2c_mapping[x]) + "/new_device" - with open(bus_dev_path, 'w') as f: - f.write("optoe2 0x50") - self.port_to_eeprom_mapping[x] = port_eeprom_path - self._port_to_eeprom_mapping[x] = port_eeprom_path - SfpUtilBase.__init__(self) - - def reset(self, port_num): - # Check for invalid port_num - if port_num < self._port_start or port_num > self._port_end: - return False - - path = "/sys/class/i2c-adapter/i2c-{0}/{0}-0050/sfp_port_reset" - port_ps = path.format(self.port_to_i2c_mapping[port_num]) - - try: - reg_file = open(port_ps, 'w') - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return False - - # toggle reset - reg_file.seek(0) - reg_file.write('1') - time.sleep(1) - reg_file.seek(0) - reg_file.write('0') - reg_file.close() - return True - - def set_low_power_mode(self, port_nuM, lpmode): - raise NotImplementedError - - def get_low_power_mode(self, port_num): - raise NotImplementedError - - 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 - prt = port_num % 49 - sel = "{0:02b}".format(prt) - p = sel[0] - q = sel[1] - - pos = [1, 2, 4, 8] - bit_pos = pos[prt] - if smbus_present == 0: - cmdstatus, sfpstatus = getstatusoutput_noshell(['i2cget', '-y', '0', '0x41', '0x3']) - sfpstatus = int(sfpstatus, 16) - else: - bus = smbus.SMBus(0) - DEVICE_ADDRESS = 0x41 - DEVICE_REG = 0x3 - sfpstatus = bus.read_byte_data(DEVICE_ADDRESS, DEVICE_REG) - sfpstatus = sfpstatus & (bit_pos) - if sfpstatus == 0: - #print("Port " + str(port_num) + "present") - return True - - return False - - def read_porttab_mappings(self, porttabfile): - logical = [] - logical_to_physical = {} - physical_to_logical = {} - last_fp_port_index = 0 - last_portname = "" - first = 1 - port_pos_in_file = 0 - parse_fmt_port_config_ini = False - - try: - f = open(porttabfile) - except: - raise - - parse_fmt_port_config_ini = (os.path.basename(porttabfile) == "port_config.ini") - - # Read the porttab file and generate dicts - # with mapping for future reference. - # - # TODO: Refactor this to use the portconfig.py module that now - # exists as part of the sonic-config-engine package. - title = [] - for line in f: - line.strip() - if re.search("^#", line) is not None: - # The current format is: # name lanes alias index speed - # Where the ordering of the columns can vary - title = line.split()[1:] - continue - - # Parsing logic for 'port_config.ini' file - if (parse_fmt_port_config_ini): - portname = line.split()[0] - - if "index" in title: - fp_port_index = int(line.split()[title.index("index")]) - # Leave the old code for backward compatibility - elif len(line.split()) >= 4: - fp_port_index = int(line.split()[3]) - else: - fp_port_index = portname.split("Ethernet").pop() - fp_port_index = int(fp_port_index.split("s").pop(0))+1 - # print(fp_port_index) - else: # Parsing logic for older 'portmap.ini' file - fp_port_index = portname.split("Ethernet").pop() - fp_port_index = int(fp_port_index.split("s").pop(0))+1 - - if ((len(self.sfp_ports) > 0) and (fp_port_index not in self.sfp_ports)): - continue - - if first == 1: - # Initialize last_[physical|logical]_port - # to the first valid port - last_fp_port_index = fp_port_index - last_portname = portname - first = 0 - - logical.append(portname) - - logical_to_physical[portname] = [fp_port_index] - if physical_to_logical.get(fp_port_index) is None: - physical_to_logical[fp_port_index] = [portname] - else: - physical_to_logical[fp_port_index].append( - portname) - - if (fp_port_index - last_fp_port_index) > 1: - # last port was a gang port - for p in range(last_fp_port_index+1, fp_port_index): - logical_to_physical[last_portname].append(p) - if physical_to_logical.get(p) is None: - physical_to_logical[p] = [last_portname] - else: - physical_to_logical[p].append(last_portname) - - last_fp_port_index = fp_port_index - last_portname = portname - - port_pos_in_file += 1 - - self.logical = logical - self.logical_to_physical = logical_to_physical - self.physical_to_logical = physical_to_logical - # print(self.logical_to_physical) - - @property - def port_start(self): - return self._port_start - - @property - def port_end(self): - return self._port_end - - @property - def qsfp_ports(self): - return self._qsfp_ports - - @property - def port_to_eeprom_mapping(self): - return self._port_to_eeprom_mapping - - def get_transceiver_change_event(self, timeout): - port_dict = {} - port = 0 - - if timeout == 0: - cd_ms = sys.maxsize - else: - cd_ms = timeout - changed_port = 0 - # poll per second - while cd_ms > 0: - for port_num in range(49, 53): - prt = port_num % 49 - sfpstatus = self.get_presence(port_num) - if sfpstatus: - port_dict[str(port_num)] = '1' - if self._changed_ports[prt] == 0: - changed_port = 1 - self._changed_ports[prt] = 1 - else: - port_dict[str(port_num)] = '0' - if self._changed_ports[prt] == 1: - changed_port = 1 - self._changed_ports[prt] = 0 - - if changed_port != 0: - break - time.sleep(1) - cd_ms = cd_ms - 1000 - - if changed_port: - return True, port_dict - else: - return True, {} - return False, {} diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/pmon_daemon_control.json b/device/marvell/armhf-marvell_et6448m_52x-r0/pmon_daemon_control.json deleted file mode 100644 index a3ecea34bcc9..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/pmon_daemon_control.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "skip_thermalctld": true, - "skip_ledd": true -} diff --git a/device/marvell/armhf-marvell_et6448m_52x-r0/sensors.conf b/device/marvell/armhf-marvell_et6448m_52x-r0/sensors.conf deleted file mode 100644 index 5f9b97162ee2..000000000000 --- a/device/marvell/armhf-marvell_et6448m_52x-r0/sensors.conf +++ /dev/null @@ -1,18 +0,0 @@ -chip "adt7473-*" - label fan1 "rear fan 1" - label fan2 "rear fan 2" - ignore fan3 - ignore fan4 - ignore in1 - -chip "lm75a-i2c-*-4a" - label temp1 "MAC temp sensor" - set temp1_max 65 - set temp1_crit 75 - -chip "lm75a-i2c-*-4b" - label temp1 "Board temp sensor" - set temp2_max 65 - set temp2_crit 75 -chip "armada_thermal-*" - ignore temp1 diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.md5 index 3e849f9f5131..f5e1907fd1ee 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -6eecbbbd215fe27637a19f5b01f96b51 \ No newline at end of file +614d20ad432baca22709f3edf80cc8b5 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.xml index 9eeb751c964b..9b5e3a9f04f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-Board-F2T_48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -740,6 +700,7 @@ lowercase characters. NA + false @@ -755,6 +716,7 @@ lowercase characters. NA + false @@ -770,6 +732,7 @@ lowercase characters. NA + false @@ -785,6 +748,7 @@ lowercase characters. NA + false @@ -800,6 +764,7 @@ lowercase characters. NA + false @@ -815,6 +780,7 @@ lowercase characters. NA + false @@ -830,6 +796,7 @@ lowercase characters. NA + false @@ -861,6 +828,7 @@ lowercase characters. NA + false @@ -876,6 +844,7 @@ lowercase characters. NA + false @@ -891,6 +860,7 @@ lowercase characters. NA + false @@ -906,6 +876,7 @@ lowercase characters. NA + false @@ -921,6 +892,7 @@ lowercase characters. NA + false @@ -936,6 +908,7 @@ lowercase characters. NA + false @@ -951,6 +924,7 @@ lowercase characters. NA + false @@ -982,6 +956,7 @@ lowercase characters. NA + false @@ -997,6 +972,7 @@ lowercase characters. NA + false @@ -1012,6 +988,7 @@ lowercase characters. NA + false @@ -1027,6 +1004,7 @@ lowercase characters. NA + false @@ -1042,6 +1020,7 @@ lowercase characters. NA + false @@ -1057,6 +1036,7 @@ lowercase characters. NA + false @@ -1072,6 +1052,7 @@ lowercase characters. NA + false @@ -1103,6 +1084,7 @@ lowercase characters. NA + false @@ -1118,6 +1100,7 @@ lowercase characters. NA + false @@ -1133,6 +1116,7 @@ lowercase characters. NA + false @@ -1148,6 +1132,7 @@ lowercase characters. NA + false @@ -1163,6 +1148,7 @@ lowercase characters. NA + false @@ -1178,6 +1164,7 @@ lowercase characters. NA + false @@ -1193,6 +1180,7 @@ lowercase characters. NA + false @@ -1224,6 +1212,7 @@ lowercase characters. NA + false @@ -1239,6 +1228,7 @@ lowercase characters. NA + false @@ -1254,6 +1244,7 @@ lowercase characters. NA + false @@ -1269,6 +1260,7 @@ lowercase characters. NA + false @@ -1284,6 +1276,7 @@ lowercase characters. NA + false @@ -1299,6 +1292,7 @@ lowercase characters. NA + false @@ -1314,6 +1308,7 @@ lowercase characters. NA + false @@ -1345,6 +1340,7 @@ lowercase characters. NA + false @@ -1360,6 +1356,7 @@ lowercase characters. NA + false @@ -1375,6 +1372,7 @@ lowercase characters. NA + false @@ -1390,6 +1388,7 @@ lowercase characters. NA + false @@ -1405,6 +1404,7 @@ lowercase characters. NA + false @@ -1420,6 +1420,7 @@ lowercase characters. NA + false @@ -1435,6 +1436,7 @@ lowercase characters. NA + false @@ -1466,6 +1468,7 @@ lowercase characters. NA + false @@ -1497,6 +1500,7 @@ lowercase characters. NA + false @@ -1528,6 +1532,7 @@ lowercase characters. NA + false @@ -1559,6 +1564,7 @@ lowercase characters. NA + false @@ -1574,6 +1580,7 @@ lowercase characters. NA + false @@ -1589,6 +1596,7 @@ lowercase characters. NA + false diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.md5 index 5ce1720c3114..19232794100e 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -06a802c61f6b37d6e1897fdf4be6ee83 \ No newline at end of file +b59ada1280486d99d91fceeb71d570fc \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.xml index 666a1eec84d4..5c86ba9348e9 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-L1-F2T_48x25G-8x100G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR4 @@ -878,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -896,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -904,348 +718,406 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default 100GR4 + false 49 AVAGO profile_default 100GR4 + false 50 AVAGO profile_default 100GR4 + false 51 AVAGO profile_default 100GR4 + false 52 AVAGO profile_default 100GR4 + false 53 AVAGO profile_default 100GR4 + false 54 AVAGO profile_default 100GR4 + false 55 AVAGO profile_default 100GR4 + false 56 AVAGO profile_default 10GR1Fix + false 57 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.md5 index 92fc07b50bf1..9565b39993ba 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -72ea1b2a8dd25f7d1584a05b11c1ae0b \ No newline at end of file +3d402de0a98eb4846991870c75ddb954 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.xml index 288006a4ae0c..d75a5f430fc4 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/ASK-PP-F2T_48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.md5 index 8f24db9ff7e3..f366399b7c0a 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -cdd0dffb9811802ae6b98caa7b62b96b \ No newline at end of file +08fa0bd1565c3302bf02fbbe1054c93e \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.xml index 973cc465de77..2a4b72e85cc4 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/SAI-F2T_48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -467,6 +497,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t0.j2 index f3eaf01447bd..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "21120000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "21120000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t1.j2 index f3eaf01447bd..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "21120000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "21120000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T48x25G8x100G/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.md5 index afe19e324e96..a5c33ecc9903 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.md5 @@ -1 +1 @@ -5a26299fae46aeeca40f450e0cc4e602 \ No newline at end of file +5b91ff7ea55b3eb11a76035918dcc7a1 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.xml index 879e3b954522..f550a73c15e7 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-Board-F2T_80x25G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -740,6 +700,7 @@ lowercase characters. NA + false @@ -755,6 +716,7 @@ lowercase characters. NA + false @@ -770,6 +732,7 @@ lowercase characters. NA + false @@ -785,6 +748,7 @@ lowercase characters. NA + false @@ -800,6 +764,7 @@ lowercase characters. NA + false @@ -815,6 +780,7 @@ lowercase characters. NA + false @@ -830,6 +796,7 @@ lowercase characters. NA + false @@ -861,6 +828,7 @@ lowercase characters. NA + false @@ -876,6 +844,7 @@ lowercase characters. NA + false @@ -891,6 +860,7 @@ lowercase characters. NA + false @@ -906,6 +876,7 @@ lowercase characters. NA + false @@ -921,6 +892,7 @@ lowercase characters. NA + false @@ -936,6 +908,7 @@ lowercase characters. NA + false @@ -951,6 +924,7 @@ lowercase characters. NA + false @@ -982,6 +956,7 @@ lowercase characters. NA + false @@ -997,6 +972,7 @@ lowercase characters. NA + false @@ -1012,6 +988,7 @@ lowercase characters. NA + false @@ -1027,6 +1004,7 @@ lowercase characters. NA + false @@ -1042,6 +1020,7 @@ lowercase characters. NA + false @@ -1057,6 +1036,7 @@ lowercase characters. NA + false @@ -1072,6 +1052,7 @@ lowercase characters. NA + false @@ -1103,6 +1084,7 @@ lowercase characters. NA + false @@ -1118,6 +1100,7 @@ lowercase characters. NA + false @@ -1133,6 +1116,7 @@ lowercase characters. NA + false @@ -1148,6 +1132,7 @@ lowercase characters. NA + false @@ -1163,6 +1148,7 @@ lowercase characters. NA + false @@ -1178,6 +1164,7 @@ lowercase characters. NA + false @@ -1193,6 +1180,7 @@ lowercase characters. NA + false @@ -1224,6 +1212,7 @@ lowercase characters. NA + false @@ -1239,6 +1228,7 @@ lowercase characters. NA + false @@ -1254,6 +1244,7 @@ lowercase characters. NA + false @@ -1269,6 +1260,7 @@ lowercase characters. NA + false @@ -1284,6 +1276,7 @@ lowercase characters. NA + false @@ -1299,6 +1292,7 @@ lowercase characters. NA + false @@ -1314,6 +1308,7 @@ lowercase characters. NA + false @@ -1345,6 +1340,7 @@ lowercase characters. NA + false @@ -1360,6 +1356,7 @@ lowercase characters. NA + false @@ -1375,6 +1372,7 @@ lowercase characters. NA + false @@ -1390,6 +1388,7 @@ lowercase characters. NA + false @@ -1405,6 +1404,7 @@ lowercase characters. NA + false @@ -1420,6 +1420,7 @@ lowercase characters. NA + false @@ -1435,6 +1436,7 @@ lowercase characters. NA + false @@ -1466,6 +1468,7 @@ lowercase characters. NA + false @@ -1481,6 +1484,7 @@ lowercase characters. NA + false @@ -1496,6 +1500,7 @@ lowercase characters. NA + false @@ -1511,6 +1516,7 @@ lowercase characters. NA + false @@ -1526,6 +1532,7 @@ lowercase characters. NA + false @@ -1541,6 +1548,7 @@ lowercase characters. NA + false @@ -1556,6 +1564,7 @@ lowercase characters. NA + false @@ -1587,6 +1596,7 @@ lowercase characters. NA + false @@ -1602,6 +1612,7 @@ lowercase characters. NA + false @@ -1617,6 +1628,7 @@ lowercase characters. NA + false @@ -1632,6 +1644,7 @@ lowercase characters. NA + false @@ -1647,6 +1660,7 @@ lowercase characters. NA + false @@ -1662,6 +1676,7 @@ lowercase characters. NA + false @@ -1677,6 +1692,7 @@ lowercase characters. NA + false @@ -1708,6 +1724,7 @@ lowercase characters. NA + false @@ -1723,6 +1740,7 @@ lowercase characters. NA + false @@ -1738,6 +1756,7 @@ lowercase characters. NA + false @@ -1753,6 +1772,7 @@ lowercase characters. NA + false @@ -1768,6 +1788,7 @@ lowercase characters. NA + false @@ -1783,6 +1804,7 @@ lowercase characters. NA + false @@ -1798,6 +1820,7 @@ lowercase characters. NA + false @@ -1829,6 +1852,7 @@ lowercase characters. NA + false @@ -1844,6 +1868,7 @@ lowercase characters. NA + false @@ -1859,6 +1884,7 @@ lowercase characters. NA + false @@ -1874,6 +1900,7 @@ lowercase characters. NA + false @@ -1889,6 +1916,7 @@ lowercase characters. NA + false @@ -1904,6 +1932,7 @@ lowercase characters. NA + false @@ -1919,6 +1948,7 @@ lowercase characters. NA + false @@ -1934,6 +1964,7 @@ lowercase characters. NA + false @@ -1949,6 +1980,7 @@ lowercase characters. NA + false diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.md5 index 48db349139ac..79515907c06c 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.md5 @@ -1 +1 @@ -b9e6fa1643045736b22b06e5a3443962 \ No newline at end of file +2cab0c0896bef0330843a5910094d048 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.xml index 448077663b13..e2c946b26d83 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-L1-F2T_80x25G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - emph0 - emph0 + sumfBoostTargetC1 + sumfBoostTargetC1 8 - emph1 - emph1 + sumfBoostTargetC2 + sumfBoostTargetC2 9 - txAmpShft - txAmpShft + midpointPhaseOs0 + midpointPhaseOs0 10 - txEmphEn - txEmphEn + midpointPhaseOs1 + midpointPhaseOs1 11 - txEmphEn1 - txEmphEn1 + midpointPhaseOs2 + midpointPhaseOs2 12 - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn - 7 - - - bfLf - bfLf - 8 - - - bfHf - bfHf - 9 - - - minLf - minLf - 10 - - - maxLf - maxLf - 11 - - - minHf - minHf - 12 - - - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,7 +615,38 @@ + ASIC_Falcon + + 100GR4 + + CR4 + 100G + rs_enabled + + + KR4 + 100G + rs_enabled + + + SR_LR4 + 100G + rs_enabled + + + CR4 + 100G + rs_enabled + rs_enabled + + + KR4 + 100G + rs_enabled + rs_enabled + + 10GR1Fix @@ -848,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -866,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -874,492 +718,630 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default - 25GR1 - - - 49 - AVAGO - profile_default - 25GR1 - - - 50 - AVAGO - profile_default - 25GR1 - - - 51 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 48 + 25GR1 + + 100GR4 + + + + 49 + 25GR1 + + + + + + 50 + 25GR1 + + + + + + 51 + 25GR1 + + + + 52 AVAGO profile_default - 25GR1 - - - 53 - AVAGO - profile_default - 25GR1 - - - 54 - AVAGO - profile_default - 25GR1 - - - 55 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 52 + 25GR1 + + 100GR4 + + + + 53 + 25GR1 + + + + + + 54 + 25GR1 + + + + + + 55 + 25GR1 + + + + 56 AVAGO profile_default - 25GR1 - - - 57 - AVAGO - profile_default - 25GR1 - - - 58 - AVAGO - profile_default - 25GR1 - - - 59 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 56 + 25GR1 + + 100GR4 + + + + 57 + 25GR1 + + + + + + 58 + 25GR1 + + + + + + 59 + 25GR1 + + + + 60 AVAGO profile_default - 25GR1 - - - 64 - AVAGO - profile_default - 25GR1 - - - 65 - AVAGO - profile_default - 25GR1 - - - 66 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 60 + 25GR1 + + 100GR4 + + + + 64 + 25GR1 + + + + + + 65 + 25GR1 + + + + + + 66 + 25GR1 + + + + 67 AVAGO profile_default - 25GR1 - - - 68 - AVAGO - profile_default - 25GR1 - - - 69 - AVAGO - profile_default - 25GR1 - - - 70 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 67 + 25GR1 + + 100GR4 + + + + 68 + 25GR1 + + + + + + 69 + 25GR1 + + + + + + 70 + 25GR1 + + + + 71 AVAGO profile_default - 25GR1 - - - 72 - AVAGO - profile_default - 25GR1 - - - 73 - AVAGO - profile_default - 25GR1 - - - 74 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 71 + 25GR1 + + 100GR4 + + + + 72 + 25GR1 + + + + + + 73 + 25GR1 + + + + + + 74 + 25GR1 + + + + 75 AVAGO profile_default - 25GR1 - - - 76 - AVAGO - profile_default - 25GR1 - - - 77 - AVAGO - profile_default - 25GR1 - - - 78 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 75 + 25GR1 + + 100GR4 + + + + 76 + 25GR1 + + + + + + 77 + 25GR1 + + + + + + 78 + 25GR1 + + + + 79 AVAGO profile_default - 25GR1 - - - 80 - AVAGO - profile_default - 25GR1 - - - 81 - AVAGO - profile_default - 25GR1 - - - 82 - AVAGO - profile_default - 25GR1 + 100GR4 + true + + 79 + 25GR1 + + 100GR4 + + + + 80 + 25GR1 + + + + + + 81 + 25GR1 + + + + + + 82 + 25GR1 + + + + 83 AVAGO profile_default 10GR1Fix + false 84 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.md5 index 604343ce0794..d1b1be9bb6cf 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.md5 @@ -1 +1 @@ -3943f8d39de0129472bf59ff13c92222 \ No newline at end of file +940d53a0bfef9ef5c5f6faccd5aa3239 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.xml index b7e9ec199eb9..39da78b47c23 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/ASK-PP-F2T_80x25G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.md5 index e804ba2cba74..38690325c77e 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.md5 @@ -1 +1 @@ -fa2395cae24db38d8388f251dae7c5b4 \ No newline at end of file +8c6f6a0f599258a5c2643bd5881f97c1 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.xml index 24006250ecb0..bf46172952fb 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/SAI-F2T_80x25G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -164,402 +194,402 @@ 0 0 - 82 + 0 1 0 - 81 + 1 2 0 - 80 + 2 3 0 - 79 + 3 4 0 - 78 + 4 5 0 - 77 + 5 6 0 - 76 + 6 7 0 - 75 + 7 8 0 - 74 + 8 9 0 - 73 + 9 10 0 - 72 + 10 11 0 - 71 + 11 12 0 - 70 + 12 13 0 - 69 + 13 14 0 - 68 + 14 15 0 - 67 + 15 16 0 - 66 + 16 17 0 - 65 + 17 18 0 - 64 + 18 19 0 - 60 + 19 20 0 - 59 + 20 21 0 - 58 + 21 22 0 - 57 + 22 23 0 - 56 + 23 24 0 - 55 + 24 25 0 - 54 + 25 26 0 - 53 + 26 27 0 - 52 + 27 28 0 - 51 + 28 29 0 - 50 + 29 30 0 - 49 + 30 31 0 - 48 + 31 32 0 - 47 + 32 33 0 - 46 + 33 34 0 - 45 + 34 35 0 - 44 + 35 36 0 - 43 + 36 37 0 - 42 + 37 38 0 - 41 + 38 39 0 - 40 + 39 40 0 - 39 + 40 41 0 - 38 + 41 42 0 - 37 + 42 43 0 - 36 + 43 44 0 - 35 + 44 45 0 - 34 + 45 46 0 - 33 + 46 47 0 - 32 + 47 48 0 - 31 + 48 49 0 - 30 + 49 50 0 - 29 + 50 51 0 - 28 + 51 52 0 - 27 + 52 53 0 - 26 + 53 54 0 - 25 + 54 55 0 - 24 + 55 56 0 - 23 + 56 57 0 - 22 + 57 58 0 - 21 + 58 59 0 - 20 + 59 60 0 - 19 + 60 61 0 - 18 + 64 62 0 - 17 + 65 63 0 - 16 + 66 64 0 - 15 + 67 65 0 - 14 + 68 66 0 - 13 + 69 67 0 - 12 + 70 68 0 - 11 + 71 69 0 - 10 + 72 70 0 - 9 + 73 71 0 - 8 + 74 72 0 - 7 + 75 73 0 - 6 + 76 74 0 - 5 + 77 75 0 - 4 + 78 76 0 - 3 + 79 77 0 - 2 + 80 78 0 - 1 + 81 79 0 - 0 + 82 80 @@ -587,9 +617,13 @@ 0 - - 2048 - + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t0.j2 index f3eaf01447bd..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "21120000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "21120000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t1.j2 index f3eaf01447bd..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "21120000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "21120000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/hwsku.json b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/hwsku.json new file mode 100644 index 000000000000..d091bf82878f --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/hwsku.json @@ -0,0 +1,443 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet1": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet2": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet3": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet4": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet5": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet6": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet7": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet8": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet9": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet10": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet11": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet12": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet13": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet14": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet15": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet16": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet17": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet18": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet19": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet20": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet21": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet22": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet23": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet24": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet25": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet26": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet27": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet28": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet29": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet30": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet31": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet32": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet33": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet34": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet35": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet36": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet37": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet38": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet39": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet40": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet41": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet42": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet43": { + "default_brkout_mode": "1x25G[10G,1G]", + "fec": "none" + }, + "Ethernet44": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet45": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet46": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet47": { + "default_brkout_mode": "1x25G[10G,1G]", + "autoneg": "on", + "fec": "none" + }, + "Ethernet48": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet49": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet50": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet51": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet52": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet53": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet54": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet55": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet56": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet57": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet58": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet59": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet60": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet61": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet62": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet63": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet64": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet65": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet66": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet67": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet68": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet69": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet70": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet71": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet72": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet73": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet74": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet75": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet76": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "none" + }, + "Ethernet77": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "none" + }, + "Ethernet78": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "none" + }, + "Ethernet79": { + "default_brkout_mode": "4x25G[10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "none" + }, + "Ethernet80": { + "default_brkout_mode": "1x10G", + "autoneg": "off" + }, + "Ethernet81": { + "default_brkout_mode": "1x10G", + "autoneg": "off" + } + } +} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/port_config.ini b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/port_config.ini index e0f004920690..5881c464a22d 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/port_config.ini +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/F2T80x25G/port_config.ini @@ -1,83 +1,83 @@ -# name lanes alias speed autoneg fec index -Ethernet0 0 twenty5GigE0 25000 on none 1 -Ethernet1 1 twenty5GigE1 25000 on none 2 -Ethernet2 2 twenty5GigE2 25000 on none 3 -Ethernet3 3 twenty5GigE3 25000 on none 4 -Ethernet4 4 twenty5GigE4 25000 on none 5 -Ethernet5 5 twenty5GigE5 25000 on none 6 -Ethernet6 6 twenty5GigE6 25000 on none 7 -Ethernet7 7 twenty5GigE7 25000 on none 8 -Ethernet8 8 twenty5GigE8 25000 on none 9 -Ethernet9 9 twenty5GigE9 25000 on none 10 -Ethernet10 10 twenty5GigE10 25000 on none 11 -Ethernet11 11 twenty5GigE11 25000 on none 12 -Ethernet12 12 twenty5GigE12 25000 on none 13 -Ethernet13 13 twenty5GigE13 25000 on none 14 -Ethernet14 14 twenty5GigE14 25000 on none 15 -Ethernet15 15 twenty5GigE15 25000 on none 16 -Ethernet16 16 twenty5GigE16 25000 on none 17 -Ethernet17 17 twenty5GigE17 25000 on none 18 -Ethernet18 18 twenty5GigE18 25000 on none 19 -Ethernet19 19 twenty5GigE19 25000 on none 20 -Ethernet20 20 twenty5GigE20 25000 on none 21 -Ethernet21 21 twenty5GigE21 25000 on none 22 -Ethernet22 22 twenty5GigE22 25000 on none 23 -Ethernet23 23 twenty5GigE23 25000 on none 24 -Ethernet24 24 twenty5GigE24 25000 on none 25 -Ethernet25 25 twenty5GigE25 25000 on none 26 -Ethernet26 26 twenty5GigE26 25000 on none 27 -Ethernet27 27 twenty5GigE27 25000 on none 28 -Ethernet28 28 twenty5GigE28 25000 on none 29 -Ethernet29 29 twenty5GigE29 25000 on none 30 -Ethernet30 30 twenty5GigE30 25000 on none 31 -Ethernet31 31 twenty5GigE31 25000 on none 32 -Ethernet32 32 twenty5GigE32 25000 on none 33 -Ethernet33 33 twenty5GigE33 25000 on none 34 -Ethernet34 34 twenty5GigE34 25000 on none 35 -Ethernet35 35 twenty5GigE35 25000 on none 36 -Ethernet36 36 twenty5GigE36 25000 on none 37 -Ethernet37 37 twenty5GigE37 25000 on none 38 -Ethernet38 38 twenty5GigE38 25000 on none 39 -Ethernet39 39 twenty5GigE39 25000 on none 40 -Ethernet40 40 twenty5GigE40 25000 on none 41 -Ethernet41 41 twenty5GigE41 25000 on none 42 -Ethernet42 42 twenty5GigE42 25000 on none 43 -Ethernet43 43 twenty5GigE43 25000 on none 44 -Ethernet44 44 twenty5GigE44 25000 on none 45 -Ethernet45 45 twenty5GigE45 25000 on none 46 -Ethernet46 46 twenty5GigE46 25000 on none 47 -Ethernet47 47 twenty5GigE47 25000 on none 48 -Ethernet48 48 twenty5GigE48 25000 on none 49 -Ethernet49 49 twenty5GigE49 25000 on none 50 -Ethernet50 50 twenty5GigE50 25000 on none 51 -Ethernet51 51 twenty5GigE51 25000 on none 52 -Ethernet52 52 twenty5GigE52 25000 on none 53 -Ethernet53 53 twenty5GigE53 25000 on none 54 -Ethernet54 54 twenty5GigE54 25000 on none 55 -Ethernet55 55 twenty5GigE55 25000 on none 56 -Ethernet56 56 twenty5GigE56 25000 on none 57 -Ethernet57 57 twenty5GigE57 25000 on none 58 -Ethernet58 58 twenty5GigE58 25000 on none 59 -Ethernet59 59 twenty5GigE59 25000 on none 60 -Ethernet60 60 twenty5GigE60 25000 on none 61 -Ethernet61 61 twenty5GigE61 25000 on none 62 -Ethernet62 62 twenty5GigE62 25000 on none 63 -Ethernet63 63 twenty5GigE63 25000 on none 64 -Ethernet64 64 twenty5GigE64 25000 on none 65 -Ethernet65 65 twenty5GigE65 25000 on none 66 -Ethernet66 66 twenty5GigE66 25000 on none 67 -Ethernet67 67 twenty5GigE67 25000 on none 68 -Ethernet68 68 twenty5GigE68 25000 on none 69 -Ethernet69 69 twenty5GigE69 25000 on none 70 -Ethernet70 70 twenty5GigE70 25000 on none 71 -Ethernet71 71 twenty5GigE71 25000 on none 72 -Ethernet72 72 twenty5GigE72 25000 on none 73 -Ethernet73 73 twenty5GigE73 25000 on none 74 -Ethernet74 74 twenty5GigE74 25000 on none 75 -Ethernet75 75 twenty5GigE75 25000 on none 76 -Ethernet76 76 twenty5GigE76 25000 on none 77 -Ethernet77 77 twenty5GigE77 25000 on none 78 -Ethernet78 78 twenty5GigE78 25000 on none 79 -Ethernet79 79 twenty5GigE79 25000 on none 80 -Ethernet80 80 tenGigE80 10000 off none 81 -Ethernet81 81 tenGigE81 10000 off none 82 +# name lanes alias speed autoneg fec index +Ethernet0 0 Eth1 25000 on none 1 +Ethernet1 1 Eth2 25000 on none 2 +Ethernet2 2 Eth3 25000 on none 3 +Ethernet3 3 Eth4 25000 on none 4 +Ethernet4 4 Eth5 25000 on none 5 +Ethernet5 5 Eth6 25000 on none 6 +Ethernet6 6 Eth7 25000 on none 7 +Ethernet7 7 Eth8 25000 on none 8 +Ethernet8 8 Eth9 25000 on none 9 +Ethernet9 9 Eth10 25000 on none 10 +Ethernet10 10 Eth11 25000 on none 11 +Ethernet11 11 Eth12 25000 on none 12 +Ethernet12 12 Eth13 25000 on none 13 +Ethernet13 13 Eth14 25000 on none 14 +Ethernet14 14 Eth15 25000 on none 15 +Ethernet15 15 Eth16 25000 on none 16 +Ethernet16 16 Eth17 25000 on none 17 +Ethernet17 17 Eth18 25000 on none 18 +Ethernet18 18 Eth19 25000 on none 19 +Ethernet19 19 Eth20 25000 on none 20 +Ethernet20 20 Eth21 25000 on none 21 +Ethernet21 21 Eth22 25000 on none 22 +Ethernet22 22 Eth23 25000 on none 23 +Ethernet23 23 Eth24 25000 on none 24 +Ethernet24 24 Eth25 25000 on none 25 +Ethernet25 25 Eth26 25000 on none 26 +Ethernet26 26 Eth27 25000 on none 27 +Ethernet27 27 Eth28 25000 on none 28 +Ethernet28 28 Eth29 25000 on none 29 +Ethernet29 29 Eth30 25000 on none 30 +Ethernet30 30 Eth31 25000 on none 31 +Ethernet31 31 Eth32 25000 on none 32 +Ethernet32 32 Eth33 25000 on none 33 +Ethernet33 33 Eth34 25000 on none 34 +Ethernet34 34 Eth35 25000 on none 35 +Ethernet35 35 Eth36 25000 on none 36 +Ethernet36 36 Eth37 25000 on none 37 +Ethernet37 37 Eth38 25000 on none 38 +Ethernet38 38 Eth39 25000 on none 39 +Ethernet39 39 Eth40 25000 on none 40 +Ethernet40 40 Eth41 25000 on none 41 +Ethernet41 41 Eth42 25000 on none 42 +Ethernet42 42 Eth43 25000 on none 43 +Ethernet43 43 Eth44 25000 on none 44 +Ethernet44 44 Eth45 25000 on none 45 +Ethernet45 45 Eth46 25000 on none 46 +Ethernet46 46 Eth47 25000 on none 47 +Ethernet47 47 Eth48 25000 on none 48 +Ethernet48 48 Eth49/1 25000 on none 49 +Ethernet49 49 Eth49/2 25000 on none 49 +Ethernet50 50 Eth49/3 25000 on none 49 +Ethernet51 51 Eth49/4 25000 on none 49 +Ethernet52 52 Eth50/1 25000 on none 50 +Ethernet53 53 Eth50/2 25000 on none 50 +Ethernet54 54 Eth50/3 25000 on none 50 +Ethernet55 55 Eth50/4 25000 on none 50 +Ethernet56 56 Eth51/1 25000 on none 51 +Ethernet57 57 Eth51/2 25000 on none 51 +Ethernet58 58 Eth51/3 25000 on none 51 +Ethernet59 59 Eth51/4 25000 on none 51 +Ethernet60 60 Eth52/1 25000 on none 52 +Ethernet61 61 Eth52/2 25000 on none 52 +Ethernet62 62 Eth52/3 25000 on none 52 +Ethernet63 63 Eth52/4 25000 on none 52 +Ethernet64 64 Eth53/1 25000 on none 53 +Ethernet65 65 Eth53/2 25000 on none 53 +Ethernet66 66 Eth53/3 25000 on none 53 +Ethernet67 67 Eth53/4 25000 on none 53 +Ethernet68 68 Eth54/1 25000 on none 54 +Ethernet69 69 Eth54/2 25000 on none 54 +Ethernet70 70 Eth54/3 25000 on none 54 +Ethernet71 71 Eth54/4 25000 on none 54 +Ethernet72 72 Eth55/1 25000 on none 55 +Ethernet73 73 Eth55/2 25000 on none 55 +Ethernet74 74 Eth55/3 25000 on none 55 +Ethernet75 75 Eth55/4 25000 on none 55 +Ethernet76 76 Eth56/1 25000 on none 56 +Ethernet77 77 Eth56/2 25000 on none 56 +Ethernet78 78 Eth56/3 25000 on none 56 +Ethernet79 79 Eth56/4 25000 on none 56 +Ethernet80 80 Eth57 10000 off none 57 +Ethernet81 81 Eth58 10000 off none 58 diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.md5 index 3e849f9f5131..f5e1907fd1ee 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -6eecbbbd215fe27637a19f5b01f96b51 \ No newline at end of file +614d20ad432baca22709f3edf80cc8b5 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.xml index 9eeb751c964b..9b5e3a9f04f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-Board-F2T_48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -740,6 +700,7 @@ lowercase characters. NA + false @@ -755,6 +716,7 @@ lowercase characters. NA + false @@ -770,6 +732,7 @@ lowercase characters. NA + false @@ -785,6 +748,7 @@ lowercase characters. NA + false @@ -800,6 +764,7 @@ lowercase characters. NA + false @@ -815,6 +780,7 @@ lowercase characters. NA + false @@ -830,6 +796,7 @@ lowercase characters. NA + false @@ -861,6 +828,7 @@ lowercase characters. NA + false @@ -876,6 +844,7 @@ lowercase characters. NA + false @@ -891,6 +860,7 @@ lowercase characters. NA + false @@ -906,6 +876,7 @@ lowercase characters. NA + false @@ -921,6 +892,7 @@ lowercase characters. NA + false @@ -936,6 +908,7 @@ lowercase characters. NA + false @@ -951,6 +924,7 @@ lowercase characters. NA + false @@ -982,6 +956,7 @@ lowercase characters. NA + false @@ -997,6 +972,7 @@ lowercase characters. NA + false @@ -1012,6 +988,7 @@ lowercase characters. NA + false @@ -1027,6 +1004,7 @@ lowercase characters. NA + false @@ -1042,6 +1020,7 @@ lowercase characters. NA + false @@ -1057,6 +1036,7 @@ lowercase characters. NA + false @@ -1072,6 +1052,7 @@ lowercase characters. NA + false @@ -1103,6 +1084,7 @@ lowercase characters. NA + false @@ -1118,6 +1100,7 @@ lowercase characters. NA + false @@ -1133,6 +1116,7 @@ lowercase characters. NA + false @@ -1148,6 +1132,7 @@ lowercase characters. NA + false @@ -1163,6 +1148,7 @@ lowercase characters. NA + false @@ -1178,6 +1164,7 @@ lowercase characters. NA + false @@ -1193,6 +1180,7 @@ lowercase characters. NA + false @@ -1224,6 +1212,7 @@ lowercase characters. NA + false @@ -1239,6 +1228,7 @@ lowercase characters. NA + false @@ -1254,6 +1244,7 @@ lowercase characters. NA + false @@ -1269,6 +1260,7 @@ lowercase characters. NA + false @@ -1284,6 +1276,7 @@ lowercase characters. NA + false @@ -1299,6 +1292,7 @@ lowercase characters. NA + false @@ -1314,6 +1308,7 @@ lowercase characters. NA + false @@ -1345,6 +1340,7 @@ lowercase characters. NA + false @@ -1360,6 +1356,7 @@ lowercase characters. NA + false @@ -1375,6 +1372,7 @@ lowercase characters. NA + false @@ -1390,6 +1388,7 @@ lowercase characters. NA + false @@ -1405,6 +1404,7 @@ lowercase characters. NA + false @@ -1420,6 +1420,7 @@ lowercase characters. NA + false @@ -1435,6 +1436,7 @@ lowercase characters. NA + false @@ -1466,6 +1468,7 @@ lowercase characters. NA + false @@ -1497,6 +1500,7 @@ lowercase characters. NA + false @@ -1528,6 +1532,7 @@ lowercase characters. NA + false @@ -1559,6 +1564,7 @@ lowercase characters. NA + false @@ -1574,6 +1580,7 @@ lowercase characters. NA + false @@ -1589,6 +1596,7 @@ lowercase characters. NA + false diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.md5 index 5ce1720c3114..19232794100e 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -06a802c61f6b37d6e1897fdf4be6ee83 \ No newline at end of file +b59ada1280486d99d91fceeb71d570fc \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.xml index 666a1eec84d4..5c86ba9348e9 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-L1-F2T_48x25G-8x100G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR4 @@ -878,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -896,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -904,348 +718,406 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default 100GR4 + false 49 AVAGO profile_default 100GR4 + false 50 AVAGO profile_default 100GR4 + false 51 AVAGO profile_default 100GR4 + false 52 AVAGO profile_default 100GR4 + false 53 AVAGO profile_default 100GR4 + false 54 AVAGO profile_default 100GR4 + false 55 AVAGO profile_default 100GR4 + false 56 AVAGO profile_default 10GR1Fix + false 57 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.md5 index 92fc07b50bf1..9565b39993ba 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -72ea1b2a8dd25f7d1584a05b11c1ae0b \ No newline at end of file +3d402de0a98eb4846991870c75ddb954 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.xml index 288006a4ae0c..d75a5f430fc4 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/ASK-PP-F2T_48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.md5 index 8f24db9ff7e3..f366399b7c0a 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.md5 @@ -1 +1 @@ -cdd0dffb9811802ae6b98caa7b62b96b \ No newline at end of file +08fa0bd1565c3302bf02fbbe1054c93e \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.xml index 973cc465de77..2a4b72e85cc4 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/SAI-F2T_48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -467,6 +497,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers.json.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers.json.j2 index a9a01d707ebf..0b1cb2c541b6 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers.json.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers.json.j2 @@ -1 +1,2 @@ +{%- set default_topo = 't1' %} {%- include 'buffers_config.j2' %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t0.j2 index f3eaf01447bd..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "21120000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "21120000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t1.j2 index f3eaf01447bd..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "21120000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "21120000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/db98cx8514_10cc/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/platform.json b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/platform.json new file mode 100644 index 000000000000..350cf148af0b --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8514_10cc-r0/platform.json @@ -0,0 +1,411 @@ +{ + "interfaces": { + "Ethernet0": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth1"] + }, + "index": "1", + "lanes": "0" + }, + "Ethernet1": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth2"] + }, + "index": "2", + "lanes": "1" + }, + "Ethernet2": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth3"] + }, + "index": "3", + "lanes": "2" + }, + "Ethernet3": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth4"] + }, + "index": "4", + "lanes": "3" + }, + "Ethernet4": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth5"] + }, + "index": "5", + "lanes": "4" + }, + "Ethernet6": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth7"] + }, + "index": "7", + "lanes": "6" + }, + "Ethernet7": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth8"] + }, + "index": "8", + "lanes": "7" + }, + "Ethernet8": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth9"] + }, + "index": "9", + "lanes": "8" + }, + "Ethernet9": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth10"] + }, + "index": "10", + "lanes": "9" + }, + "Ethernet10": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth11"] + }, + "index": "11", + "lanes": "10" + }, + "Ethernet11": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth12"] + }, + "index": "12", + "lanes": "11" + }, + "Ethernet12": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth13"] + }, + "index": "13", + "lanes": "12" + }, + "Ethernet13": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth14"] + }, + "index": "14", + "lanes": "13" + }, + "Ethernet14": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth15"] + }, + "index": "15", + "lanes": "14" + }, + "Ethernet15": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth16"] + }, + "index": "16", + "lanes": "15" + }, + "Ethernet16": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth17"] + }, + "index": "17", + "lanes": "16" + }, + "Ethernet17": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth18"] + }, + "index": "18", + "lanes": "17" + }, + "Ethernet18": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth19"] + }, + "index": "19", + "lanes": "18" + }, + "Ethernet19": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth20"] + }, + "index": "20", + "lanes": "19" + }, + "Ethernet20": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth21"] + }, + "index": "21", + "lanes": "20" + }, + "Ethernet21": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth22"] + }, + "index": "22", + "lanes": "21" + }, + "Ethernet22": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth23"] + }, + "index": "23", + "lanes": "22" + }, + "Ethernet23": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth24"] + }, + "index": "24", + "lanes": "23" + }, + "Ethernet24": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth25"] + }, + "index": "25", + "lanes": "24" + }, + "Ethernet25": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth26"] + }, + "index": "26", + "lanes": "25" + }, + "Ethernet26": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth27"] + }, + "index": "27", + "lanes": "26" + }, + "Ethernet27": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth28"] + }, + "index": "28", + "lanes": "27" + }, + "Ethernet28": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth29"] + }, + "index": "29", + "lanes": "28" + }, + "Ethernet29": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth30"] + }, + "index": "30", + "lanes": "29" + }, + "Ethernet30": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth31"] + }, + "index": "31", + "lanes": "30" + }, + "Ethernet31": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth32"] + }, + "index": "32", + "lanes": "31" + }, + "Ethernet32": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth33"] + }, + "index": "33", + "lanes": "32" + }, + "Ethernet33": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth34"] + }, + "index": "34", + "lanes": "33" + }, + "Ethernet34": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth35"] + }, + "index": "35", + "lanes": "34" + }, + "Ethernet35": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth36"] + }, + "index": "36", + "lanes": "35" + }, + "Ethernet36": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth37"] + }, + "index": "37", + "lanes": "36" + }, + "Ethernet37": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth38"] + }, + "index": "38", + "lanes": "37" + }, + "Ethernet38": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth39"] + }, + "index": "39", + "lanes": "38" + }, + "Ethernet39": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth40"] + }, + "index": "40", + "lanes": "39" + }, + "Ethernet40": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth41"] + }, + "index": "41", + "lanes": "40" + }, + "Ethernet41": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth42"] + }, + "index": "42", + "lanes": "41" + }, + "Ethernet42": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth43"] + }, + "index": "43", + "lanes": "42" + }, + "Ethernet43": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth44"] + }, + "index": "44", + "lanes": "43" + }, + "Ethernet44": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth45"] + }, + "index": "45", + "lanes": "44" + }, + "Ethernet45": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth46"] + }, + "index": "46", + "lanes": "45" + }, + "Ethernet46": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth47"] + }, + "index": "47", + "lanes": "46" + }, + "Ethernet47": { + "breakout_modes": { + "1x25G[10G,1G]": ["Eth48"] + }, + "index": "48", + "lanes": "47" + }, + "Ethernet48": { + "breakout_modes": { + "1x100G": ["Eth49"], + "4x25G[10G,1G]": ["Eth49/1", "Eth49/2", "Eth49/3", "Eth49/4"] + }, + "index": "49,49,49,49", + "lanes": "48,49,50,51" + }, + "Ethernet52": { + "breakout_modes": { + "1x100G": ["Eth50"], + "4x25G[10G,1G]": ["Eth50/1", "Eth50/2", "Eth50/3", "Eth50/4"] + }, + "index": "50,50,50,50", + "lanes": "52,53,54,55" + }, + "Ethernet56": { + "breakout_modes": { + "1x100G": ["Eth51"], + "4x25G[10G,1G]": ["Eth51/1", "Eth51/2", "Eth51/3", "Eth51/4"] + }, + "index": "51,51,51,51", + "lanes": "56,57,58,59" + }, + "Ethernet60": { + "breakout_modes": { + "1x100G": ["Eth52"], + "4x25G[10G,1G]": ["Eth52/1", "Eth52/2", "Eth52/3", "Eth52/4"] + }, + "index": "52,52,52,52", + "lanes": "60,61,62,63" + }, + "Ethernet64": { + "breakout_modes": { + "1x100G": ["Eth53"], + "4x25G[10G,1G]": ["Eth53/1", "Eth53/2", "Eth53/3", "Eth53/4"] + }, + "index": "53,53,53,53", + "lanes": "64,65,66,67" + }, + "Ethernet68": { + "breakout_modes": { + "1x100G": ["Eth54"], + "4x25G[10G,1G]": ["Eth54/1", "Eth54/2", "Eth54/3", "Eth54/4"] + }, + "index": "54,54,54,54", + "lanes": "68,69,70,71" + }, + "Ethernet72": { + "breakout_modes": { + "1x100G": ["Eth55"], + "4x25G[10G,1G]": ["Eth55/1", "Eth55/2", "Eth55/3", "Eth55/4"] + }, + "index": "55,55,55,55", + "lanes": "72,73,74,75" + }, + "Ethernet76": { + "breakout_modes": { + "1x100G": ["Eth56"], + "4x25G[10G,1G]": ["Eth56/1", "Eth56/2", "Eth56/3", "Eth56/4"] + }, + "index": "56,56,56,56", + "lanes": "76,77,78,79" + }, + "Ethernet80":{ + "breakout_modes": { + "1x10G": ["Eth57"] + }, + "index": "57", + "lanes": "80" + }, + "Ethernet81":{ + "breakout_modes": { + "1x10G": ["Eth58"] + }, + "index": "58", + "lanes": "81" + } + } +} diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.md5 index b9aabeb8706b..c1f0315003ec 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.md5 @@ -1 +1 @@ -e48527ad3f7bc5db09ec1fe078eba9a1 \ No newline at end of file +ca9e4d71ba45e70176f379e2baae662f \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.xml index 80434c00be65..bdaf4d469233 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-Board-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -177,6 +177,18 @@ with IEEE 1588v2 PTP Support with IEEE 1588v2 PTP Support 5 + + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support + 6 + + + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver + 7 + physical-port-num-type @@ -507,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -636,6 +639,11 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + mpp-num-type @@ -696,6 +704,7 @@ lowercase characters. NA + false @@ -711,6 +720,7 @@ lowercase characters. NA + false @@ -726,6 +736,7 @@ lowercase characters. NA + false @@ -741,6 +752,7 @@ lowercase characters. NA + @@ -760,6 +772,7 @@ lowercase characters. NA + false @@ -775,6 +788,7 @@ lowercase characters. NA + false @@ -790,6 +804,7 @@ lowercase characters. NA + false @@ -825,6 +840,7 @@ lowercase characters. NA + @@ -844,6 +860,7 @@ lowercase characters. NA + @@ -863,6 +880,7 @@ lowercase characters. NA + @@ -882,6 +900,7 @@ lowercase characters. NA + @@ -901,6 +920,7 @@ lowercase characters. NA + @@ -920,6 +940,7 @@ lowercase characters. NA + @@ -939,6 +960,7 @@ lowercase characters. NA + @@ -978,6 +1000,7 @@ lowercase characters. NA + @@ -997,6 +1020,7 @@ lowercase characters. NA + @@ -1016,6 +1040,7 @@ lowercase characters. NA + @@ -1035,6 +1060,7 @@ lowercase characters. NA + @@ -1054,6 +1080,7 @@ lowercase characters. NA + @@ -1073,6 +1100,7 @@ lowercase characters. NA + @@ -1092,6 +1120,7 @@ lowercase characters. NA + @@ -1131,6 +1160,7 @@ lowercase characters. NA + @@ -1150,6 +1180,7 @@ lowercase characters. NA + @@ -1169,6 +1200,7 @@ lowercase characters. NA + @@ -1188,6 +1220,7 @@ lowercase characters. NA + @@ -1207,6 +1240,7 @@ lowercase characters. NA + @@ -1226,6 +1260,7 @@ lowercase characters. NA + @@ -1245,6 +1280,7 @@ lowercase characters. NA + @@ -1284,6 +1320,7 @@ lowercase characters. NA + @@ -1303,6 +1340,7 @@ lowercase characters. NA + @@ -1322,6 +1360,7 @@ lowercase characters. NA + @@ -1341,6 +1380,7 @@ lowercase characters. NA + @@ -1360,6 +1400,7 @@ lowercase characters. NA + @@ -1379,6 +1420,7 @@ lowercase characters. NA + @@ -1398,6 +1440,7 @@ lowercase characters. NA + @@ -1437,6 +1480,7 @@ lowercase characters. NA + @@ -1456,6 +1500,7 @@ lowercase characters. NA + @@ -1475,6 +1520,7 @@ lowercase characters. NA + @@ -1494,6 +1540,7 @@ lowercase characters. NA + @@ -1513,6 +1560,7 @@ lowercase characters. NA + @@ -1532,6 +1580,7 @@ lowercase characters. NA + @@ -1551,6 +1600,7 @@ lowercase characters. NA + @@ -1590,6 +1640,7 @@ lowercase characters. NA + @@ -1609,6 +1660,7 @@ lowercase characters. NA + @@ -1628,6 +1680,7 @@ lowercase characters. NA + @@ -1647,6 +1700,7 @@ lowercase characters. NA + @@ -1666,6 +1720,7 @@ lowercase characters. NA + @@ -1685,6 +1740,7 @@ lowercase characters. NA + @@ -1704,6 +1760,7 @@ lowercase characters. NA + @@ -1743,6 +1800,7 @@ lowercase characters. NA + @@ -1762,6 +1820,7 @@ lowercase characters. NA + @@ -1781,6 +1840,7 @@ lowercase characters. NA + @@ -1800,6 +1860,7 @@ lowercase characters. NA + @@ -1819,6 +1880,7 @@ lowercase characters. NA + @@ -1838,6 +1900,7 @@ lowercase characters. NA + @@ -1857,6 +1920,7 @@ lowercase characters. NA + @@ -1896,6 +1960,7 @@ lowercase characters. NA + @@ -1915,6 +1980,7 @@ lowercase characters. NA + @@ -1934,6 +2000,7 @@ lowercase characters. NA + @@ -1953,6 +2020,7 @@ lowercase characters. NA + @@ -1972,6 +2040,7 @@ lowercase characters. NA + @@ -1991,6 +2060,7 @@ lowercase characters. NA + @@ -2010,6 +2080,7 @@ lowercase characters. NA + @@ -2029,6 +2100,7 @@ lowercase characters. NA + @@ -2048,6 +2120,7 @@ lowercase characters. NA + @@ -2067,6 +2140,7 @@ lowercase characters. NA + @@ -2106,6 +2180,7 @@ lowercase characters. NA + @@ -2125,6 +2200,7 @@ lowercase characters. NA + @@ -2144,6 +2220,7 @@ lowercase characters. NA + @@ -2163,6 +2240,7 @@ lowercase characters. NA + @@ -2182,6 +2260,7 @@ lowercase characters. NA + @@ -2201,6 +2280,7 @@ lowercase characters. NA + @@ -2220,6 +2300,7 @@ lowercase characters. NA + @@ -2259,6 +2340,7 @@ lowercase characters. NA + @@ -2278,6 +2360,7 @@ lowercase characters. NA + @@ -2297,6 +2380,7 @@ lowercase characters. NA + @@ -2316,6 +2400,7 @@ lowercase characters. NA + @@ -2335,6 +2420,7 @@ lowercase characters. NA + @@ -2354,6 +2440,7 @@ lowercase characters. NA + @@ -2373,6 +2460,7 @@ lowercase characters. NA + @@ -2412,6 +2500,7 @@ lowercase characters. NA + @@ -2431,6 +2520,7 @@ lowercase characters. NA + @@ -2450,6 +2540,7 @@ lowercase characters. NA + @@ -2469,6 +2560,7 @@ lowercase characters. NA + @@ -2488,6 +2580,7 @@ lowercase characters. NA + @@ -2507,6 +2600,7 @@ lowercase characters. NA + @@ -2526,6 +2620,7 @@ lowercase characters. NA + @@ -2565,6 +2660,7 @@ lowercase characters. NA + @@ -2584,6 +2680,7 @@ lowercase characters. NA + @@ -2603,6 +2700,7 @@ lowercase characters. NA + @@ -2622,6 +2720,7 @@ lowercase characters. NA + @@ -2641,6 +2740,7 @@ lowercase characters. NA + @@ -2660,6 +2760,7 @@ lowercase characters. NA + @@ -2679,6 +2780,7 @@ lowercase characters. NA + @@ -2718,6 +2820,7 @@ lowercase characters. NA + @@ -2737,6 +2840,7 @@ lowercase characters. NA + @@ -2756,6 +2860,7 @@ lowercase characters. NA + @@ -2775,6 +2880,7 @@ lowercase characters. NA + @@ -2794,6 +2900,7 @@ lowercase characters. NA + @@ -2813,6 +2920,7 @@ lowercase characters. NA + @@ -2832,6 +2940,7 @@ lowercase characters. NA + @@ -2871,6 +2980,7 @@ lowercase characters. NA + @@ -2890,6 +3000,7 @@ lowercase characters. NA + @@ -2909,6 +3020,7 @@ lowercase characters. NA + @@ -2928,6 +3040,7 @@ lowercase characters. NA + @@ -2947,6 +3060,7 @@ lowercase characters. NA + @@ -2966,6 +3080,7 @@ lowercase characters. NA + @@ -2985,6 +3100,7 @@ lowercase characters. NA + @@ -3024,6 +3140,7 @@ lowercase characters. NA + @@ -3043,6 +3160,7 @@ lowercase characters. NA + @@ -3062,6 +3180,7 @@ lowercase characters. NA + @@ -3081,6 +3200,7 @@ lowercase characters. NA + @@ -3120,6 +3240,7 @@ lowercase characters. NA + diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.md5 index 084f63926d4c..fb0539ad5144 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.md5 @@ -1 +1 @@ -baf77e7f450def2266516782d159cbb4 \ No newline at end of file +5057667a33ccbabfd62355884b977130 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.xml index 7a2208bf90ec..01fe8a64bb8c 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-L1-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -21,6 +21,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + interface-mode-type @@ -254,26 +259,6 @@ 0 1023 - - tx-param-type - enumeration - Tx parameter type - - pre - pre - 0 - - - post - post - 1 - - - peak - peak - 2 - - rx-param-type enumeration @@ -448,6 +433,96 @@ maxRes1 33 + + current1Sel + current1Sel + 34 + + + rl1Sel + rl1Sel + 35 + + + rl1Extra + rl1Extra + 36 + + + cl1Ctrl + cl1Ctrl + 37 + + + enMidFreq + enMidFreq + 38 + + + cs1Mid + cs1Mid + 39 + + + rs1Mid + rs1Mid + 40 + + + rfCtrl + rfCtrl + 41 + + + rl1TiaSel + rl1TiaSel + 42 + + + rl1TiaExtra + rl1TiaExtra + 43 + + + hpfRSel1st + hpfRSel1st + 44 + + + current1TiaSel + current1TiaSel + 45 + + + rl2Tune + rl2Tune + 46 + + + rl2Sel + rl2Sel + 47 + + + rs2Sel + rs2Sel + 48 + + + current2Sel + current2Sel + 49 + + + hpfRsel2nd + hpfRsel2nd + 50 + + + align90AnaReg + align90AnaReg + 51 + boolean-type @@ -641,12 +716,22 @@ 10G enabled + + 1000BASE_X + 1G + KR 10G enabled enabled + + 1000BASE_X + 1G + disabled + disabled + 10GR1Fix @@ -740,6 +825,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -758,6 +847,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + 400GR8 diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.md5 index 4c6962b96910..4a5d938643d0 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.md5 @@ -1 +1 @@ -9699d7ac6395ccab96dec333c782dc1d \ No newline at end of file +1d6eb06245c485e922f1dac5b85dedce \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.xml index 7cd85e016983..eb159969a6aa 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/ASK-PP-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.md5 index cfa1a375d83b..b34615c93e7d 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.md5 @@ -1 +1 @@ -88cbf08802a5d41b605a8dd83f2c5139 \ No newline at end of file +0b1e0deacec9af5b5e9367858b3d43a3 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.xml index 635a099a35aa..124157d391b9 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/FC128x25G/SAI-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -166,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.md5 index b9aabeb8706b..c1f0315003ec 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.md5 @@ -1 +1 @@ -e48527ad3f7bc5db09ec1fe078eba9a1 \ No newline at end of file +ca9e4d71ba45e70176f379e2baae662f \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.xml index 80434c00be65..bdaf4d469233 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-Board-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -177,6 +177,18 @@ with IEEE 1588v2 PTP Support with IEEE 1588v2 PTP Support 5 + + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support + 6 + + + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver + 7 + physical-port-num-type @@ -507,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -636,6 +639,11 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + mpp-num-type @@ -696,6 +704,7 @@ lowercase characters. NA + false @@ -711,6 +720,7 @@ lowercase characters. NA + false @@ -726,6 +736,7 @@ lowercase characters. NA + false @@ -741,6 +752,7 @@ lowercase characters. NA + @@ -760,6 +772,7 @@ lowercase characters. NA + false @@ -775,6 +788,7 @@ lowercase characters. NA + false @@ -790,6 +804,7 @@ lowercase characters. NA + false @@ -825,6 +840,7 @@ lowercase characters. NA + @@ -844,6 +860,7 @@ lowercase characters. NA + @@ -863,6 +880,7 @@ lowercase characters. NA + @@ -882,6 +900,7 @@ lowercase characters. NA + @@ -901,6 +920,7 @@ lowercase characters. NA + @@ -920,6 +940,7 @@ lowercase characters. NA + @@ -939,6 +960,7 @@ lowercase characters. NA + @@ -978,6 +1000,7 @@ lowercase characters. NA + @@ -997,6 +1020,7 @@ lowercase characters. NA + @@ -1016,6 +1040,7 @@ lowercase characters. NA + @@ -1035,6 +1060,7 @@ lowercase characters. NA + @@ -1054,6 +1080,7 @@ lowercase characters. NA + @@ -1073,6 +1100,7 @@ lowercase characters. NA + @@ -1092,6 +1120,7 @@ lowercase characters. NA + @@ -1131,6 +1160,7 @@ lowercase characters. NA + @@ -1150,6 +1180,7 @@ lowercase characters. NA + @@ -1169,6 +1200,7 @@ lowercase characters. NA + @@ -1188,6 +1220,7 @@ lowercase characters. NA + @@ -1207,6 +1240,7 @@ lowercase characters. NA + @@ -1226,6 +1260,7 @@ lowercase characters. NA + @@ -1245,6 +1280,7 @@ lowercase characters. NA + @@ -1284,6 +1320,7 @@ lowercase characters. NA + @@ -1303,6 +1340,7 @@ lowercase characters. NA + @@ -1322,6 +1360,7 @@ lowercase characters. NA + @@ -1341,6 +1380,7 @@ lowercase characters. NA + @@ -1360,6 +1400,7 @@ lowercase characters. NA + @@ -1379,6 +1420,7 @@ lowercase characters. NA + @@ -1398,6 +1440,7 @@ lowercase characters. NA + @@ -1437,6 +1480,7 @@ lowercase characters. NA + @@ -1456,6 +1500,7 @@ lowercase characters. NA + @@ -1475,6 +1520,7 @@ lowercase characters. NA + @@ -1494,6 +1540,7 @@ lowercase characters. NA + @@ -1513,6 +1560,7 @@ lowercase characters. NA + @@ -1532,6 +1580,7 @@ lowercase characters. NA + @@ -1551,6 +1600,7 @@ lowercase characters. NA + @@ -1590,6 +1640,7 @@ lowercase characters. NA + @@ -1609,6 +1660,7 @@ lowercase characters. NA + @@ -1628,6 +1680,7 @@ lowercase characters. NA + @@ -1647,6 +1700,7 @@ lowercase characters. NA + @@ -1666,6 +1720,7 @@ lowercase characters. NA + @@ -1685,6 +1740,7 @@ lowercase characters. NA + @@ -1704,6 +1760,7 @@ lowercase characters. NA + @@ -1743,6 +1800,7 @@ lowercase characters. NA + @@ -1762,6 +1820,7 @@ lowercase characters. NA + @@ -1781,6 +1840,7 @@ lowercase characters. NA + @@ -1800,6 +1860,7 @@ lowercase characters. NA + @@ -1819,6 +1880,7 @@ lowercase characters. NA + @@ -1838,6 +1900,7 @@ lowercase characters. NA + @@ -1857,6 +1920,7 @@ lowercase characters. NA + @@ -1896,6 +1960,7 @@ lowercase characters. NA + @@ -1915,6 +1980,7 @@ lowercase characters. NA + @@ -1934,6 +2000,7 @@ lowercase characters. NA + @@ -1953,6 +2020,7 @@ lowercase characters. NA + @@ -1972,6 +2040,7 @@ lowercase characters. NA + @@ -1991,6 +2060,7 @@ lowercase characters. NA + @@ -2010,6 +2080,7 @@ lowercase characters. NA + @@ -2029,6 +2100,7 @@ lowercase characters. NA + @@ -2048,6 +2120,7 @@ lowercase characters. NA + @@ -2067,6 +2140,7 @@ lowercase characters. NA + @@ -2106,6 +2180,7 @@ lowercase characters. NA + @@ -2125,6 +2200,7 @@ lowercase characters. NA + @@ -2144,6 +2220,7 @@ lowercase characters. NA + @@ -2163,6 +2240,7 @@ lowercase characters. NA + @@ -2182,6 +2260,7 @@ lowercase characters. NA + @@ -2201,6 +2280,7 @@ lowercase characters. NA + @@ -2220,6 +2300,7 @@ lowercase characters. NA + @@ -2259,6 +2340,7 @@ lowercase characters. NA + @@ -2278,6 +2360,7 @@ lowercase characters. NA + @@ -2297,6 +2380,7 @@ lowercase characters. NA + @@ -2316,6 +2400,7 @@ lowercase characters. NA + @@ -2335,6 +2420,7 @@ lowercase characters. NA + @@ -2354,6 +2440,7 @@ lowercase characters. NA + @@ -2373,6 +2460,7 @@ lowercase characters. NA + @@ -2412,6 +2500,7 @@ lowercase characters. NA + @@ -2431,6 +2520,7 @@ lowercase characters. NA + @@ -2450,6 +2540,7 @@ lowercase characters. NA + @@ -2469,6 +2560,7 @@ lowercase characters. NA + @@ -2488,6 +2580,7 @@ lowercase characters. NA + @@ -2507,6 +2600,7 @@ lowercase characters. NA + @@ -2526,6 +2620,7 @@ lowercase characters. NA + @@ -2565,6 +2660,7 @@ lowercase characters. NA + @@ -2584,6 +2680,7 @@ lowercase characters. NA + @@ -2603,6 +2700,7 @@ lowercase characters. NA + @@ -2622,6 +2720,7 @@ lowercase characters. NA + @@ -2641,6 +2740,7 @@ lowercase characters. NA + @@ -2660,6 +2760,7 @@ lowercase characters. NA + @@ -2679,6 +2780,7 @@ lowercase characters. NA + @@ -2718,6 +2820,7 @@ lowercase characters. NA + @@ -2737,6 +2840,7 @@ lowercase characters. NA + @@ -2756,6 +2860,7 @@ lowercase characters. NA + @@ -2775,6 +2880,7 @@ lowercase characters. NA + @@ -2794,6 +2900,7 @@ lowercase characters. NA + @@ -2813,6 +2920,7 @@ lowercase characters. NA + @@ -2832,6 +2940,7 @@ lowercase characters. NA + @@ -2871,6 +2980,7 @@ lowercase characters. NA + @@ -2890,6 +3000,7 @@ lowercase characters. NA + @@ -2909,6 +3020,7 @@ lowercase characters. NA + @@ -2928,6 +3040,7 @@ lowercase characters. NA + @@ -2947,6 +3060,7 @@ lowercase characters. NA + @@ -2966,6 +3080,7 @@ lowercase characters. NA + @@ -2985,6 +3100,7 @@ lowercase characters. NA + @@ -3024,6 +3140,7 @@ lowercase characters. NA + @@ -3043,6 +3160,7 @@ lowercase characters. NA + @@ -3062,6 +3180,7 @@ lowercase characters. NA + @@ -3081,6 +3200,7 @@ lowercase characters. NA + @@ -3120,6 +3240,7 @@ lowercase characters. NA + diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.md5 index 084f63926d4c..fb0539ad5144 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.md5 @@ -1 +1 @@ -baf77e7f450def2266516782d159cbb4 \ No newline at end of file +5057667a33ccbabfd62355884b977130 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.xml index 7a2208bf90ec..01fe8a64bb8c 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-L1-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -21,6 +21,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + interface-mode-type @@ -254,26 +259,6 @@ 0 1023 - - tx-param-type - enumeration - Tx parameter type - - pre - pre - 0 - - - post - post - 1 - - - peak - peak - 2 - - rx-param-type enumeration @@ -448,6 +433,96 @@ maxRes1 33 + + current1Sel + current1Sel + 34 + + + rl1Sel + rl1Sel + 35 + + + rl1Extra + rl1Extra + 36 + + + cl1Ctrl + cl1Ctrl + 37 + + + enMidFreq + enMidFreq + 38 + + + cs1Mid + cs1Mid + 39 + + + rs1Mid + rs1Mid + 40 + + + rfCtrl + rfCtrl + 41 + + + rl1TiaSel + rl1TiaSel + 42 + + + rl1TiaExtra + rl1TiaExtra + 43 + + + hpfRSel1st + hpfRSel1st + 44 + + + current1TiaSel + current1TiaSel + 45 + + + rl2Tune + rl2Tune + 46 + + + rl2Sel + rl2Sel + 47 + + + rs2Sel + rs2Sel + 48 + + + current2Sel + current2Sel + 49 + + + hpfRsel2nd + hpfRsel2nd + 50 + + + align90AnaReg + align90AnaReg + 51 + boolean-type @@ -641,12 +716,22 @@ 10G enabled + + 1000BASE_X + 1G + KR 10G enabled enabled + + 1000BASE_X + 1G + disabled + disabled + 10GR1Fix @@ -740,6 +825,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -758,6 +847,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + 400GR8 diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.md5 index 4c6962b96910..4a5d938643d0 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.md5 @@ -1 +1 @@ -9699d7ac6395ccab96dec333c782dc1d \ No newline at end of file +1d6eb06245c485e922f1dac5b85dedce \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.xml index 7cd85e016983..eb159969a6aa 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/ASK-PP-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.md5 b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.md5 index cfa1a375d83b..b34615c93e7d 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.md5 @@ -1 +1 @@ -88cbf08802a5d41b605a8dd83f2c5139 \ No newline at end of file +0b1e0deacec9af5b5e9367858b3d43a3 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.xml b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.xml index 635a099a35aa..124157d391b9 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/db98cx8522_10cc/SAI-F3_2T-128x25G.xml @@ -1,5 +1,5 @@ - + @@ -166,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/platform.json b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/platform.json index 205de6cf42f1..f026e12ba5b4 100644 --- a/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/platform.json +++ b/device/marvell/x86_64-marvell_db98cx8522_10cc-r0/platform.json @@ -3,7 +3,7 @@ "Ethernet0": { "breakout_modes": { "2x100G": ["Eth1/1", "Eth1/2"], - "8x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4", "Eth1/5", "Eth1/6", "Eth1/7", "Eth1/8"] + "8x25G[10G,1G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4", "Eth1/5", "Eth1/6", "Eth1/7", "Eth1/8"] }, "index": "1,1,1,1,1,1,1,1", "lanes": "0,1,2,3,4,5,6,7" @@ -11,7 +11,7 @@ "Ethernet8": { "breakout_modes": { "2x100G": ["Eth2/1", "Eth2/2"], - "8x50G[10G]": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4", "Eth2/5", "Eth2/6", "Eth2/7", "Eth2/8"] + "8x25G[10G,1G]": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4", "Eth2/5", "Eth2/6", "Eth2/7", "Eth2/8"] }, "index": "2,2,2,2,2,2,2,2", "lanes": "8,9,10,11,12,13,14,15" @@ -19,7 +19,7 @@ "Ethernet16": { "breakout_modes": { "2x100G": ["Eth3/1", "Eth3/2"], - "8x50G[10G]": ["Eth3/1", "Eth3/2", "Eth3/3", "Eth3/4", "Eth3/5", "Eth3/6", "Eth3/7", "Eth3/8"] + "8x25G[10G,1G]": ["Eth3/1", "Eth3/2", "Eth3/3", "Eth3/4", "Eth3/5", "Eth3/6", "Eth3/7", "Eth3/8"] }, "index": "3,3,3,3,3,3,3,3", "lanes": "16,17,18,19,20,21,22,23" @@ -27,7 +27,7 @@ "Ethernet24": { "breakout_modes": { "2x100G": ["Eth4/1", "Eth4/2"], - "8x50G[10G]": ["Eth4/1", "Eth4/2", "Eth4/3", "Eth4/4", "Eth4/5", "Eth4/6", "Eth4/7", "Eth4/8"] + "8x25G[10G,1G]": ["Eth4/1", "Eth4/2", "Eth4/3", "Eth4/4", "Eth4/5", "Eth4/6", "Eth4/7", "Eth4/8"] }, "index": "4,4,4,4,4,4,4,4", "lanes": "24,25,26,27,28,29,30,31" @@ -35,7 +35,7 @@ "Ethernet32": { "breakout_modes": { "2x100G": ["Eth5/1", "Eth5/2"], - "8x50G[10G]": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4", "Eth5/5", "Eth5/6", "Eth5/7", "Eth5/8"] + "8x25G[10G,1G]": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4", "Eth5/5", "Eth5/6", "Eth5/7", "Eth5/8"] }, "index": "5,5,5,5,5,5,5,5", "lanes": "32,33,34,35,36,37,38,39" @@ -43,7 +43,7 @@ "Ethernet40": { "breakout_modes": { "2x100G": ["Eth6/1", "Eth6/2"], - "8x50G[10G]": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4", "Eth6/5", "Eth6/6", "Eth6/7", "Eth6/8"] + "8x25G[10G,1G]": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4", "Eth6/5", "Eth6/6", "Eth6/7", "Eth6/8"] }, "index": "6,6,6,6,6,6,6,6", "lanes": "40,41,42,43,44,45,46,47" @@ -51,7 +51,7 @@ "Ethernet48": { "breakout_modes": { "2x100G": ["Eth7/1", "Eth7/2"], - "8x50G[10G]": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4", "Eth7/5", "Eth7/6", "Eth7/7", "Eth7/8"] + "8x25G[10G,1G]": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4", "Eth7/5", "Eth7/6", "Eth7/7", "Eth7/8"] }, "index": "7,7,7,7,7,7,7,7", "lanes": "48,49,50,51,52,53,54,55" @@ -59,7 +59,7 @@ "Ethernet56": { "breakout_modes": { "2x100G": ["Eth8/1", "Eth8/2"], - "8x50G[10G]": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4", "Eth8/5", "Eth8/6", "Eth8/7", "Eth8/8"] + "8x25G[10G,1G]": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4", "Eth8/5", "Eth8/6", "Eth8/7", "Eth8/8"] }, "index": "8,8,8,8,8,8,8,8", "lanes": "56,57,58,59,60,61,62,63" @@ -67,7 +67,7 @@ "Ethernet64": { "breakout_modes": { "2x100G": ["Eth9/1", "Eth9/2"], - "8x50G[10G]": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4", "Eth9/5", "Eth9/6", "Eth9/7", "Eth9/8"] + "8x25G[10G,1G]": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4", "Eth9/5", "Eth9/6", "Eth9/7", "Eth9/8"] }, "index": "9,9,9,9,9,9,9,9", "lanes": "64,65,66,67,68,69,70,71" @@ -75,7 +75,7 @@ "Ethernet72": { "breakout_modes": { "2x100G": ["Eth10/1", "Eth10/2"], - "8x50G[10G]": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4", "Eth10/5", "Eth10/6", "Eth10/7", "Eth10/8"] + "8x25G[10G,1G]": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4", "Eth10/5", "Eth10/6", "Eth10/7", "Eth10/8"] }, "index": "10,10,10,10,10,10,10,10", "lanes": "72,73,74,75,76,77,78,79" @@ -83,7 +83,7 @@ "Ethernet80": { "breakout_modes": { "2x100G": ["Eth11/1", "Eth11/2"], - "8x50G[10G]": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4", "Eth11/5", "Eth11/6", "Eth11/7", "Eth11/8"] + "8x25G[10G,1G]": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4", "Eth11/5", "Eth11/6", "Eth11/7", "Eth11/8"] }, "index": "11,11,11,11,11,11,11,11", "lanes": "80,81,82,83,84,85,86,87" @@ -91,7 +91,7 @@ "Ethernet88": { "breakout_modes": { "2x100G": ["Eth12/1", "Eth12/2"], - "8x50G[10G]": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4", "Eth12/5", "Eth12/6", "Eth12/7", "Eth12/8"] + "8x25G[10G,1G]": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4", "Eth12/5", "Eth12/6", "Eth12/7", "Eth12/8"] }, "index": "12,12,12,12,12,12,12,12", "lanes": "88,89,90,91,92,93,94,95" @@ -99,7 +99,7 @@ "Ethernet96": { "breakout_modes": { "2x100G": ["Eth13/1", "Eth13/2"], - "8x50G[10G]": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4", "Eth13/5", "Eth13/6", "Eth13/7", "Eth13/8"] + "8x25G[10G,1G]": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4", "Eth13/5", "Eth13/6", "Eth13/7", "Eth13/8"] }, "index": "13,13,13,13,13,13,13,13", "lanes": "96,97,98,99,100,101,102,103" @@ -107,7 +107,7 @@ "Ethernet104": { "breakout_modes": { "2x100G": ["Eth14/1", "Eth14/2"], - "8x50G[10G]": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4", "Eth14/5", "Eth14/6", "Eth14/7", "Eth14/8"] + "8x25G[10G,1G]": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4", "Eth14/5", "Eth14/6", "Eth14/7", "Eth14/8"] }, "index": "14,14,14,14,14,14,14,14", "lanes": "104,105,106,107,108,109,110,111" @@ -115,7 +115,7 @@ "Ethernet112": { "breakout_modes": { "2x100G": ["Eth15/1", "Eth15/2"], - "8x50G[10G]": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4", "Eth15/5", "Eth15/6", "Eth15/7", "Eth15/8"] + "8x25G[10G,1G]": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4", "Eth15/5", "Eth15/6", "Eth15/7", "Eth15/8"] }, "index": "15,15,15,15,15,15,15,15", "lanes": "112,113,114,115,116,117,118,119" @@ -123,7 +123,7 @@ "Ethernet120": { "breakout_modes": { "2x100G": ["Eth16/1", "Eth16/2"], - "8x50G[10G]": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4", "Eth16/5", "Eth16/6", "Eth16/7", "Eth16/8"] + "8x25G[10G,1G]": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4", "Eth16/5", "Eth16/6", "Eth16/7", "Eth16/8"] }, "index": "16,16,16,16,16,16,16,16", "lanes": "120,121,122,123,124,125,126,127" diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.md5 index 3a1dbc2cb3e3..670df637486f 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.md5 @@ -1 +1 @@ -62fde882ea62d2c13eb9d7def73f5373 \ No newline at end of file +68722e8ff41be890cabe9e25a12d3f68 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.xml index 6fb03bf181b4..281cdb0d359c 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-Board-F6_4T-128x50G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -744,6 +704,7 @@ lowercase characters. NA + false @@ -759,6 +720,7 @@ lowercase characters. NA + false @@ -774,6 +736,7 @@ lowercase characters. NA + false @@ -789,6 +752,7 @@ lowercase characters. NA + @@ -808,6 +772,7 @@ lowercase characters. NA + false @@ -823,6 +788,7 @@ lowercase characters. NA + false @@ -838,6 +804,7 @@ lowercase characters. NA + false @@ -873,6 +840,7 @@ lowercase characters. NA + @@ -892,6 +860,7 @@ lowercase characters. NA + @@ -911,6 +880,7 @@ lowercase characters. NA + @@ -930,6 +900,7 @@ lowercase characters. NA + @@ -949,6 +920,7 @@ lowercase characters. NA + @@ -968,6 +940,7 @@ lowercase characters. NA + @@ -987,6 +960,7 @@ lowercase characters. NA + @@ -1026,6 +1000,7 @@ lowercase characters. NA + @@ -1045,6 +1020,7 @@ lowercase characters. NA + @@ -1064,6 +1040,7 @@ lowercase characters. NA + @@ -1083,6 +1060,7 @@ lowercase characters. NA + @@ -1102,6 +1080,7 @@ lowercase characters. NA + @@ -1121,6 +1100,7 @@ lowercase characters. NA + @@ -1140,6 +1120,7 @@ lowercase characters. NA + @@ -1179,6 +1160,7 @@ lowercase characters. NA + @@ -1198,6 +1180,7 @@ lowercase characters. NA + @@ -1217,6 +1200,7 @@ lowercase characters. NA + @@ -1236,6 +1220,7 @@ lowercase characters. NA + @@ -1255,6 +1240,7 @@ lowercase characters. NA + @@ -1274,6 +1260,7 @@ lowercase characters. NA + @@ -1293,6 +1280,7 @@ lowercase characters. NA + @@ -1332,6 +1320,7 @@ lowercase characters. NA + @@ -1351,6 +1340,7 @@ lowercase characters. NA + @@ -1370,6 +1360,7 @@ lowercase characters. NA + @@ -1389,6 +1380,7 @@ lowercase characters. NA + @@ -1408,6 +1400,7 @@ lowercase characters. NA + @@ -1427,6 +1420,7 @@ lowercase characters. NA + @@ -1446,6 +1440,7 @@ lowercase characters. NA + @@ -1485,6 +1480,7 @@ lowercase characters. NA + @@ -1504,6 +1500,7 @@ lowercase characters. NA + @@ -1523,6 +1520,7 @@ lowercase characters. NA + @@ -1542,6 +1540,7 @@ lowercase characters. NA + @@ -1561,6 +1560,7 @@ lowercase characters. NA + @@ -1580,6 +1580,7 @@ lowercase characters. NA + @@ -1599,6 +1600,7 @@ lowercase characters. NA + @@ -1638,6 +1640,7 @@ lowercase characters. NA + @@ -1657,6 +1660,7 @@ lowercase characters. NA + @@ -1676,6 +1680,7 @@ lowercase characters. NA + @@ -1695,6 +1700,7 @@ lowercase characters. NA + @@ -1714,6 +1720,7 @@ lowercase characters. NA + @@ -1733,6 +1740,7 @@ lowercase characters. NA + @@ -1752,6 +1760,7 @@ lowercase characters. NA + @@ -1791,6 +1800,7 @@ lowercase characters. NA + @@ -1810,6 +1820,7 @@ lowercase characters. NA + @@ -1829,6 +1840,7 @@ lowercase characters. NA + @@ -1848,6 +1860,7 @@ lowercase characters. NA + @@ -1867,6 +1880,7 @@ lowercase characters. NA + @@ -1886,6 +1900,7 @@ lowercase characters. NA + @@ -1905,6 +1920,7 @@ lowercase characters. NA + @@ -1944,6 +1960,7 @@ lowercase characters. NA + @@ -1963,6 +1980,7 @@ lowercase characters. NA + @@ -1982,6 +2000,7 @@ lowercase characters. NA + @@ -2001,6 +2020,7 @@ lowercase characters. NA + @@ -2020,6 +2040,7 @@ lowercase characters. NA + @@ -2039,6 +2060,7 @@ lowercase characters. NA + @@ -2058,6 +2080,7 @@ lowercase characters. NA + @@ -2077,6 +2100,7 @@ lowercase characters. NA + @@ -2096,6 +2120,7 @@ lowercase characters. NA + @@ -2115,6 +2140,7 @@ lowercase characters. NA + @@ -2154,6 +2180,7 @@ lowercase characters. NA + @@ -2173,6 +2200,7 @@ lowercase characters. NA + @@ -2192,6 +2220,7 @@ lowercase characters. NA + @@ -2211,6 +2240,7 @@ lowercase characters. NA + @@ -2230,6 +2260,7 @@ lowercase characters. NA + @@ -2249,6 +2280,7 @@ lowercase characters. NA + @@ -2268,6 +2300,7 @@ lowercase characters. NA + @@ -2307,6 +2340,7 @@ lowercase characters. NA + @@ -2326,6 +2360,7 @@ lowercase characters. NA + @@ -2345,6 +2380,7 @@ lowercase characters. NA + @@ -2364,6 +2400,7 @@ lowercase characters. NA + @@ -2383,6 +2420,7 @@ lowercase characters. NA + @@ -2402,6 +2440,7 @@ lowercase characters. NA + @@ -2421,6 +2460,7 @@ lowercase characters. NA + @@ -2460,6 +2500,7 @@ lowercase characters. NA + @@ -2479,6 +2520,7 @@ lowercase characters. NA + @@ -2498,6 +2540,7 @@ lowercase characters. NA + @@ -2517,6 +2560,7 @@ lowercase characters. NA + @@ -2536,6 +2580,7 @@ lowercase characters. NA + @@ -2555,6 +2600,7 @@ lowercase characters. NA + @@ -2574,6 +2620,7 @@ lowercase characters. NA + @@ -2613,6 +2660,7 @@ lowercase characters. NA + @@ -2632,6 +2680,7 @@ lowercase characters. NA + @@ -2651,6 +2700,7 @@ lowercase characters. NA + @@ -2670,6 +2720,7 @@ lowercase characters. NA + @@ -2689,6 +2740,7 @@ lowercase characters. NA + @@ -2708,6 +2760,7 @@ lowercase characters. NA + @@ -2727,6 +2780,7 @@ lowercase characters. NA + @@ -2766,6 +2820,7 @@ lowercase characters. NA + @@ -2785,6 +2840,7 @@ lowercase characters. NA + @@ -2804,6 +2860,7 @@ lowercase characters. NA + @@ -2823,6 +2880,7 @@ lowercase characters. NA + @@ -2842,6 +2900,7 @@ lowercase characters. NA + @@ -2861,6 +2920,7 @@ lowercase characters. NA + @@ -2880,6 +2940,7 @@ lowercase characters. NA + @@ -2919,6 +2980,7 @@ lowercase characters. NA + @@ -2938,6 +3000,7 @@ lowercase characters. NA + @@ -2957,6 +3020,7 @@ lowercase characters. NA + @@ -2976,6 +3040,7 @@ lowercase characters. NA + @@ -2995,6 +3060,7 @@ lowercase characters. NA + @@ -3014,6 +3080,7 @@ lowercase characters. NA + @@ -3033,6 +3100,7 @@ lowercase characters. NA + @@ -3072,6 +3140,7 @@ lowercase characters. NA + @@ -3091,6 +3160,7 @@ lowercase characters. NA + @@ -3110,6 +3180,7 @@ lowercase characters. NA + @@ -3129,6 +3200,7 @@ lowercase characters. NA + @@ -3168,6 +3240,7 @@ lowercase characters. NA + diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.md5 index 5f5b56ae97cb..055ac3a80fbe 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.md5 @@ -1 +1 @@ -51984f20fe0c5fc520468799ed78af96 \ No newline at end of file +7e454f5e7bf6e34c61fff6d188553966 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.xml index b79e0a2f0cf8..e9f0b0680929 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-L1-F6_4T-128x50G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,14 +615,274 @@ + ASIC_Falcon - 10GR1Fix + 100GR2 - KR - 10G - disabled + CR2 + 100G + rs_544_514_enabled + + + KR2 + 100G + rs_544_514_enabled + + + SR_LR2 + 100G + rs_544_514_enabled + + + SR_LR2 + 50G + rs_enabled + + + CR2 + 50G + rs_enabled + + + KR2 + 50G + rs_enabled + + + CR2 + 100G + rs_544_514_enabled + rs_544_514_enabled + + + KR2 + 100G + rs_544_514_enabled + rs_544_514_enabled + + + CR2 + 50G + rs_enabled + rs_enabled + + + KR2 + 50G + rs_enabled + rs_enabled + + + + 100GR4 + + CR4 + 100G + rs_enabled + + + KR4 + 100G + rs_enabled + + + SR_LR4 + 100G + rs_enabled + + + CR4 + 100G + rs_enabled + rs_enabled + + + KR4 + 100G + rs_enabled + rs_enabled + + + + 10GR1 + + KR + 10G + enabled + + + SR_LR + 10G + enabled + + + 1000BASE_X + 1G + + + KR + 10G + enabled + enabled + + + 1000BASE_X + 1G + disabled + disabled + + + + 10GR1Fix + + KR + 10G + disabled + + + + 200GR4 + + CR4 + 200G + rs_544_514_enabled + + + SR_LR4 + 100G + rs_enabled + + + KR4 + 100G + rs_enabled + + + CR4 + 100G + rs_enabled + + + KR4 + 200G + rs_544_514_enabled + + + SR_LR4 + 200G + rs_544_514_enabled + + + CR4 + 200G + rs_544_514_enabled + rs_544_514_enabled + + + KR4 + 200G + rs_544_514_enabled + rs_544_514_enabled + + + CR4 + 100G + rs_enabled + rs_enabled + + + KR4 + 100G + rs_enabled + rs_enabled + + + + 25GR1 + + CR + 25G + rs_enabled + + + KR + 25G + rs_enabled + + + KR + 10G + enabled + + + SR_LR + 25G + rs_enabled + + + SR_LR + 10G + enabled + + + 1000BASE_X + 1G + + + CR + 25G + rs_enabled + rs_enabled + + + KR + 25G + rs_enabled + rs_enabled + + + KR + 10G + enabled + enabled + + + 1000BASE_X + 1G + disabled + disabled + + + + 400GR8 + + CR8 + 400G + rs_544_514_enabled + + KR8 + 400G + rs_544_514_enabled + + + SR_LR8 + 400G + rs_544_514_enabled + + + CR8 + 400G + rs_544_514_enabled + rs_544_514_enabled + + + KR8 + 400G + rs_544_514_enabled + rs_544_514_enabled + 50GR1 @@ -863,6 +926,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 50G @@ -893,6 +960,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -900,781 +973,1023 @@ 0 AVAGO profile_default - 50GR1 - - - 1 - AVAGO - profile_default - 50GR1 - - - 2 - AVAGO - profile_default - 50GR1 - - - 3 - AVAGO - profile_default - 50GR1 - - - 4 - AVAGO - profile_default - 50GR1 - - - 5 - AVAGO - profile_default - 50GR1 - - - 6 - AVAGO - profile_default - 50GR1 + 400GR8 + true + + 0 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 1 + 50GR1 + + + + + + 2 + 50GR1 + 100GR2 + + + + + 3 + 50GR1 + + + + + + 4 + 50GR1 + 100GR2 + 200GR4 + + + + 5 + 50GR1 + + + + + + 6 + 50GR1 + 100GR2 + + + + + 7 + 50GR1 + + + + - 7 + 8 AVAGO profile_default - 50GR1 + 400GR8 + true + + 8 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 9 + 50GR1 + + + + + + 10 + 50GR1 + 100GR2 + + + + + 11 + 50GR1 + + + + + + 12 + 50GR1 + 100GR2 + 200GR4 + + + + 13 + 50GR1 + + + + + + 14 + 50GR1 + 100GR2 + + + + + 15 + 50GR1 + + + + - 8 + 16 AVAGO profile_default - 50GR1 + 400GR8 + true + + 16 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 17 + 50GR1 + + + + + + 18 + 50GR1 + 100GR2 + + + + + 19 + 50GR1 + + + + + + 20 + 50GR1 + 100GR2 + 200GR4 + + + + 21 + 50GR1 + + + + + + 22 + 50GR1 + 100GR2 + + + + + 23 + 50GR1 + + + + - 9 + 24 AVAGO profile_default - 50GR1 + 400GR8 + true + + 24 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 25 + 50GR1 + + + + + + 26 + 50GR1 + 100GR2 + + + + + 27 + 50GR1 + + + + + + 28 + 50GR1 + 100GR2 + 200GR4 + + + + 29 + 50GR1 + + + + + + 30 + 50GR1 + 100GR2 + + + + + 31 + 50GR1 + + + + - 10 + 32 AVAGO profile_default - 50GR1 + 400GR8 + true + + 32 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 33 + 50GR1 + + + + + + 34 + 50GR1 + 100GR2 + + + + + 35 + 50GR1 + + + + + + 36 + 50GR1 + 100GR2 + 200GR4 + + + + 37 + 50GR1 + + + + + + 38 + 50GR1 + 100GR2 + + + + + 39 + 50GR1 + + + + - 11 + 40 AVAGO profile_default - 50GR1 + 400GR8 + true + + 40 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 41 + 50GR1 + + + + + + 42 + 50GR1 + 100GR2 + + + + + 43 + 50GR1 + + + + + + 44 + 50GR1 + 100GR2 + 200GR4 + + + + 45 + 50GR1 + + + + + + 46 + 50GR1 + 100GR2 + + + + + 47 + 50GR1 + + + + - 12 + 48 AVAGO profile_default - 50GR1 + 400GR8 + true + + 48 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 49 + 50GR1 + + + + + + 50 + 50GR1 + 100GR2 + + + + + 51 + 50GR1 + + + + + + 52 + 50GR1 + 100GR2 + 200GR4 + + + + 53 + 50GR1 + + + + + + 54 + 50GR1 + 100GR2 + + + + + 55 + 50GR1 + + + + - 13 + 56 AVAGO profile_default - 50GR1 + 400GR8 + true + + 56 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 57 + 50GR1 + + + + + + 58 + 50GR1 + 100GR2 + + + + + 59 + 50GR1 + + + + + + 60 + 50GR1 + 100GR2 + 200GR4 + + + + 64 + 50GR1 + + + + + + 65 + 50GR1 + 100GR2 + + + + + 66 + 50GR1 + + + + - 14 + 67 AVAGO profile_default - 50GR1 + 400GR8 + true + + 67 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 68 + 50GR1 + + + + + + 69 + 50GR1 + 100GR2 + + + + + 70 + 50GR1 + + + + + + 71 + 50GR1 + 100GR2 + 200GR4 + + + + 72 + 50GR1 + + + + + + 73 + 50GR1 + 100GR2 + + + + + 74 + 50GR1 + + + + - 15 + 75 AVAGO profile_default - 50GR1 + 400GR8 + true + + 75 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 76 + 50GR1 + + + + + + 77 + 50GR1 + 100GR2 + + + + + 78 + 50GR1 + + + + + + 79 + 50GR1 + 100GR2 + 200GR4 + + + + 80 + 50GR1 + + + + + + 81 + 50GR1 + 100GR2 + + + + + 82 + 50GR1 + + + + - 16 + 83 AVAGO profile_default - 50GR1 + 400GR8 + true + + 83 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 84 + 50GR1 + + + + + + 85 + 50GR1 + 100GR2 + + + + + 86 + 50GR1 + + + + + + 87 + 50GR1 + 100GR2 + 200GR4 + + + + 88 + 50GR1 + + + + + + 89 + 50GR1 + 100GR2 + + + + + 90 + 50GR1 + + + + - 17 + 91 AVAGO profile_default - 50GR1 + 400GR8 + true + + 91 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 92 + 50GR1 + + + + + + 93 + 50GR1 + 100GR2 + + + + + 94 + 50GR1 + + + + + + 95 + 50GR1 + 100GR2 + 200GR4 + + + + 96 + 50GR1 + + + + + + 97 + 50GR1 + 100GR2 + + + + + 98 + 50GR1 + + + + - 18 + 99 AVAGO profile_default - 50GR1 + 400GR8 + true + + 99 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 100 + 50GR1 + + + + + + 101 + 50GR1 + 100GR2 + + + + + 102 + 50GR1 + + + + + + 103 + 50GR1 + 100GR2 + 200GR4 + + + + 104 + 50GR1 + + + + + + 105 + 50GR1 + 100GR2 + + + + + 106 + 50GR1 + + + + - 19 + 107 AVAGO profile_default - 50GR1 + 400GR8 + true + + 107 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 108 + 50GR1 + + + + + + 109 + 50GR1 + 100GR2 + + + + + 110 + 50GR1 + + + + + + 111 + 50GR1 + 100GR2 + 200GR4 + + + + 112 + 50GR1 + + + + + + 113 + 50GR1 + 100GR2 + + + + + 114 + 50GR1 + + + + - 20 + 115 AVAGO profile_default - 50GR1 + 400GR8 + true + + 115 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 116 + 50GR1 + + + + + + 117 + 50GR1 + 100GR2 + + + + + 118 + 50GR1 + + + + + + 119 + 50GR1 + 100GR2 + 200GR4 + + + + 120 + 50GR1 + + + + + + 121 + 50GR1 + 100GR2 + + + + + 122 + 50GR1 + + + + - 21 + 123 AVAGO profile_default - 50GR1 - - - 22 - AVAGO - profile_default - 50GR1 - - - 23 - AVAGO - profile_default - 50GR1 - - - 24 - AVAGO - profile_default - 50GR1 - - - 25 - AVAGO - profile_default - 50GR1 - - - 26 - AVAGO - profile_default - 50GR1 - - - 27 - AVAGO - profile_default - 50GR1 - - - 28 - AVAGO - profile_default - 50GR1 - - - 29 - AVAGO - profile_default - 50GR1 - - - 30 - AVAGO - profile_default - 50GR1 - - - 31 - AVAGO - profile_default - 50GR1 - - - 32 - AVAGO - profile_default - 50GR1 - - - 33 - AVAGO - profile_default - 50GR1 - - - 34 - AVAGO - profile_default - 50GR1 - - - 35 - AVAGO - profile_default - 50GR1 - - - 36 - AVAGO - profile_default - 50GR1 - - - 37 - AVAGO - profile_default - 50GR1 - - - 38 - AVAGO - profile_default - 50GR1 - - - 39 - AVAGO - profile_default - 50GR1 - - - 40 - AVAGO - profile_default - 50GR1 - - - 41 - AVAGO - profile_default - 50GR1 - - - 42 - AVAGO - profile_default - 50GR1 - - - 43 - AVAGO - profile_default - 50GR1 - - - 44 - AVAGO - profile_default - 50GR1 - - - 45 - AVAGO - profile_default - 50GR1 - - - 46 - AVAGO - profile_default - 50GR1 - - - 47 - AVAGO - profile_default - 50GR1 - - - 48 - AVAGO - profile_default - 50GR1 - - - 49 - AVAGO - profile_default - 50GR1 - - - 50 - AVAGO - profile_default - 50GR1 - - - 51 - AVAGO - profile_default - 50GR1 - - - 52 - AVAGO - profile_default - 50GR1 - - - 53 - AVAGO - profile_default - 50GR1 - - - 54 - AVAGO - profile_default - 50GR1 - - - 55 - AVAGO - profile_default - 50GR1 - - - 56 - AVAGO - profile_default - 50GR1 - - - 57 - AVAGO - profile_default - 50GR1 - - - 58 - AVAGO - profile_default - 50GR1 - - - 59 - AVAGO - profile_default - 50GR1 - - - 60 - AVAGO - profile_default - 50GR1 - - - 64 - AVAGO - profile_default - 50GR1 - - - 65 - AVAGO - profile_default - 50GR1 - - - 66 - AVAGO - profile_default - 50GR1 - - - 67 - AVAGO - profile_default - 50GR1 - - - 68 - AVAGO - profile_default - 50GR1 - - - 69 - AVAGO - profile_default - 50GR1 - - - 70 - AVAGO - profile_default - 50GR1 - - - 71 - AVAGO - profile_default - 50GR1 - - - 72 - AVAGO - profile_default - 50GR1 - - - 73 - AVAGO - profile_default - 50GR1 - - - 74 - AVAGO - profile_default - 50GR1 - - - 75 - AVAGO - profile_default - 50GR1 - - - 76 - AVAGO - profile_default - 50GR1 - - - 77 - AVAGO - profile_default - 50GR1 - - - 78 - AVAGO - profile_default - 50GR1 - - - 79 - AVAGO - profile_default - 50GR1 - - - 80 - AVAGO - profile_default - 50GR1 - - - 81 - AVAGO - profile_default - 50GR1 - - - 82 - AVAGO - profile_default - 50GR1 - - - 83 - AVAGO - profile_default - 50GR1 - - - 84 - AVAGO - profile_default - 50GR1 - - - 85 - AVAGO - profile_default - 50GR1 - - - 86 - AVAGO - profile_default - 50GR1 - - - 87 - AVAGO - profile_default - 50GR1 - - - 88 - AVAGO - profile_default - 50GR1 - - - 89 - AVAGO - profile_default - 50GR1 - - - 90 - AVAGO - profile_default - 50GR1 - - - 91 - AVAGO - profile_default - 50GR1 - - - 92 - AVAGO - profile_default - 50GR1 - - - 93 - AVAGO - profile_default - 50GR1 - - - 94 - AVAGO - profile_default - 50GR1 - - - 95 - AVAGO - profile_default - 50GR1 - - - 96 - AVAGO - profile_default - 50GR1 - - - 97 - AVAGO - profile_default - 50GR1 - - - 98 - AVAGO - profile_default - 50GR1 - - - 99 - AVAGO - profile_default - 50GR1 - - - 100 - AVAGO - profile_default - 50GR1 - - - 101 - AVAGO - profile_default - 50GR1 - - - 102 - AVAGO - profile_default - 50GR1 - - - 103 - AVAGO - profile_default - 50GR1 - - - 104 - AVAGO - profile_default - 50GR1 - - - 105 - AVAGO - profile_default - 50GR1 - - - 106 - AVAGO - profile_default - 50GR1 - - - 107 - AVAGO - profile_default - 50GR1 - - - 108 - AVAGO - profile_default - 50GR1 - - - 109 - AVAGO - profile_default - 50GR1 - - - 110 - AVAGO - profile_default - 50GR1 - - - 111 - AVAGO - profile_default - 50GR1 - - - 112 - AVAGO - profile_default - 50GR1 - - - 113 - AVAGO - profile_default - 50GR1 - - - 114 - AVAGO - profile_default - 50GR1 - - - 115 - AVAGO - profile_default - 50GR1 - - - 116 - AVAGO - profile_default - 50GR1 - - - 117 - AVAGO - profile_default - 50GR1 - - - 118 - AVAGO - profile_default - 50GR1 - - - 119 - AVAGO - profile_default - 50GR1 - - - 120 - AVAGO - profile_default - 50GR1 - - - 121 - AVAGO - profile_default - 50GR1 - - - 122 - AVAGO - profile_default - 50GR1 - - - 123 - AVAGO - profile_default - 50GR1 - - - 124 - AVAGO - profile_default - 50GR1 - - - 125 - AVAGO - profile_default - 50GR1 - - - 126 - AVAGO - profile_default - 50GR1 - - - 127 - AVAGO - profile_default - 50GR1 - - - 128 - AVAGO - profile_default - 50GR1 - - - 129 - AVAGO - profile_default - 50GR1 - - - 130 - AVAGO - profile_default - 50GR1 + 400GR8 + true + + 123 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 124 + 50GR1 + + + + + + 125 + 50GR1 + 100GR2 + + + + + 126 + 50GR1 + + + + + + 127 + 50GR1 + 100GR2 + 200GR4 + + + + 128 + 50GR1 + + + + + + 129 + 50GR1 + 100GR2 + + + + + 130 + 50GR1 + + + + 131 AVAGO profile_default 10GR1Fix + false 132 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.md5 index a42c5128e593..0116c20b6fea 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.md5 @@ -1 +1 @@ -2af3a9b26c1f50a5b1201246746c1094 \ No newline at end of file +b00f671cd6009a50c92a476ad7a5c5de \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.xml index e3d2f754e49a..0c755425f2e3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/ASK-PP-F6_4T-128x50G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.md5 index 937d5b67fa70..0476cdd35479 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.md5 @@ -1 +1 @@ -b6f84e11689b4f1c648e63119410f900 \ No newline at end of file +b1b1a4811d0c1e305e014596ed65b09f \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.xml index 31d7b03f1a34..3c51adf7b4ac 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/SAI-F6_4T-128x50G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -164,642 +194,642 @@ 0 0 - 130 + 0 1 0 - 129 + 1 2 0 - 128 + 2 3 0 - 127 + 3 4 0 - 126 + 4 5 0 - 125 + 5 6 0 - 124 + 6 7 0 - 123 + 7 8 0 - 122 + 8 9 0 - 121 + 9 10 0 - 120 + 10 11 0 - 119 + 11 12 0 - 118 + 12 13 0 - 117 + 13 14 0 - 116 + 14 15 0 - 115 + 15 16 0 - 114 + 16 17 0 - 113 + 17 18 0 - 112 + 18 19 0 - 111 + 19 20 0 - 110 + 20 21 0 - 109 + 21 22 0 - 108 + 22 23 0 - 107 + 23 24 0 - 106 + 24 25 0 - 105 + 25 26 0 - 104 + 26 27 0 - 103 + 27 28 0 - 102 + 28 29 0 - 101 + 29 30 0 - 100 + 30 31 0 - 99 + 31 32 0 - 98 + 32 33 0 - 97 + 33 34 0 - 96 + 34 35 0 - 95 + 35 36 0 - 94 + 36 37 0 - 93 + 37 38 0 - 92 + 38 39 0 - 91 + 39 40 0 - 90 + 40 41 0 - 89 + 41 42 0 - 88 + 42 43 0 - 87 + 43 44 0 - 86 + 44 45 0 - 85 + 45 46 0 - 84 + 46 47 0 - 83 + 47 48 0 - 82 + 48 49 0 - 81 + 49 50 0 - 80 + 50 51 0 - 79 + 51 52 0 - 78 + 52 53 0 - 77 + 53 54 0 - 76 + 54 55 0 - 75 + 55 56 0 - 74 + 56 57 0 - 73 + 57 58 0 - 72 + 58 59 0 - 71 + 59 60 0 - 70 + 60 61 0 - 69 + 64 62 0 - 68 + 65 63 0 - 67 + 66 64 0 - 66 + 67 65 0 - 65 + 68 66 0 - 64 + 69 67 0 - 60 + 70 68 0 - 59 + 71 69 0 - 58 + 72 70 0 - 57 + 73 71 0 - 56 + 74 72 0 - 55 + 75 73 0 - 54 + 76 74 0 - 53 + 77 75 0 - 52 + 78 76 0 - 51 + 79 77 0 - 50 + 80 78 0 - 49 + 81 79 0 - 48 + 82 80 0 - 47 + 83 81 0 - 46 + 84 82 0 - 45 + 85 83 0 - 44 + 86 84 0 - 43 + 87 85 0 - 42 + 88 86 0 - 41 + 89 87 0 - 40 + 90 88 0 - 39 + 91 89 0 - 38 + 92 90 0 - 37 + 93 91 0 - 36 + 94 92 0 - 35 + 95 93 0 - 34 + 96 94 0 - 33 + 97 95 0 - 32 + 98 96 0 - 31 + 99 97 0 - 30 + 100 98 0 - 29 + 101 99 0 - 28 + 102 100 0 - 27 + 103 101 0 - 26 + 104 102 0 - 25 + 105 103 0 - 24 + 106 104 0 - 23 + 107 105 0 - 22 + 108 106 0 - 21 + 109 107 0 - 20 + 110 108 0 - 19 + 111 109 0 - 18 + 112 110 0 - 17 + 113 111 0 - 16 + 114 112 0 - 15 + 115 113 0 - 14 + 116 114 0 - 13 + 117 115 0 - 12 + 118 116 0 - 11 + 119 117 0 - 10 + 120 118 0 - 9 + 121 119 0 - 8 + 122 120 0 - 7 + 123 121 0 - 6 + 124 122 0 - 5 + 125 123 0 - 4 + 126 124 0 - 3 + 127 125 0 - 2 + 128 126 0 - 1 + 129 127 0 - 0 + 130 128 @@ -827,6 +857,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t0.j2 index d207208ed964..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"42500", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t1.j2 index 0de5fbd21423..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"42500", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/hwsku.json b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/hwsku.json new file mode 100644 index 000000000000..a1bc97771042 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/hwsku.json @@ -0,0 +1,780 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet1": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet2": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet3": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet4": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet5": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet6": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet7": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet8": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet9": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet10": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet11": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet12": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet13": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet14": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet15": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet16": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet17": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet18": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet19": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet20": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet21": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet22": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet23": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet24": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet25": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet26": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet27": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet28": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet29": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet30": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet31": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet32": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet33": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet34": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet35": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet36": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet37": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet38": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet39": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet40": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet41": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet42": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet43": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet44": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet45": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet46": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet47": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet48": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet49": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet50": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet51": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet52": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet53": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet54": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet55": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet56": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet57": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet58": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet59": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet60": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet61": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet62": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet63": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet64": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet65": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet66": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet67": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet68": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet69": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet70": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet71": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet72": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet73": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet74": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet75": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet76": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet77": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet78": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet79": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet80": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet81": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet82": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet83": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet84": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet85": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet86": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet87": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet88": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet89": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet90": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet91": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet92": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet93": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet94": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet95": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet96": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet97": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet98": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet99": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet100": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet101": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet102": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet103": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet104": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet105": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet106": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet107": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet108": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet109": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet110": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet111": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet112": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet113": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet114": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet115": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet116": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet117": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet118": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet119": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet120": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet121": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet122": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet123": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet124": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet125": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet126": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet127": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet128": { + "default_brkout_mode": "1x10G", + "autoneg": "off" + }, + "Ethernet129": { + "default_brkout_mode": "1x10G", + "autoneg": "off" + } + } +} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/port_config.ini b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/port_config.ini index bb752f698c2b..8eaa49d99c76 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/port_config.ini +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC128x50G/port_config.ini @@ -1,131 +1,131 @@ -# name lanes alias speed autoneg fec index -Ethernet0 0 fiftyGigE0 50000 on rs 1 -Ethernet1 1 fiftyGigE1 50000 on rs 2 -Ethernet2 2 fiftyGigE2 50000 on rs 3 -Ethernet3 3 fiftyGigE3 50000 on rs 4 -Ethernet4 4 fiftyGigE4 50000 on rs 5 -Ethernet5 5 fiftyGigE5 50000 on rs 6 -Ethernet6 6 fiftyGigE6 50000 on rs 7 -Ethernet7 7 fiftyGigE7 50000 on rs 8 -Ethernet8 8 fiftyGigE8 50000 on rs 9 -Ethernet9 9 fiftyGigE9 50000 on rs 10 -Ethernet10 10 fiftyGigE10 50000 on rs 11 -Ethernet11 11 fiftyGigE11 50000 on rs 12 -Ethernet12 12 fiftyGigE12 50000 on rs 13 -Ethernet13 13 fiftyGigE13 50000 on rs 14 -Ethernet14 14 fiftyGigE14 50000 on rs 15 -Ethernet15 15 fiftyGigE15 50000 on rs 16 -Ethernet16 16 fiftyGigE16 50000 on rs 17 -Ethernet17 17 fiftyGigE17 50000 on rs 18 -Ethernet18 18 fiftyGigE18 50000 on rs 19 -Ethernet19 19 fiftyGigE19 50000 on rs 20 -Ethernet20 20 fiftyGigE20 50000 on rs 21 -Ethernet21 21 fiftyGigE21 50000 on rs 22 -Ethernet22 22 fiftyGigE22 50000 on rs 23 -Ethernet23 23 fiftyGigE23 50000 on rs 24 -Ethernet24 24 fiftyGigE24 50000 on rs 25 -Ethernet25 25 fiftyGigE25 50000 on rs 26 -Ethernet26 26 fiftyGigE26 50000 on rs 27 -Ethernet27 27 fiftyGigE27 50000 on rs 28 -Ethernet28 28 fiftyGigE28 50000 on rs 29 -Ethernet29 29 fiftyGigE29 50000 on rs 30 -Ethernet30 30 fiftyGigE30 50000 on rs 31 -Ethernet31 31 fiftyGigE31 50000 on rs 32 -Ethernet32 32 fiftyGigE32 50000 on rs 33 -Ethernet33 33 fiftyGigE33 50000 on rs 34 -Ethernet34 34 fiftyGigE34 50000 on rs 35 -Ethernet35 35 fiftyGigE35 50000 on rs 36 -Ethernet36 36 fiftyGigE36 50000 on rs 37 -Ethernet37 37 fiftyGigE37 50000 on rs 38 -Ethernet38 38 fiftyGigE38 50000 on rs 39 -Ethernet39 39 fiftyGigE39 50000 on rs 40 -Ethernet40 40 fiftyGigE40 50000 on rs 41 -Ethernet41 41 fiftyGigE41 50000 on rs 42 -Ethernet42 42 fiftyGigE42 50000 on rs 43 -Ethernet43 43 fiftyGigE43 50000 on rs 44 -Ethernet44 44 fiftyGigE44 50000 on rs 45 -Ethernet45 45 fiftyGigE45 50000 on rs 46 -Ethernet46 46 fiftyGigE46 50000 on rs 47 -Ethernet47 47 fiftyGigE47 50000 on rs 48 -Ethernet48 48 fiftyGigE48 50000 on rs 49 -Ethernet49 49 fiftyGigE49 50000 on rs 50 -Ethernet50 50 fiftyGigE50 50000 on rs 51 -Ethernet51 51 fiftyGigE51 50000 on rs 52 -Ethernet52 52 fiftyGigE52 50000 on rs 53 -Ethernet53 53 fiftyGigE53 50000 on rs 54 -Ethernet54 54 fiftyGigE54 50000 on rs 55 -Ethernet55 55 fiftyGigE55 50000 on rs 56 -Ethernet56 56 fiftyGigE56 50000 on rs 57 -Ethernet57 57 fiftyGigE57 50000 on rs 58 -Ethernet58 58 fiftyGigE58 50000 on rs 59 -Ethernet59 59 fiftyGigE59 50000 on rs 60 -Ethernet60 60 fiftyGigE60 50000 on rs 61 -Ethernet61 61 fiftyGigE61 50000 on rs 62 -Ethernet62 62 fiftyGigE62 50000 on rs 63 -Ethernet63 63 fiftyGigE63 50000 on rs 64 -Ethernet64 64 fiftyGigE64 50000 on rs 65 -Ethernet65 65 fiftyGigE65 50000 on rs 66 -Ethernet66 66 fiftyGigE66 50000 on rs 67 -Ethernet67 67 fiftyGigE67 50000 on rs 68 -Ethernet68 68 fiftyGigE68 50000 on rs 69 -Ethernet69 69 fiftyGigE69 50000 on rs 70 -Ethernet70 70 fiftyGigE70 50000 on rs 71 -Ethernet71 71 fiftyGigE71 50000 on rs 72 -Ethernet72 72 fiftyGigE72 50000 on rs 73 -Ethernet73 73 fiftyGigE73 50000 on rs 74 -Ethernet74 74 fiftyGigE74 50000 on rs 75 -Ethernet75 75 fiftyGigE75 50000 on rs 76 -Ethernet76 76 fiftyGigE76 50000 on rs 77 -Ethernet77 77 fiftyGigE77 50000 on rs 78 -Ethernet78 78 fiftyGigE78 50000 on rs 79 -Ethernet79 79 fiftyGigE79 50000 on rs 80 -Ethernet80 80 fiftyGigE80 50000 on rs 81 -Ethernet81 81 fiftyGigE81 50000 on rs 82 -Ethernet82 82 fiftyGigE82 50000 on rs 83 -Ethernet83 83 fiftyGigE83 50000 on rs 84 -Ethernet84 84 fiftyGigE84 50000 on rs 85 -Ethernet85 85 fiftyGigE85 50000 on rs 86 -Ethernet86 86 fiftyGigE86 50000 on rs 87 -Ethernet87 87 fiftyGigE87 50000 on rs 88 -Ethernet88 88 fiftyGigE88 50000 on rs 89 -Ethernet89 89 fiftyGigE89 50000 on rs 90 -Ethernet90 90 fiftyGigE90 50000 on rs 91 -Ethernet91 91 fiftyGigE91 50000 on rs 92 -Ethernet92 92 fiftyGigE92 50000 on rs 93 -Ethernet93 93 fiftyGigE93 50000 on rs 94 -Ethernet94 94 fiftyGigE94 50000 on rs 95 -Ethernet95 95 fiftyGigE95 50000 on rs 96 -Ethernet96 96 fiftyGigE96 50000 on rs 97 -Ethernet97 97 fiftyGigE97 50000 on rs 98 -Ethernet98 98 fiftyGigE98 50000 on rs 99 -Ethernet99 99 fiftyGigE99 50000 on rs 100 -Ethernet100 100 fiftyGigE100 50000 on rs 101 -Ethernet101 101 fiftyGigE101 50000 on rs 102 -Ethernet102 102 fiftyGigE102 50000 on rs 103 -Ethernet103 103 fiftyGigE103 50000 on rs 104 -Ethernet104 104 fiftyGigE104 50000 on rs 105 -Ethernet105 105 fiftyGigE105 50000 on rs 106 -Ethernet106 106 fiftyGigE106 50000 on rs 107 -Ethernet107 107 fiftyGigE107 50000 on rs 108 -Ethernet108 108 fiftyGigE108 50000 on rs 109 -Ethernet109 109 fiftyGigE109 50000 on rs 110 -Ethernet110 110 fiftyGigE110 50000 on rs 111 -Ethernet111 111 fiftyGigE111 50000 on rs 112 -Ethernet112 112 fiftyGigE112 50000 on rs 113 -Ethernet113 113 fiftyGigE113 50000 on rs 114 -Ethernet114 114 fiftyGigE114 50000 on rs 115 -Ethernet115 115 fiftyGigE115 50000 on rs 116 -Ethernet116 116 fiftyGigE116 50000 on rs 117 -Ethernet117 117 fiftyGigE117 50000 on rs 118 -Ethernet118 118 fiftyGigE118 50000 on rs 119 -Ethernet119 119 fiftyGigE119 50000 on rs 120 -Ethernet120 120 fiftyGigE120 50000 on rs 121 -Ethernet121 121 fiftyGigE121 50000 on rs 122 -Ethernet122 122 fiftyGigE122 50000 on rs 123 -Ethernet123 123 fiftyGigE123 50000 on rs 124 -Ethernet124 124 fiftyGigE124 50000 on rs 125 -Ethernet125 125 fiftyGigE125 50000 on rs 126 -Ethernet126 126 fiftyGigE126 50000 on rs 127 -Ethernet127 127 fiftyGigE127 50000 on rs 128 -Ethernet128 128 tenGigE128 10000 off none 129 -Ethernet129 129 tenGigE129 10000 off none 130 +# name lanes alias speed autoneg fec index +Ethernet0 0 Eth1/1 50000 on rs 1 +Ethernet1 1 Eth1/2 50000 on rs 1 +Ethernet2 2 Eth1/3 50000 on rs 1 +Ethernet3 3 Eth1/4 50000 on rs 1 +Ethernet4 4 Eth1/5 50000 on rs 1 +Ethernet5 5 Eth1/6 50000 on rs 1 +Ethernet6 6 Eth1/7 50000 on rs 1 +Ethernet7 7 Eth1/8 50000 on rs 1 +Ethernet8 8 Eth2/1 50000 on rs 2 +Ethernet9 9 Eth2/2 50000 on rs 2 +Ethernet10 10 Eth2/3 50000 on rs 2 +Ethernet11 11 Eth2/4 50000 on rs 2 +Ethernet12 12 Eth2/5 50000 on rs 2 +Ethernet13 13 Eth2/6 50000 on rs 2 +Ethernet14 14 Eth2/7 50000 on rs 2 +Ethernet15 15 Eth2/8 50000 on rs 2 +Ethernet16 16 Eth3/1 50000 on rs 3 +Ethernet17 17 Eth3/2 50000 on rs 3 +Ethernet18 18 Eth3/3 50000 on rs 3 +Ethernet19 19 Eth3/4 50000 on rs 3 +Ethernet20 20 Eth3/5 50000 on rs 3 +Ethernet21 21 Eth3/6 50000 on rs 3 +Ethernet22 22 Eth3/7 50000 on rs 3 +Ethernet23 23 Eth3/8 50000 on rs 3 +Ethernet24 24 Eth4/1 50000 on rs 4 +Ethernet25 25 Eth4/2 50000 on rs 4 +Ethernet26 26 Eth4/3 50000 on rs 4 +Ethernet27 27 Eth4/4 50000 on rs 4 +Ethernet28 28 Eth4/5 50000 on rs 4 +Ethernet29 29 Eth4/6 50000 on rs 4 +Ethernet30 30 Eth4/7 50000 on rs 4 +Ethernet31 31 Eth4/8 50000 on rs 4 +Ethernet32 32 Eth5/1 50000 on rs 5 +Ethernet33 33 Eth5/2 50000 on rs 5 +Ethernet34 34 Eth5/3 50000 on rs 5 +Ethernet35 35 Eth5/4 50000 on rs 5 +Ethernet36 36 Eth5/5 50000 on rs 5 +Ethernet37 37 Eth5/6 50000 on rs 5 +Ethernet38 38 Eth5/7 50000 on rs 5 +Ethernet39 39 Eth5/8 50000 on rs 5 +Ethernet40 40 Eth6/1 50000 on rs 6 +Ethernet41 41 Eth6/2 50000 on rs 6 +Ethernet42 42 Eth6/3 50000 on rs 6 +Ethernet43 43 Eth6/4 50000 on rs 6 +Ethernet44 44 Eth6/5 50000 on rs 6 +Ethernet45 45 Eth6/6 50000 on rs 6 +Ethernet46 46 Eth6/7 50000 on rs 6 +Ethernet47 47 Eth6/8 50000 on rs 6 +Ethernet48 48 Eth7/1 50000 on rs 7 +Ethernet49 49 Eth7/2 50000 on rs 7 +Ethernet50 50 Eth7/3 50000 on rs 7 +Ethernet51 51 Eth7/4 50000 on rs 7 +Ethernet52 52 Eth7/5 50000 on rs 7 +Ethernet53 53 Eth7/6 50000 on rs 7 +Ethernet54 54 Eth7/7 50000 on rs 7 +Ethernet55 55 Eth7/8 50000 on rs 7 +Ethernet56 56 Eth8/1 50000 on rs 8 +Ethernet57 57 Eth8/2 50000 on rs 8 +Ethernet58 58 Eth8/3 50000 on rs 8 +Ethernet59 59 Eth8/4 50000 on rs 8 +Ethernet60 60 Eth8/5 50000 on rs 8 +Ethernet61 61 Eth8/6 50000 on rs 8 +Ethernet62 62 Eth8/7 50000 on rs 8 +Ethernet63 63 Eth8/8 50000 on rs 8 +Ethernet64 64 Eth9/1 50000 on rs 9 +Ethernet65 65 Eth9/2 50000 on rs 9 +Ethernet66 66 Eth9/3 50000 on rs 9 +Ethernet67 67 Eth9/4 50000 on rs 9 +Ethernet68 68 Eth9/5 50000 on rs 9 +Ethernet69 69 Eth9/6 50000 on rs 9 +Ethernet70 70 Eth9/7 50000 on rs 9 +Ethernet71 71 Eth9/8 50000 on rs 9 +Ethernet72 72 Eth10/1 50000 on rs 10 +Ethernet73 73 Eth10/2 50000 on rs 10 +Ethernet74 74 Eth10/3 50000 on rs 10 +Ethernet75 75 Eth10/4 50000 on rs 10 +Ethernet76 76 Eth10/5 50000 on rs 10 +Ethernet77 77 Eth10/6 50000 on rs 10 +Ethernet78 78 Eth10/7 50000 on rs 10 +Ethernet79 79 Eth10/8 50000 on rs 10 +Ethernet80 80 Eth11/1 50000 on rs 11 +Ethernet81 81 Eth11/2 50000 on rs 11 +Ethernet82 82 Eth11/3 50000 on rs 11 +Ethernet83 83 Eth11/4 50000 on rs 11 +Ethernet84 84 Eth11/5 50000 on rs 11 +Ethernet85 85 Eth11/6 50000 on rs 11 +Ethernet86 86 Eth11/7 50000 on rs 11 +Ethernet87 87 Eth11/8 50000 on rs 11 +Ethernet88 88 Eth12/1 50000 on rs 12 +Ethernet89 89 Eth12/2 50000 on rs 12 +Ethernet90 90 Eth12/3 50000 on rs 12 +Ethernet91 91 Eth12/4 50000 on rs 12 +Ethernet92 92 Eth12/5 50000 on rs 12 +Ethernet93 93 Eth12/6 50000 on rs 12 +Ethernet94 94 Eth12/7 50000 on rs 12 +Ethernet95 95 Eth12/8 50000 on rs 12 +Ethernet96 96 Eth13/1 50000 on rs 13 +Ethernet97 97 Eth13/2 50000 on rs 13 +Ethernet98 98 Eth13/3 50000 on rs 13 +Ethernet99 99 Eth13/4 50000 on rs 13 +Ethernet100 100 Eth13/5 50000 on rs 13 +Ethernet101 101 Eth13/6 50000 on rs 13 +Ethernet102 102 Eth13/7 50000 on rs 13 +Ethernet103 103 Eth13/8 50000 on rs 13 +Ethernet104 104 Eth14/1 50000 on rs 14 +Ethernet105 105 Eth14/2 50000 on rs 14 +Ethernet106 106 Eth14/3 50000 on rs 14 +Ethernet107 107 Eth14/4 50000 on rs 14 +Ethernet108 108 Eth14/5 50000 on rs 14 +Ethernet109 109 Eth14/6 50000 on rs 14 +Ethernet110 110 Eth14/7 50000 on rs 14 +Ethernet111 111 Eth14/8 50000 on rs 14 +Ethernet112 112 Eth15/1 50000 on rs 15 +Ethernet113 113 Eth15/2 50000 on rs 15 +Ethernet114 114 Eth15/3 50000 on rs 15 +Ethernet115 115 Eth15/4 50000 on rs 15 +Ethernet116 116 Eth15/5 50000 on rs 15 +Ethernet117 117 Eth15/6 50000 on rs 15 +Ethernet118 118 Eth15/7 50000 on rs 15 +Ethernet119 119 Eth15/8 50000 on rs 15 +Ethernet120 120 Eth16/1 50000 on rs 16 +Ethernet121 121 Eth16/2 50000 on rs 16 +Ethernet122 122 Eth16/3 50000 on rs 16 +Ethernet123 123 Eth16/4 50000 on rs 16 +Ethernet124 124 Eth16/5 50000 on rs 16 +Ethernet125 125 Eth16/6 50000 on rs 16 +Ethernet126 126 Eth16/7 50000 on rs 16 +Ethernet127 127 Eth16/8 50000 on rs 16 +Ethernet128 128 Eth17 10000 off none 129 +Ethernet129 129 Eth17 10000 off none 130 diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.md5 index 8c4e2fc5394d..fe6adba3ae2f 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -8aeebdef0a211f5143f1084019654814 \ No newline at end of file +5c5b7b3da6f355086e6a33f534520cc2 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.xml index d88594c3edee..51731aa0ed59 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-Board-F6_4T-48x25G-4x100G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -744,6 +704,7 @@ lowercase characters. NA + false @@ -759,6 +720,7 @@ lowercase characters. NA + false @@ -774,6 +736,7 @@ lowercase characters. NA + false @@ -809,6 +772,7 @@ lowercase characters. NA + @@ -828,6 +792,7 @@ lowercase characters. NA + @@ -847,6 +812,7 @@ lowercase characters. NA + @@ -886,6 +852,7 @@ lowercase characters. NA + @@ -905,6 +872,7 @@ lowercase characters. NA + @@ -924,6 +892,7 @@ lowercase characters. NA + @@ -963,6 +932,7 @@ lowercase characters. NA + @@ -982,6 +952,7 @@ lowercase characters. NA + @@ -1001,6 +972,7 @@ lowercase characters. NA + @@ -1040,6 +1012,7 @@ lowercase characters. NA + @@ -1059,6 +1032,7 @@ lowercase characters. NA + @@ -1078,6 +1052,7 @@ lowercase characters. NA + @@ -1117,6 +1092,7 @@ lowercase characters. NA + @@ -1136,6 +1112,7 @@ lowercase characters. NA + @@ -1155,6 +1132,7 @@ lowercase characters. NA + @@ -1194,6 +1172,7 @@ lowercase characters. NA + @@ -1213,6 +1192,7 @@ lowercase characters. NA + @@ -1232,6 +1212,7 @@ lowercase characters. NA + @@ -1271,6 +1252,7 @@ lowercase characters. NA + @@ -1290,6 +1272,7 @@ lowercase characters. NA + @@ -1309,6 +1292,7 @@ lowercase characters. NA + @@ -1348,6 +1332,7 @@ lowercase characters. NA + @@ -1367,6 +1352,7 @@ lowercase characters. NA + @@ -1386,6 +1372,7 @@ lowercase characters. NA + @@ -1425,6 +1412,7 @@ lowercase characters. NA + @@ -1444,6 +1432,7 @@ lowercase characters. NA + @@ -1463,6 +1452,7 @@ lowercase characters. NA + @@ -1502,6 +1492,7 @@ lowercase characters. NA + @@ -1521,6 +1512,7 @@ lowercase characters. NA + @@ -1540,6 +1532,7 @@ lowercase characters. NA + @@ -1579,6 +1572,7 @@ lowercase characters. NA + @@ -1598,6 +1592,7 @@ lowercase characters. NA + @@ -1617,6 +1612,7 @@ lowercase characters. NA + @@ -1736,6 +1732,7 @@ lowercase characters. NA + diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.md5 index be0843ca8b13..ff0ead8f4057 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -825014d819cb5d702586d3cc0bf9e2d0 \ No newline at end of file +e00a71a9f8ec6e0ddb7fd77a82ed6efb \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.xml index e33753b1e676..7e6057313bde 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-L1-F6_4T-48x25G-4x100G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR4 @@ -878,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -896,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -904,324 +718,378 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default 100GR4 + false 49 AVAGO profile_default 100GR4 + false 50 AVAGO profile_default 100GR4 + false 51 AVAGO profile_default 100GR4 + false 52 AVAGO profile_default 10GR1Fix + false 53 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.md5 index 8f2588351150..ef12ada302c5 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -897ca459774ad5e95dcd7dcb0d10c0af \ No newline at end of file +4a735c82305978f8aa1a77227fe02760 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.xml index b50dbcd5d93e..535f635d0314 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/ASK-PP-F6_4T-48x25G-4x100G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.md5 index 64a77978577a..11bbd5628f58 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -0952c232696d216ca2361801f32bfac4 \ No newline at end of file +54b0da50264f4419e80e125564d834b4 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.xml index 9b3224ab63fc..18928a6c6c55 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/SAI-F6_4T-48x25G-4x100G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -447,6 +477,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t0.j2 index f056413e8283..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t1.j2 index f056413e8283..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/FC48x25G4x100GR4/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.md5 index 8c4e2fc5394d..fe6adba3ae2f 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -8aeebdef0a211f5143f1084019654814 \ No newline at end of file +5c5b7b3da6f355086e6a33f534520cc2 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.xml index d88594c3edee..51731aa0ed59 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-Board-F6_4T-48x25G-4x100G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -744,6 +704,7 @@ lowercase characters. NA + false @@ -759,6 +720,7 @@ lowercase characters. NA + false @@ -774,6 +736,7 @@ lowercase characters. NA + false @@ -809,6 +772,7 @@ lowercase characters. NA + @@ -828,6 +792,7 @@ lowercase characters. NA + @@ -847,6 +812,7 @@ lowercase characters. NA + @@ -886,6 +852,7 @@ lowercase characters. NA + @@ -905,6 +872,7 @@ lowercase characters. NA + @@ -924,6 +892,7 @@ lowercase characters. NA + @@ -963,6 +932,7 @@ lowercase characters. NA + @@ -982,6 +952,7 @@ lowercase characters. NA + @@ -1001,6 +972,7 @@ lowercase characters. NA + @@ -1040,6 +1012,7 @@ lowercase characters. NA + @@ -1059,6 +1032,7 @@ lowercase characters. NA + @@ -1078,6 +1052,7 @@ lowercase characters. NA + @@ -1117,6 +1092,7 @@ lowercase characters. NA + @@ -1136,6 +1112,7 @@ lowercase characters. NA + @@ -1155,6 +1132,7 @@ lowercase characters. NA + @@ -1194,6 +1172,7 @@ lowercase characters. NA + @@ -1213,6 +1192,7 @@ lowercase characters. NA + @@ -1232,6 +1212,7 @@ lowercase characters. NA + @@ -1271,6 +1252,7 @@ lowercase characters. NA + @@ -1290,6 +1272,7 @@ lowercase characters. NA + @@ -1309,6 +1292,7 @@ lowercase characters. NA + @@ -1348,6 +1332,7 @@ lowercase characters. NA + @@ -1367,6 +1352,7 @@ lowercase characters. NA + @@ -1386,6 +1372,7 @@ lowercase characters. NA + @@ -1425,6 +1412,7 @@ lowercase characters. NA + @@ -1444,6 +1432,7 @@ lowercase characters. NA + @@ -1463,6 +1452,7 @@ lowercase characters. NA + @@ -1502,6 +1492,7 @@ lowercase characters. NA + @@ -1521,6 +1512,7 @@ lowercase characters. NA + @@ -1540,6 +1532,7 @@ lowercase characters. NA + @@ -1579,6 +1572,7 @@ lowercase characters. NA + @@ -1598,6 +1592,7 @@ lowercase characters. NA + @@ -1617,6 +1612,7 @@ lowercase characters. NA + @@ -1736,6 +1732,7 @@ lowercase characters. NA + diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.md5 index be0843ca8b13..ff0ead8f4057 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -825014d819cb5d702586d3cc0bf9e2d0 \ No newline at end of file +e00a71a9f8ec6e0ddb7fd77a82ed6efb \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.xml index e33753b1e676..7e6057313bde 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-L1-F6_4T-48x25G-4x100G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR4 @@ -878,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -896,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -904,324 +718,378 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default 100GR4 + false 49 AVAGO profile_default 100GR4 + false 50 AVAGO profile_default 100GR4 + false 51 AVAGO profile_default 100GR4 + false 52 AVAGO profile_default 10GR1Fix + false 53 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.md5 index 8f2588351150..ef12ada302c5 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -897ca459774ad5e95dcd7dcb0d10c0af \ No newline at end of file +4a735c82305978f8aa1a77227fe02760 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.xml index b50dbcd5d93e..535f635d0314 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/ASK-PP-F6_4T-48x25G-4x100G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.md5 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.md5 index 64a77978577a..11bbd5628f58 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.md5 @@ -1 +1 @@ -0952c232696d216ca2361801f32bfac4 \ No newline at end of file +54b0da50264f4419e80e125564d834b4 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.xml b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.xml index 9b3224ab63fc..18928a6c6c55 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/SAI-F6_4T-48x25G-4x100G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -447,6 +477,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers.json.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers.json.j2 index a9a01d707ebf..0b1cb2c541b6 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers.json.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers.json.j2 @@ -1 +1,2 @@ +{%- set default_topo = 't1' %} {%- include 'buffers_config.j2' %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t0.j2 index f056413e8283..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t1.j2 index f056413e8283..28e30dee8cc3 100644 --- a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "10500000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/db98cx8540_16cd/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/platform.json b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/platform.json new file mode 100644 index 000000000000..72f8e945f61d --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8540_16cd-r0/platform.json @@ -0,0 +1,194 @@ +{ + "interfaces": { + "Ethernet0": { + "breakout_modes": { + "1x400G": ["Eth1"], + "2x200G[100G]": ["Eth1/1", "Eth1/2"], + "4x100G": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"], + "4x25G(4)": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"], + "8x50G[25G,10G,1G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4", "Eth1/5", "Eth1/6", "Eth1/7", "Eth1/8"] + }, + "index": "1,1,1,1,1,1,1,1", + "lanes": "0,1,2,3,4,5,6,7" + }, + "Ethernet8": { + "breakout_modes": { + "1x400G": ["Eth2"], + "2x200G[100G]": ["Eth2/1", "Eth2/2"], + "4x100G": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4"], + "4x25G(4)": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4"], + "8x50G[25G,10G,1G]": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4", "Eth2/5", "Eth2/6", "Eth2/7", "Eth2/8"] + }, + "index": "2,2,2,2,2,2,2,2", + "lanes": "8,9,10,11,12,13,14,15" + }, + "Ethernet16": { + "breakout_modes": { + "1x400G": ["Eth3"], + "2x200G[100G]": ["Eth3/1", "Eth3/2"], + "4x100G": ["Eth3/1", "Eth3/2", "Eth3/3", "Eth3/4"], + "4x25G(4)": ["Eth3/1", "Eth3/2", "Eth3/3", "Eth3/4"], + "8x50G[25G,10G,1G]": ["Eth3/1", "Eth3/2", "Eth3/3", "Eth3/4", "Eth3/5", "Eth3/6", "Eth3/7", "Eth3/8"] + }, + "index": "3,3,3,3,3,3,3,3", + "lanes": "16,17,18,19,20,21,22,23" + }, + "Ethernet24": { + "breakout_modes": { + "1x400G": ["Eth4"], + "2x200G[100G]": ["Eth4/1", "Eth4/2"], + "4x100G": ["Eth4/1", "Eth4/2", "Eth4/3", "Eth4/4"], + "4x25G(4)": ["Eth4/1", "Eth4/2", "Eth4/3", "Eth4/4"], + "8x50G[25G,10G,1G]": ["Eth4/1", "Eth4/2", "Eth4/3", "Eth4/4", "Eth4/5", "Eth4/6", "Eth4/7", "Eth4/8"] + }, + "index": "4,4,4,4,4,4,4,4", + "lanes": "24,25,26,27,28,29,30,31" + }, + "Ethernet32": { + "breakout_modes": { + "1x400G": ["Eth5"], + "2x200G[100G]": ["Eth5/1", "Eth5/2"], + "4x100G": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4"], + "4x25G(4)": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4"], + "8x50G[25G,10G,1G]": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4", "Eth5/5", "Eth5/6", "Eth5/7", "Eth5/8"] + }, + "index": "5,5,5,5,5,5,5,5", + "lanes": "32,33,34,35,36,37,38,39" + }, + "Ethernet40": { + "breakout_modes": { + "1x400G": ["Eth6"], + "2x200G[100G]": ["Eth6/1", "Eth6/2"], + "4x100G": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4"], + "4x25G(4)": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4"], + "8x50G[25G,10G,1G]": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4", "Eth6/5", "Eth6/6", "Eth6/7", "Eth6/8"] + }, + "index": "6,6,6,6,6,6,6,6", + "lanes": "40,41,42,43,44,45,46,47" + }, + "Ethernet48": { + "breakout_modes": { + "1x400G": ["Eth7"], + "2x200G[100G]": ["Eth7/1", "Eth7/2"], + "4x100G": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4"], + "4x25G(4)": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4"], + "8x50G[25G,10G,1G]": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4", "Eth7/5", "Eth7/6", "Eth7/7", "Eth7/8"] + }, + "index": "7,7,7,7,7,7,7,7", + "lanes": "48,49,50,51,52,53,54,55" + }, + "Ethernet56": { + "breakout_modes": { + "1x400G": ["Eth8"], + "2x200G[100G]": ["Eth8/1", "Eth8/2"], + "4x100G": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4"], + "4x25G(4)": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4"], + "8x50G[25G,10G,1G]": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4", "Eth8/5", "Eth8/6", "Eth8/7", "Eth8/8"] + }, + "index": "8,8,8,8,8,8,8,8", + "lanes": "56,57,58,59,60,61,62,63" + }, + "Ethernet64": { + "breakout_modes": { + "1x400G": ["Eth9"], + "2x200G[100G]": ["Eth9/1", "Eth9/2"], + "4x100G": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4"], + "4x25G(4)": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4"], + "8x50G[25G,10G,1G]": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4", "Eth9/5", "Eth9/6", "Eth9/7", "Eth9/8"] + }, + "index": "9,9,9,9,9,9,9,9", + "lanes": "64,65,66,67,68,69,70,71" + }, + "Ethernet72": { + "breakout_modes": { + "1x400G": ["Eth10"], + "2x200G[100G]": ["Eth10/1", "Eth10/2"], + "4x100G": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4"], + "4x25G(4)": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4"], + "8x50G[25G,10G,1G]": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4", "Eth10/5", "Eth10/6", "Eth10/7", "Eth10/8"] + }, + "index": "10,10,10,10,10,10,10,10", + "lanes": "72,73,74,75,76,77,78,79" + }, + "Ethernet80": { + "breakout_modes": { + "1x400G": ["Eth11"], + "2x200G[100G]": ["Eth11/1", "Eth11/2"], + "4x100G": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4"], + "4x25G(4)": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4"], + "8x50G[25G,10G,1G]": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4", "Eth11/5", "Eth11/6", "Eth11/7", "Eth11/8"] + }, + "index": "11,11,11,11,11,11,11,11", + "lanes": "80,81,82,83,84,85,86,87" + }, + "Ethernet88": { + "breakout_modes": { + "1x400G": ["Eth12"], + "2x200G[100G]": ["Eth12/1", "Eth12/2"], + "4x100G": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4"], + "4x25G(4)": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4"], + "8x50G[25G,10G,1G]": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4", "Eth12/5", "Eth12/6", "Eth12/7", "Eth12/8"] + }, + "index": "12,12,12,12,12,12,12,12", + "lanes": "88,89,90,91,92,93,94,95" + }, + "Ethernet96": { + "breakout_modes": { + "1x400G": ["Eth13"], + "2x200G[100G]": ["Eth13/1", "Eth13/2"], + "4x100G": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4"], + "4x25G(4)": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4"], + "8x50G[25G,10G,1G]": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4", "Eth13/5", "Eth13/6", "Eth13/7", "Eth13/8"] + }, + "index": "13,13,13,13,13,13,13,13", + "lanes": "96,97,98,99,100,101,102,103" + }, + "Ethernet104": { + "breakout_modes": { + "1x400G": ["Eth14"], + "2x200G[100G]": ["Eth14/1", "Eth14/2"], + "4x100G": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4"], + "4x25G(4)": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4"], + "8x50G[25G,10G,1G]": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4", "Eth14/5", "Eth14/6", "Eth14/7", "Eth14/8"] + }, + "index": "14,14,14,14,14,14,14,14", + "lanes": "104,105,106,107,108,109,110,111" + }, + "Ethernet112": { + "breakout_modes": { + "1x400G": ["Eth15"], + "2x200G[100G]": ["Eth15/1", "Eth15/2"], + "4x100G": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4"], + "4x25G(4)": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4"], + "8x50G[25G,10G,1G]": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4", "Eth15/5", "Eth15/6", "Eth15/7", "Eth15/8"] + }, + "index": "15,15,15,15,15,15,15,15", + "lanes": "112,113,114,115,116,117,118,119" + }, + "Ethernet120": { + "breakout_modes": { + "1x400G": ["Eth16"], + "2x200G[100G]": ["Eth16/1", "Eth16/2"], + "4x100G": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4"], + "4x25G(4)": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4"], + "8x50G[25G,10G,1G]": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4", "Eth16/5", "Eth16/6", "Eth16/7", "Eth16/8"] + }, + "index": "16,16,16,16,16,16,16,16", + "lanes": "120,121,122,123,124,125,126,127" + }, + "Ethernet128":{ + "breakout_modes": { + "1x10G": ["Eth17"] + }, + "index": "17", + "lanes": "128" + }, + "Ethernet129":{ + "breakout_modes": { + "1x10G": ["Eth18"] + }, + "index": "18", + "lanes": "129" + } + } +} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t0.j2 deleted file mode 100644 index fee16b580d70..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t0.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t1.j2 deleted file mode 100644 index fee16b580d70..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t1.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/port_config.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/port_config.ini deleted file mode 100644 index 074c0344c896..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/port_config.ini +++ /dev/null @@ -1,19 +0,0 @@ -# name lanes speed alias -Ethernet0 0 25000 twenty5GigE0 -Ethernet1 1 25000 twenty5GigE1 -Ethernet2 2 25000 twenty5GigE2 -Ethernet3 3 25000 twenty5GigE3 -Ethernet4 4 25000 twenty5GigE4 -Ethernet5 5 25000 twenty5GigE5 -Ethernet6 6 25000 twenty5GigE6 -Ethernet7 7 25000 twenty5GigE7 -Ethernet8 8 25000 twenty5GigE8 -Ethernet9 9 25000 twenty5GigE9 -Ethernet10 10 25000 twenty5GigE10 -Ethernet11 11 25000 twenty5GigE11 -Ethernet12 12 25000 twenty5GigE12 -Ethernet13 13 25000 twenty5GigE13 -Ethernet14 14 25000 twenty5GigE14 -Ethernet15 15 25000 twenty5GigE15 -Ethernet16 16 10000 tenGigE16 -Ethernet17 17 10000 tenGigE17 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/profile.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/profile.ini deleted file mode 100644 index aeaafc4e6e4d..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/profile.ini +++ /dev/null @@ -1,2 +0,0 @@ -switchMacAddress=00:01:02:03:04:05 -apPortListWithCableLen=000:1 001:1 002:1 003:1 004:1 005:1 006:1 007:1 008:1 009:1 010:1 011:1 012:1 013:1 014:1 015:1 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/sai.profile b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/sai.profile deleted file mode 100644 index 2c9623c91105..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16X25G/sai.profile +++ /dev/null @@ -1,3 +0,0 @@ -mode=1 -hwId=FALCON16X25G -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/buffers_defaults_t0.j2 deleted file mode 100644 index fee16b580d70..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/buffers_defaults_t0.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/buffers_defaults_t1.j2 deleted file mode 100644 index fee16b580d70..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/buffers_defaults_t1.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/port_config.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/port_config.ini deleted file mode 100644 index 6a9bfda3fb8b..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/port_config.ini +++ /dev/null @@ -1,19 +0,0 @@ -# name lanes speed alias -Ethernet0 0,1,2,3,4,5,6,7 400000 four00GigE0 -Ethernet8 8,9,10,11,12,13,14,15 400000 four00GigE1 -Ethernet16 16,17,18,19,20,21,22,23 400000 four00GigE2 -Ethernet24 24,25,26,27,28,29,30,31 400000 four00GigE2 -Ethernet32 32,33,34,35,36,37,38,39 400000 four00GigE3 -Ethernet40 40,41,42,43,44,45,46,47 400000 four00GigE4 -Ethernet48 48,49,50,51,52,53,54,55 400000 four00GigE5 -Ethernet56 56,57,58,59,60,61,62,63 400000 four00GigE6 -Ethernet64 64,65,66,67,68,69,70,71 400000 four00GigE7 -Ethernet72 72,73,74,75,76,77,78,79 400000 four00GigE8 -Ethernet80 80,81,82,83,84,85,86,87 400000 four00GigE9 -Ethernet88 88,89,90,91,92,93,94,95 400000 four00GigE10 -Ethernet96 96,97,98,99,100,101,102,103 400000 four00GigE11 -Ethernet104 104,105,106,107,108,109,110,111 400000 four00GigE12 -Ethernet112 112,113,114,115,116,117,118,119 400000 four00GigE13 -Ethernet120 120,121,122,123,124,125,126,127 400000 four00GigE14 -Ethernet128 128 10000 tenGigE128 -Ethernet129 129 10000 tenGigE129 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/profile.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/profile.ini deleted file mode 100644 index 16847ec03ae2..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/profile.ini +++ /dev/null @@ -1,2 +0,0 @@ -switchMacAddress=00:01:02:03:04:05 -apPortListWithCableLen=000:1 008:1 016:1 024:1 032:1 040:1 048:1 056:1 064:1 072:1 080:1 088:1 096:1 104:1 112:1 120:1 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/sai.profile b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/sai.profile deleted file mode 100644 index 6a2438f50180..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON16x400G/sai.profile +++ /dev/null @@ -1,3 +0,0 @@ -mode=1 -hwId=FALCON16x400G -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t0.j2 deleted file mode 100644 index f056413e8283..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t0.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t1.j2 deleted file mode 100644 index f056413e8283..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t1.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/port_config.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/port_config.ini deleted file mode 100644 index d0402fd44317..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/port_config.ini +++ /dev/null @@ -1,35 +0,0 @@ -# name lanes speed alias -Ethernet0 0 25000 twenty5GigE0 -Ethernet1 1 25000 twenty5GigE1 -Ethernet2 2 25000 twenty5GigE2 -Ethernet3 3 25000 twenty5GigE3 -Ethernet4 4 25000 twenty5GigE4 -Ethernet5 5 25000 twenty5GigE5 -Ethernet6 6 25000 twenty5GigE6 -Ethernet7 7 25000 twenty5GigE7 -Ethernet8 8 25000 twenty5GigE8 -Ethernet9 9 25000 twenty5GigE9 -Ethernet10 10 25000 twenty5GigE10 -Ethernet11 11 25000 twenty5GigE11 -Ethernet12 12 25000 twenty5GigE12 -Ethernet13 13 25000 twenty5GigE13 -Ethernet14 14 25000 twenty5GigE14 -Ethernet15 15 25000 twenty5GigE15 -Ethernet16 16 25000 twenty5GigE16 -Ethernet17 17 25000 twenty5GigE17 -Ethernet18 18 25000 twenty5GigE18 -Ethernet19 19 25000 twenty5GigE19 -Ethernet20 20 25000 twenty5GigE20 -Ethernet21 21 25000 twenty5GigE21 -Ethernet22 22 25000 twenty5GigE22 -Ethernet23 23 25000 twenty5GigE23 -Ethernet24 24 25000 twenty5GigE24 -Ethernet25 25 25000 twenty5GigE25 -Ethernet26 26 25000 twenty5GigE26 -Ethernet27 27 25000 twenty5GigE27 -Ethernet28 28 25000 twenty5GigE28 -Ethernet29 29 25000 twenty5GigE29 -Ethernet30 30 25000 twenty5GigE30 -Ethernet31 31 25000 twenty5GigE31 -Ethernet32 32 10000 tenGigE32 -Ethernet33 33 10000 tenGigE33 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/profile.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/profile.ini deleted file mode 100644 index 0ffbefa05805..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/profile.ini +++ /dev/null @@ -1,2 +0,0 @@ -switchMacAddress=00:01:02:03:04:05 -apPortListWithCableLen=000:1 001:1 002:1 003:1 004:1 005:1 006:1 007:1 008:1 009:1 010:1 011:1 012:1 013:1 014:1 015:1 016:1 017:1 018:1 019:1 020:1 021:1 022:1 023:1 024:1 025:1 026:1 027:1 028:1 029:1 030:1 031:1 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/sai.profile b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/sai.profile deleted file mode 100644 index fa9983612117..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/FALCON32X25G/sai.profile +++ /dev/null @@ -1,3 +0,0 @@ -mode=1 -hwId=FALCON32x25G64 -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_config.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_config.j2 deleted file mode 100644 index 6ad65b4f7309..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_config.j2 +++ /dev/null @@ -1,165 +0,0 @@ -{%- macro set_default_topology() %} -{%- if default_topo is defined %} -{{ default_topo }} -{%- else %} -def -{%- endif %} -{%- endmacro -%} - -{# Determine device topology and filename postfix #} -{%- if DEVICE_METADATA is defined %} -{%- set switch_role = DEVICE_METADATA['localhost']['type'] %} -{%- if 'torrouter' in switch_role.lower() %} -{%- set filename_postfix = 't0' %} -{%- elif 'leafrouter' in switch_role.lower() %} -{%- set filename_postfix = 't1' %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- endif %} -{%- else %} -{%- set filename_postfix = set_default_topology() %} -{%- set switch_role = '' %} -{%- endif -%} - -{# Import default values from device HWSKU folder #} -{%- import 'buffers_defaults_%s.j2' % filename_postfix as defs %} - -{%- set default_cable = defs.default_cable -%} - -{# 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 #} -{%- if defs.ports2cable is defined %} - {%- set ports2cable = defs.ports2cable %} -{%- else %} - {%- set ports2cable = { - 'torrouter_server' : '5m', - 'leafrouter_torrouter' : '40m', - 'spinerouter_leafrouter' : '300m' - } - -%} -{%- endif %} - -{%- 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 'torrouter' in switch_role.lower() %} - {%- 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 %} - -{%- set PORT_ALL = [] %} - -{%- if PORT is not defined %} - {%- if defs.generate_port_lists(PORT_ALL) %} {% endif %} -{%- else %} - {%- for port in PORT %} - {%- if PORT_ALL.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set PORT_ACTIVE = [] %} -{%- if DEVICE_NEIGHBOR is not defined %} - {%- set PORT_ACTIVE = PORT_ALL %} -{%- else %} - {%- for port in DEVICE_NEIGHBOR.keys() %} - {%- if PORT_ACTIVE.append(port) %}{%- endif %} - {%- endfor %} -{%- endif %} - -{%- set port_names_list_active = [] %} -{%- for port in PORT_ACTIVE %} - {%- if port_names_list_active.append(port) %}{%- endif %} -{%- endfor %} -{%- set port_names_active = port_names_list_active | join(',') %} - -{ - "CABLE_LENGTH": { - "AZURE": { - {% for port in PORT_ALL %} - {%- set cable = cable_length(port) %} - "{{ port }}": "{{ cable }}"{%- if not loop.last %},{% endif %} - - {% endfor %} - } - }, - -{% if defs.generate_buffer_pool_and_profiles is defined %} -{{ defs.generate_buffer_pool_and_profiles() }} -{% endif %} - -{%- if defs.generate_profile_lists is defined %} -{{ defs.generate_profile_lists(port_names_active) }}, -{% endif %} - -{%- if defs.generate_pg_profils is defined %} -{{ defs.generate_pg_profils(port_names_active) }} -{% else %} - "BUFFER_PG": { -{% for port in PORT_ACTIVE %} - "{{ port }}|0": { - "profile" : "ingress_lossy_profile" - }{% if not loop.last %},{% endif %} - -{% endfor %} - }, -{% endif %} - -{% if defs.generate_queue_buffers is defined %} -{{ defs.generate_queue_buffers(port_names_active) }} -{% else %} - "BUFFER_QUEUE": { -{% for port in PORT_ACTIVE %} - "{{ port }}|3-4": { - "profile" : "egress_lossless_profile" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|0-2": { - "profile" : "egress_lossy_profile" - }, -{% endfor %} -{% for port in PORT_ACTIVE %} - "{{ port }}|5-6": { - "profile" : "egress_lossy_profile" - }{% if not loop.last %},{% endif %} - -{% endfor %} - } -{% endif %} -} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_defaults_t0.j2 deleted file mode 100644 index fee16b580d70..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_defaults_t0.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_defaults_t1.j2 deleted file mode 100644 index fee16b580d70..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/buffers_defaults_t1.j2 +++ /dev/null @@ -1,36 +0,0 @@ - -{%- set default_cable = '40m' %} - -{%- macro generate_buffer_pool_and_profiles() %} - "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "11500000", - "type": "ingress", - "mode": "dynamic" - }, - "egress_pool": { - "size": "11500000", - "type": "egress", - "mode": "static" - } - }, - "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" - }, - "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" - } - }, -{%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/port_config.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/port_config.ini deleted file mode 100644 index 6a9bfda3fb8b..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/port_config.ini +++ /dev/null @@ -1,19 +0,0 @@ -# name lanes speed alias -Ethernet0 0,1,2,3,4,5,6,7 400000 four00GigE0 -Ethernet8 8,9,10,11,12,13,14,15 400000 four00GigE1 -Ethernet16 16,17,18,19,20,21,22,23 400000 four00GigE2 -Ethernet24 24,25,26,27,28,29,30,31 400000 four00GigE2 -Ethernet32 32,33,34,35,36,37,38,39 400000 four00GigE3 -Ethernet40 40,41,42,43,44,45,46,47 400000 four00GigE4 -Ethernet48 48,49,50,51,52,53,54,55 400000 four00GigE5 -Ethernet56 56,57,58,59,60,61,62,63 400000 four00GigE6 -Ethernet64 64,65,66,67,68,69,70,71 400000 four00GigE7 -Ethernet72 72,73,74,75,76,77,78,79 400000 four00GigE8 -Ethernet80 80,81,82,83,84,85,86,87 400000 four00GigE9 -Ethernet88 88,89,90,91,92,93,94,95 400000 four00GigE10 -Ethernet96 96,97,98,99,100,101,102,103 400000 four00GigE11 -Ethernet104 104,105,106,107,108,109,110,111 400000 four00GigE12 -Ethernet112 112,113,114,115,116,117,118,119 400000 four00GigE13 -Ethernet120 120,121,122,123,124,125,126,127 400000 four00GigE14 -Ethernet128 128 10000 tenGigE128 -Ethernet129 129 10000 tenGigE129 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/profile.ini b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/profile.ini deleted file mode 100644 index 16847ec03ae2..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/profile.ini +++ /dev/null @@ -1,2 +0,0 @@ -switchMacAddress=00:01:02:03:04:05 -apPortListWithCableLen=000:1 008:1 016:1 024:1 032:1 040:1 048:1 056:1 064:1 072:1 080:1 088:1 096:1 104:1 112:1 120:1 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/sai.profile b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/sai.profile deleted file mode 100644 index 6a2438f50180..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/db98cx8580_16cd/sai.profile +++ /dev/null @@ -1,3 +0,0 @@ -mode=1 -hwId=FALCON16x400G -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/default_sku b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/default_sku deleted file mode 100644 index 7908e555c02c..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/default_sku +++ /dev/null @@ -1 +0,0 @@ -db98cx8580_16cd t1 diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/platform_asic b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/platform_asic deleted file mode 100644 index a554752878b7..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/platform_asic +++ /dev/null @@ -1 +0,0 @@ -marvell diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/plugins/eeprom.py b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/plugins/eeprom.py deleted file mode 100644 index 71f05c5b70f5..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/plugins/eeprom.py +++ /dev/null @@ -1,11 +0,0 @@ -try: - from sonic_eeprom import eeprom_tlvinfo -except ImportError as e: - raise ImportError(str(e) + "- required module not found") - - -class board(eeprom_tlvinfo.TlvInfoDecoder): - - def __init__(self, name, path, cpld_root, ro): - self.eeprom_path = "/etc/sonic/eeprom" - super(board, self).__init__(self.eeprom_path, 0, '', True) diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/plugins/sfputil.py b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/plugins/sfputil.py deleted file mode 100644 index 500bdda8f2d6..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/plugins/sfputil.py +++ /dev/null @@ -1,248 +0,0 @@ -try: - import os - import time - import re - import subprocess - from sonic_sfp.sfputilbase import SfpUtilBase - from sonic_py_common.general import getstatusoutput_noshell -except ImportError as e: - raise ImportError(str(e) + "- required module not found") - -smbus_present = 1 - -try: - import smbus -except ImportError as e: - smbus_present = 0 - - -class SfpUtil(SfpUtilBase): - """Platform specific sfputil class""" - _port_start = 1 - _port_end = 132 - ports_in_block = 132 - - _port_to_eeprom_mapping = {} - - _qsfp_ports = list(range(_port_start, ports_in_block + 1)) - - def __init__(self): - subprocess.call(["modprobe", "i2c-dev"]) - if not os.path.exists("/sys/bus/i2c/devices/0-0050"): - with open("/sys/bus/i2c/devices/i2c-0/new_device", 'w') as file: - file.write("optoe2 0x50") - - eeprom_path = '/sys/bus/i2c/devices/0-0050/eeprom' - # for x in range(self.port _start, self.port_end +1): - x = self.port_start - while(x < self.port_end+1): - self.port_to_eeprom_mapping[x] = eeprom_path - x = x + 1 - SfpUtilBase.__init__(self) - - def reset(self, port_num): - # Check for invalid port_num - if port_num < self._port_start or port_num > self._port_end: - return False - - port_ps = "/sys/bus/i2c/devices/0-0050/sfp_port_reset" - - try: - reg_file = open(port_ps, 'w') - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return False - - # toggle reset - reg_file.seek(0) - reg_file.write('1') - time.sleep(1) - reg_file.seek(0) - reg_file.write('0') - reg_file.close() - return True - - def set_low_power_mode(self, port_nuM, lpmode): - raise NotImplementedError - - def get_low_power_mode(self, port_num): - raise NotImplementedError - - def i2c_get(self, device_addr, offset): - status = 0 - if smbus_present == 0: - x = ["i2cget", "-y", "0", hex(device_addr), hex(offset)] - cmdstatus, status = getstatusoutput_noshell(x) - if cmdstatus != 0: - return cmdstatus - status = int(status, 16) - else: - bus = smbus.SMBus(0) - status = bus.read_byte_data(device_addr, offset) - return status - - def i2c_set(self, device_addr, offset, value): - if smbus_present == 0: - cmd = ["i2cset", "-y", "0", hex(device_addr), hex(offset), hex(value)] - subprocess.call(cmd) - else: - bus = smbus.SMBus(0) - bus.write_byte_data(device_addr, offset, value) - - 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 - else: - self.i2c_set(0x70, 0, 0) - self.i2c_set(0x71, 0, 0) - self.i2c_set(0x74, 0, 0) - reg = (port_num)/8 - offset = reg % 8 - if offset >= 4: - offset = offset-4 - elif offset < 4: - offset = offset+4 - bin_offset = 1 << offset - - if port_num >= 0 and port_num <= 63: - device_reg = 0x70 - elif port_num >= 64 and port_num <= 127: - device_reg = 0x71 - elif port_num >= 128 and port_num <= 131: - device_reg = 0x74 - - #print "i2c %d %x %x" % (port_num, device_reg, bin_offset) - self.i2c_set(device_reg, 0, bin_offset) - path = "/sys/bus/i2c/devices/0-0050/eeprom" - try: - reg_file = open(path) - reg_file.seek(0o1) - reg_file.read(0o2) - except IOError as e: - return False - - return True - - def read_porttab_mappings(self, porttabfile): - #print("I am in porttab_mappings") - logical = [] - logical_to_bcm = {} - logical_to_physical = {} - physical_to_logical = {} - last_fp_port_index = 0 - last_portname = "" - first = 1 - port_pos_in_file = 0 - parse_fmt_port_config_ini = False - - try: - f = open(porttabfile) - except: - raise - - parse_fmt_port_config_ini = (os.path.basename(porttabfile) == "port_config.ini") - # Read the porttab file and generate dicts - # with mapping for future reference. - # - # TODO: Refactor this to use the portconfig.py module that now - # exists as part of the sonic-config-engine package. - title = [] - for line in f: - line.strip() - if re.search("^#", line) is not None: - # The current format is: # name lanes alias index speed - # Where the ordering of the columns can vary - title = line.split()[1:] - continue - #print title - - # Parsing logic for 'port_config.ini' file - if (parse_fmt_port_config_ini): - # bcm_port is not explicitly listed in port_config.ini format - # Currently we assume ports are listed in numerical order according to bcm_port - # so we use the port's position in the file (zero-based) as bcm_port - portname = line.split()[0] - - bcm_port = str(port_pos_in_file) - - if "index" in title: - fp_port_index = int(line.split()[title.index("index")]) - # Leave the old code for backward compatibility - # if len(line.split()) >= 4: - # fp_port_index = (line.split()[3]) - # print(fp_port_index) - else: - fp_port_index = portname.split("Ethernet").pop() - fp_port_index = int(fp_port_index.split("s").pop(0))+1 - else: # Parsing logic for older 'portmap.ini' file - (portname, bcm_port) = line.split("=")[1].split(",")[:2] - - fp_port_index = portname.split("Ethernet").pop() - fp_port_index = int(fp_port_index.split("s").pop(0))+1 - - if ((len(self.sfp_ports) > 0) and (fp_port_index not in self.sfp_ports)): - continue - - if first == 1: - # Initialize last_[physical|logical]_port - # to the first valid port - last_fp_port_index = fp_port_index - last_portname = portname - first = 0 - - logical.append(portname) - - logical_to_bcm[portname] = "xe" + bcm_port - logical_to_physical[portname] = [fp_port_index] - if physical_to_logical.get(fp_port_index) is None: - physical_to_logical[fp_port_index] = [portname] - else: - physical_to_logical[fp_port_index].append( - portname) - - if (fp_port_index - last_fp_port_index) > 1: - # last port was a gang port - for p in range(last_fp_port_index+1, fp_port_index): - logical_to_physical[last_portname].append(p) - if physical_to_logical.get(p) is None: - physical_to_logical[p] = [last_portname] - else: - physical_to_logical[p].append(last_portname) - - last_fp_port_index = fp_port_index - last_portname = portname - - port_pos_in_file += 1 - - self.logical = logical - self.logical_to_bcm = logical_to_bcm - self.logical_to_physical = logical_to_physical - self.physical_to_logical = physical_to_logical - - # print(self.logical_to_physical) - '''print("logical: " + self.logical) - print("logical to bcm: " + self.logical_to_bcm) - print("logical to physical: " + self.logical_to_physical) - print("physical to logical: " + self.physical_to_logical)''' - #print("exiting port_tab_mappings") - - @property - def port_start(self): - return self._port_start - - @property - def port_end(self): - return self._port_end - - @property - def qsfp_ports(self): - return self._qsfp_ports - - @property - def port_to_eeprom_mapping(self): - return self._port_to_eeprom_mapping - - @property - def get_transceiver_change_event(self): - raise NotImplementedError diff --git a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/pmon_daemon_control.json b/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/pmon_daemon_control.json deleted file mode 100644 index 94592fa8cebc..000000000000 --- a/device/marvell/x86_64-marvell_db98cx8580_16cd-r0/pmon_daemon_control.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "skip_ledd": true -} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.md5 index a50a5c4cc622..7f80b464ab57 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.md5 @@ -1 +1 @@ -84a2cb54120192cfade31a5ae174b96e \ No newline at end of file +cfb6e4f0a2807508868589d6cab02922 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.xml index 00ff5d183b70..ed5aac585636 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-Board-F12_8T_32x25G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -1340,6 +1300,7 @@ lowercase characters. NA + diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.md5 index 85848f340d1e..da33868c2886 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.md5 @@ -1 +1 @@ -88c203cabdf73a053d2ff8802e0dbf30 \ No newline at end of file +a7051bf159a88dd39b1ce5c2f129eb8b \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.xml index 386e692e6f1a..373fd7faf599 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-L1-F12_8T_32x25G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 10GR1Fix @@ -848,6 +652,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -866,6 +674,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -874,198 +688,231 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.md5 index 3c28079976c6..93d1496daaae 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.md5 @@ -1 +1 @@ -1ed6046358d99524cdf9cd9e136a0efa \ No newline at end of file +5f128393d356e6fe5711e164144b8fc7 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.xml index e3239589f006..b82d8246265d 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/ASK-PP-F12_8T_32x25G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.md5 index 09f527592746..d10a4e71e57f 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.md5 @@ -1 +1 @@ -f9c28ab49d1a1af723ec804226e061f8 \ No newline at end of file +418c4a414b1bba6195d4f65556c7cb34 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.xml index 3c7443e9d1b5..a6b78fa7c28d 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/SAI-F12_8T_32x25G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -342,9 +372,13 @@ 0 - - 4096 - + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t0.j2 index bf0b552cbd02..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"340000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t1.j2 index bf0b552cbd02..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"340000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON32X25G/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.md5 index 55bbf0dc39e5..653c8f124e24 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.md5 @@ -1 +1 @@ -a9b91dd828b6322ed3b341a7c49fecbc \ No newline at end of file +723721f01131ab330f16e07512c18f2a \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.xml index a9d2ccf46ead..dd12f0836768 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-Board-F12_8T-DB.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -738,12 +698,13 @@ lowercase characters. 1 ethernet_mac - 33 + 34 false NA + false @@ -753,14 +714,19 @@ lowercase characters. 2 ethernet_mac - 34 + 36 false NA + + + 2 + true + false @@ -768,12 +734,13 @@ lowercase characters. 3 ethernet_mac - 35 + 38 false NA + false @@ -783,14 +750,15 @@ lowercase characters. 4 ethernet_mac - 36 + 40 false NA + MAP5 - + 1 2 true @@ -802,14 +770,19 @@ lowercase characters. 5 ethernet_mac - 37 + 42 false NA + + + 2 + true + false @@ -817,14 +790,19 @@ lowercase characters. 6 ethernet_mac - 38 + 44 false NA + + + 2 + true + false @@ -832,14 +810,19 @@ lowercase characters. 7 ethernet_mac - 39 + 46 false NA + + + 2 + true + false @@ -847,15 +830,15 @@ lowercase characters. 8 ethernet_mac - 40 + 48 false NA - MAP5 + MAP6 - 1 + 0 2 true @@ -867,14 +850,15 @@ lowercase characters. 9 ethernet_mac - 41 + 56 false NA + MAP7 - + 1 2 true @@ -886,14 +870,15 @@ lowercase characters. 10 ethernet_mac - 42 + 64 false NA + MAP0 - + 0 2 true @@ -905,12 +890,13 @@ lowercase characters. 11 ethernet_mac - 43 + 65 false NA + @@ -924,12 +910,13 @@ lowercase characters. 12 ethernet_mac - 44 + 66 false NA + @@ -943,12 +930,13 @@ lowercase characters. 13 ethernet_mac - 45 + 67 false NA + @@ -962,12 +950,13 @@ lowercase characters. 14 ethernet_mac - 46 + 68 false NA + @@ -981,12 +970,13 @@ lowercase characters. 15 ethernet_mac - 47 + 69 false NA + @@ -1000,15 +990,15 @@ lowercase characters. 16 ethernet_mac - 48 + 70 false NA - MAP6 + - 0 + 2 true @@ -1020,12 +1010,13 @@ lowercase characters. 17 ethernet_mac - 49 + 71 false NA + @@ -1039,14 +1030,15 @@ lowercase characters. 18 ethernet_mac - 50 + 72 false NA + MAP1 - + 1 2 true @@ -1058,12 +1050,13 @@ lowercase characters. 19 ethernet_mac - 51 + 73 false NA + @@ -1077,12 +1070,13 @@ lowercase characters. 20 ethernet_mac - 52 + 74 false NA + @@ -1096,12 +1090,13 @@ lowercase characters. 21 ethernet_mac - 53 + 75 false NA + @@ -1115,12 +1110,13 @@ lowercase characters. 22 ethernet_mac - 54 + 76 false NA + @@ -1134,12 +1130,13 @@ lowercase characters. 23 ethernet_mac - 55 + 77 false NA + @@ -1153,15 +1150,15 @@ lowercase characters. 24 ethernet_mac - 56 + 78 false NA - MAP7 + - 1 + 2 true @@ -1173,12 +1170,13 @@ lowercase characters. 25 ethernet_mac - 57 + 79 false NA + @@ -1192,14 +1190,15 @@ lowercase characters. 26 ethernet_mac - 58 + 80 false NA + MAP2 - + 0 2 true @@ -1211,12 +1210,13 @@ lowercase characters. 27 ethernet_mac - 59 + 81 false NA + @@ -1230,12 +1230,13 @@ lowercase characters. 28 ethernet_mac - 60 + 82 false NA + @@ -1249,12 +1250,13 @@ lowercase characters. 29 ethernet_mac - 61 + 83 false NA + @@ -1268,12 +1270,13 @@ lowercase characters. 30 ethernet_mac - 62 + 84 false NA + @@ -1287,12 +1290,13 @@ lowercase characters. 31 ethernet_mac - 63 + 85 false NA + @@ -1306,15 +1310,15 @@ lowercase characters. 32 ethernet_mac - 64 + 86 false NA - MAP0 + - 0 + 2 true @@ -1326,12 +1330,13 @@ lowercase characters. 33 ethernet_mac - 65 + 87 false NA + @@ -1345,14 +1350,15 @@ lowercase characters. 34 ethernet_mac - 66 + 88 false NA + MAP3 - + 1 2 true @@ -1364,12 +1370,13 @@ lowercase characters. 35 ethernet_mac - 67 + 89 false NA + @@ -1383,12 +1390,13 @@ lowercase characters. 36 ethernet_mac - 68 + 90 false NA + @@ -1402,12 +1410,13 @@ lowercase characters. 37 ethernet_mac - 69 + 91 false NA + @@ -1421,12 +1430,13 @@ lowercase characters. 38 ethernet_mac - 70 + 92 false NA + @@ -1440,12 +1450,13 @@ lowercase characters. 39 ethernet_mac - 71 + 93 false NA + @@ -1459,15 +1470,15 @@ lowercase characters. 40 ethernet_mac - 72 + 94 false NA - MAP1 + - 1 + 2 true @@ -1479,12 +1490,13 @@ lowercase characters. 41 ethernet_mac - 73 + 95 false NA + @@ -1498,14 +1510,15 @@ lowercase characters. 42 ethernet_mac - 74 + 96 false NA + MAP4 - + 0 2 true @@ -1517,12 +1530,13 @@ lowercase characters. 43 ethernet_mac - 75 + 97 false NA + @@ -1536,12 +1550,13 @@ lowercase characters. 44 ethernet_mac - 76 + 98 false NA + @@ -1555,12 +1570,13 @@ lowercase characters. 45 ethernet_mac - 77 + 99 false NA + @@ -1574,12 +1590,13 @@ lowercase characters. 46 ethernet_mac - 78 + 100 false NA + @@ -1593,12 +1610,13 @@ lowercase characters. 47 ethernet_mac - 79 + 101 false NA + @@ -1612,15 +1630,15 @@ lowercase characters. 48 ethernet_mac - 80 + 102 false NA - MAP2 + - 0 + 2 true @@ -1632,12 +1650,13 @@ lowercase characters. 49 ethernet_mac - 81 + 103 false NA + @@ -1651,14 +1670,15 @@ lowercase characters. 50 ethernet_mac - 82 + 104 false NA + MAP5 - + 1 2 true @@ -1670,12 +1690,13 @@ lowercase characters. 51 ethernet_mac - 83 + 105 false NA + @@ -1689,12 +1710,13 @@ lowercase characters. 52 ethernet_mac - 84 + 106 false NA + @@ -1708,12 +1730,13 @@ lowercase characters. 53 ethernet_mac - 85 + 107 false NA + @@ -1727,12 +1750,13 @@ lowercase characters. 54 ethernet_mac - 86 + 108 false NA + @@ -1746,12 +1770,13 @@ lowercase characters. 55 ethernet_mac - 87 + 109 false NA + @@ -1765,15 +1790,15 @@ lowercase characters. 56 ethernet_mac - 88 + 110 false NA - MAP3 + - 1 + 2 true @@ -1785,12 +1810,13 @@ lowercase characters. 57 ethernet_mac - 89 + 111 false NA + @@ -1804,14 +1830,15 @@ lowercase characters. 58 ethernet_mac - 90 + 112 false NA + MAP6 - + 0 2 true @@ -1823,12 +1850,13 @@ lowercase characters. 59 ethernet_mac - 91 + 113 false NA + @@ -1842,12 +1870,13 @@ lowercase characters. 60 ethernet_mac - 92 + 114 false NA + @@ -1861,12 +1890,13 @@ lowercase characters. 64 ethernet_mac - 93 + 115 false NA + @@ -1880,12 +1910,13 @@ lowercase characters. 65 ethernet_mac - 94 + 116 false NA + @@ -1899,12 +1930,13 @@ lowercase characters. 66 ethernet_mac - 95 + 117 false NA + @@ -1918,15 +1950,15 @@ lowercase characters. 67 ethernet_mac - 96 + 118 false NA - MAP4 + - 0 + 2 true @@ -1938,12 +1970,13 @@ lowercase characters. 68 ethernet_mac - 97 + 119 false NA + @@ -1957,14 +1990,15 @@ lowercase characters. 69 ethernet_mac - 98 + 120 false NA + MAP7 - + 1 2 true @@ -1976,12 +2010,13 @@ lowercase characters. 70 ethernet_mac - 99 + 121 false NA + @@ -1995,12 +2030,13 @@ lowercase characters. 71 ethernet_mac - 100 + 122 false NA + @@ -2014,12 +2050,13 @@ lowercase characters. 72 ethernet_mac - 101 + 123 false NA + @@ -2033,12 +2070,13 @@ lowercase characters. 73 ethernet_mac - 102 + 124 false NA + @@ -2052,12 +2090,13 @@ lowercase characters. 74 ethernet_mac - 103 + 125 false NA + @@ -2071,15 +2110,15 @@ lowercase characters. 75 ethernet_mac - 104 + 126 false NA - MAP5 + - 1 + 2 true @@ -2091,12 +2130,13 @@ lowercase characters. 76 ethernet_mac - 105 + 127 false NA + @@ -2110,14 +2150,15 @@ lowercase characters. 77 ethernet_mac - 106 + 128 false NA + MAP0 - + 0 2 true @@ -2129,12 +2170,13 @@ lowercase characters. 78 ethernet_mac - 107 + 129 false NA + @@ -2148,12 +2190,13 @@ lowercase characters. 79 ethernet_mac - 108 + 130 false NA + @@ -2167,12 +2210,13 @@ lowercase characters. 80 ethernet_mac - 109 + 131 false NA + @@ -2186,12 +2230,13 @@ lowercase characters. 81 ethernet_mac - 110 + 132 false NA + @@ -2205,12 +2250,13 @@ lowercase characters. 82 ethernet_mac - 111 + 133 false NA + @@ -2224,15 +2270,15 @@ lowercase characters. 83 ethernet_mac - 112 + 134 false NA - MAP6 + - 0 + 2 true @@ -2244,12 +2290,13 @@ lowercase characters. 84 ethernet_mac - 113 + 135 false NA + @@ -2263,14 +2310,15 @@ lowercase characters. 85 ethernet_mac - 114 + 136 false NA + MAP1 - + 1 2 true @@ -2282,12 +2330,13 @@ lowercase characters. 86 ethernet_mac - 115 + 137 false NA + @@ -2301,12 +2350,13 @@ lowercase characters. 87 ethernet_mac - 116 + 138 false NA + @@ -2320,12 +2370,13 @@ lowercase characters. 88 ethernet_mac - 117 + 139 false NA + @@ -2339,12 +2390,13 @@ lowercase characters. 89 ethernet_mac - 118 + 140 false NA + @@ -2358,12 +2410,13 @@ lowercase characters. 90 ethernet_mac - 119 + 141 false NA + @@ -2377,15 +2430,15 @@ lowercase characters. 91 ethernet_mac - 120 + 142 false NA - MAP7 + - 1 + 2 true @@ -2397,12 +2450,13 @@ lowercase characters. 92 ethernet_mac - 121 + 143 false NA + @@ -2416,14 +2470,15 @@ lowercase characters. 93 ethernet_mac - 122 + 144 false NA + MAP2 - + 0 2 true @@ -2435,12 +2490,13 @@ lowercase characters. 94 ethernet_mac - 123 + 145 false NA + @@ -2454,12 +2510,13 @@ lowercase characters. 95 ethernet_mac - 124 + 146 false NA + @@ -2470,15 +2527,36 @@ lowercase characters. - 96 + 237 ethernet_mac - 125 + 258 + false + + + NA + + + + 2 + + 2 + true + + false + + + + 236 + + ethernet_mac + 31 false NA + @@ -2489,15 +2567,16 @@ lowercase characters. - 97 + 235 ethernet_mac - 126 + 30 false NA + @@ -2508,15 +2587,16 @@ lowercase characters. - 98 + 234 ethernet_mac - 127 + 29 false NA + @@ -2527,18 +2607,18 @@ lowercase characters. - 99 + 233 ethernet_mac - 128 + 28 false NA - MAP0 + - 0 + 2 true @@ -2547,15 +2627,16 @@ lowercase characters. - 100 + 232 ethernet_mac - 130 + 27 false NA + @@ -2566,15 +2647,16 @@ lowercase characters. - 101 + 231 ethernet_mac - 132 + 26 false NA + @@ -2585,15 +2667,16 @@ lowercase characters. - 102 + 230 ethernet_mac - 134 + 25 false NA + @@ -2604,16 +2687,16 @@ lowercase characters. - 103 + 229 ethernet_mac - 136 + 24 false NA - MAP1 + MAP3 1 @@ -2624,15 +2707,16 @@ lowercase characters. - 104 + 228 ethernet_mac - 138 + 23 false NA + @@ -2643,15 +2727,16 @@ lowercase characters. - 105 + 227 ethernet_mac - 140 + 22 false NA + @@ -2662,15 +2747,16 @@ lowercase characters. - 106 + 226 ethernet_mac - 142 + 21 false NA + @@ -2681,18 +2767,18 @@ lowercase characters. - 107 + 225 ethernet_mac - 144 + 20 false NA - MAP2 + - 0 + 2 true @@ -2701,15 +2787,16 @@ lowercase characters. - 108 + 224 ethernet_mac - 146 + 19 false NA + @@ -2720,15 +2807,16 @@ lowercase characters. - 109 + 223 ethernet_mac - 148 + 18 false NA + @@ -2739,15 +2827,16 @@ lowercase characters. - 110 + 222 ethernet_mac - 150 + 17 false NA + @@ -2758,18 +2847,18 @@ lowercase characters. - 111 + 221 ethernet_mac - 152 + 16 false NA - MAP3 + MAP2 - 1 + 0 2 true @@ -2778,15 +2867,16 @@ lowercase characters. - 112 + 220 ethernet_mac - 154 + 15 false NA + @@ -2797,15 +2887,16 @@ lowercase characters. - 113 + 219 ethernet_mac - 156 + 14 false NA + @@ -2816,15 +2907,16 @@ lowercase characters. - 114 + 218 ethernet_mac - 158 + 13 false NA + @@ -2835,18 +2927,18 @@ lowercase characters. - 115 + 217 ethernet_mac - 160 + 12 false NA - MAP4 + - 0 + 2 true @@ -2855,15 +2947,16 @@ lowercase characters. - 116 + 216 ethernet_mac - 164 + 11 false NA + @@ -2874,18 +2967,18 @@ lowercase characters. - 117 + 215 ethernet_mac - 168 + 10 false NA - MAP5 + - 1 + 2 true @@ -2894,15 +2987,16 @@ lowercase characters. - 118 + 214 ethernet_mac - 172 + 9 false NA + @@ -2913,18 +3007,18 @@ lowercase characters. - 119 + 213 ethernet_mac - 176 + 8 false NA - MAP6 + MAP1 - 0 + 1 2 true @@ -2933,15 +3027,16 @@ lowercase characters. - 120 + 212 ethernet_mac - 180 + 7 false NA + @@ -2952,18 +3047,18 @@ lowercase characters. - 121 + 211 ethernet_mac - 184 + 6 false NA - MAP7 + - 1 + 2 true @@ -2972,15 +3067,16 @@ lowercase characters. - 122 + 210 ethernet_mac - 188 + 5 false NA + @@ -2991,18 +3087,18 @@ lowercase characters. - 123 + 209 ethernet_mac - 192 + 4 false NA - MAP0 + - 0 + 2 true @@ -3011,15 +3107,16 @@ lowercase characters. - 124 + 208 ethernet_mac - 196 + 3 false NA + @@ -3030,18 +3127,18 @@ lowercase characters. - 125 + 207 ethernet_mac - 200 + 2 false NA - MAP1 + - 1 + 2 true @@ -3050,15 +3147,16 @@ lowercase characters. - 126 + 206 ethernet_mac - 204 + 1 false NA + @@ -3069,16 +3167,16 @@ lowercase characters. - 127 + 205 ethernet_mac - 208 + 0 false NA - MAP2 + MAP0 0 @@ -3089,15 +3187,16 @@ lowercase characters. - 128 + 204 ethernet_mac - 212 + 255 false NA + @@ -3108,18 +3207,18 @@ lowercase characters. - 129 + 203 ethernet_mac - 216 + 254 false NA - MAP3 + - 1 + 2 true @@ -3128,15 +3227,16 @@ lowercase characters. - 130 + 202 ethernet_mac - 220 + 253 false NA + @@ -3147,18 +3247,18 @@ lowercase characters. - 131 + 201 ethernet_mac - 224 + 252 false NA - MAP4 + - 0 + 2 true @@ -3167,18 +3267,18 @@ lowercase characters. - 132 + 200 ethernet_mac - 232 + 251 false NA - MAP5 + - 1 + 2 true @@ -3187,18 +3287,18 @@ lowercase characters. - 133 + 199 ethernet_mac - 240 + 250 false NA - MAP6 + - 0 + 2 true @@ -3207,18 +3307,18 @@ lowercase characters. - 134 + 198 ethernet_mac - 248 + 249 false NA - MAP7 + - 1 + 2 true @@ -3227,18 +3327,18 @@ lowercase characters. - 135 + 197 ethernet_mac - 0 + 248 false NA - MAP0 + MAP7 - 0 + 1 2 true @@ -3247,18 +3347,18 @@ lowercase characters. - 136 + 196 ethernet_mac - 8 + 247 false NA - MAP1 + - 1 + 2 true @@ -3267,18 +3367,18 @@ lowercase characters. - 137 + 195 ethernet_mac - 16 + 246 false NA - MAP2 + - 0 + 2 true @@ -3287,18 +3387,18 @@ lowercase characters. - 138 + 194 ethernet_mac - 24 + 245 false NA - MAP3 + - 1 + 2 true @@ -3307,17 +3407,18 @@ lowercase characters. - 139 + 193 ethernet_mac - 258 + 244 false NA + - 2 + 2 true @@ -3326,31 +3427,1971 @@ lowercase characters. - 63 + 192 - cpu_sdma - 273 + ethernet_mac + 243 false + + NA + + + + + + 2 + true + + false + - 140 + 191 - cpu_sdma - 274 + ethernet_mac + 242 false + + NA + + + + + + 2 + true + + false + - 142 + 190 - cpu_sdma - 275 + ethernet_mac + 241 false - - - 141 + + NA + + + + + + 2 + true + + false + + + + 189 + + ethernet_mac + 240 + false + + + NA + + MAP6 + + 0 + + 2 + true + + false + + + + 188 + + ethernet_mac + 239 + false + + + NA + + + + + + 2 + true + + false + + + + 187 + + ethernet_mac + 238 + false + + + NA + + + + + + 2 + true + + false + + + + 186 + + ethernet_mac + 237 + false + + + NA + + + + + + 2 + true + + false + + + + 185 + + ethernet_mac + 236 + false + + + NA + + + + + + 2 + true + + false + + + + 184 + + ethernet_mac + 235 + false + + + NA + + + + + + 2 + true + + false + + + + 183 + + ethernet_mac + 234 + false + + + NA + + + + + + 2 + true + + false + + + + 182 + + ethernet_mac + 233 + false + + + NA + + + + + + 2 + true + + false + + + + 181 + + ethernet_mac + 232 + false + + + NA + + MAP5 + + 1 + + 2 + true + + false + + + + 180 + + ethernet_mac + 231 + false + + + NA + + + + + + 2 + true + + false + + + + 179 + + ethernet_mac + 230 + false + + + NA + + + + + + 2 + true + + false + + + + 178 + + ethernet_mac + 229 + false + + + NA + + + + + + 2 + true + + false + + + + 177 + + ethernet_mac + 228 + false + + + NA + + + + + + 2 + true + + false + + + + 176 + + ethernet_mac + 227 + false + + + NA + + + + + + 2 + true + + false + + + + 175 + + ethernet_mac + 226 + false + + + NA + + + + + + 2 + true + + false + + + + 174 + + ethernet_mac + 225 + false + + + NA + + + + + + 2 + true + + false + + + + 173 + + ethernet_mac + 224 + false + + + NA + + MAP4 + + 0 + + 2 + true + + false + + + + 172 + + ethernet_mac + 223 + false + + + NA + + + + + + 2 + true + + false + + + + 171 + + ethernet_mac + 222 + false + + + NA + + + + + + 2 + true + + false + + + + 170 + + ethernet_mac + 221 + false + + + NA + + + + + + 2 + true + + false + + + + 169 + + ethernet_mac + 220 + false + + + NA + + + + + + 2 + true + + false + + + + 168 + + ethernet_mac + 219 + false + + + NA + + + + + + 2 + true + + false + + + + 167 + + ethernet_mac + 218 + false + + + NA + + + + + + 2 + true + + false + + + + 166 + + ethernet_mac + 217 + false + + + NA + + + + + + 2 + true + + false + + + + 165 + + ethernet_mac + 216 + false + + + NA + + MAP3 + + 1 + + 2 + true + + false + + + + 164 + + ethernet_mac + 215 + false + + + NA + + + + + + 2 + true + + false + + + + 163 + + ethernet_mac + 214 + false + + + NA + + + + + + 2 + true + + false + + + + 162 + + ethernet_mac + 213 + false + + + NA + + + + + + 2 + true + + false + + + + 161 + + ethernet_mac + 212 + false + + + NA + + + + + + 2 + true + + false + + + + 160 + + ethernet_mac + 211 + false + + + NA + + + + + + 2 + true + + false + + + + 159 + + ethernet_mac + 210 + false + + + NA + + + + + + 2 + true + + false + + + + 158 + + ethernet_mac + 209 + false + + + NA + + + + + + 2 + true + + false + + + + 157 + + ethernet_mac + 208 + false + + + NA + + MAP2 + + 0 + + 2 + true + + false + + + + 156 + + ethernet_mac + 207 + false + + + NA + + + + + + 2 + true + + false + + + + 155 + + ethernet_mac + 206 + false + + + NA + + + + + + 2 + true + + false + + + + 154 + + ethernet_mac + 205 + false + + + NA + + + + + + 2 + true + + false + + + + 153 + + ethernet_mac + 204 + false + + + NA + + + + + + 2 + true + + false + + + + 152 + + ethernet_mac + 203 + false + + + NA + + + + + + 2 + true + + false + + + + 151 + + ethernet_mac + 202 + false + + + NA + + + + + + 2 + true + + false + + + + 150 + + ethernet_mac + 201 + false + + + NA + + + + + + 2 + true + + false + + + + 149 + + ethernet_mac + 200 + false + + + NA + + MAP1 + + 1 + + 2 + true + + false + + + + 148 + + ethernet_mac + 199 + false + + + NA + + + + + + 2 + true + + false + + + + 147 + + ethernet_mac + 198 + false + + + NA + + + + + + 2 + true + + false + + + + 146 + + ethernet_mac + 197 + false + + + NA + + + + + + 2 + true + + false + + + + 145 + + ethernet_mac + 196 + false + + + NA + + + + + + 2 + true + + false + + + + 144 + + ethernet_mac + 195 + false + + + NA + + + + + + 2 + true + + false + + + + 143 + + ethernet_mac + 194 + false + + + NA + + + + + + 2 + true + + false + + + + 142 + + ethernet_mac + 193 + false + + + NA + + + + + + 2 + true + + false + + + + 141 + + ethernet_mac + 192 + false + + + NA + + MAP0 + + 0 + + 2 + true + + false + + + + 140 + + ethernet_mac + 191 + false + + + NA + + + + + + 2 + true + + false + + + + 139 + + ethernet_mac + 190 + false + + + NA + + + + + + 2 + true + + false + + + + 138 + + ethernet_mac + 189 + false + + + NA + + + + + + 2 + true + + false + + + + 137 + + ethernet_mac + 188 + false + + + NA + + + + + + 2 + true + + false + + + + 136 + + ethernet_mac + 187 + false + + + NA + + + + + + 2 + true + + false + + + + 135 + + ethernet_mac + 186 + false + + + NA + + + + + + 2 + true + + false + + + + 134 + + ethernet_mac + 185 + false + + + NA + + + + + + 2 + true + + false + + + + 133 + + ethernet_mac + 184 + false + + + NA + + MAP7 + + 1 + + 2 + true + + false + + + + 132 + + ethernet_mac + 183 + false + + + NA + + + + + + 2 + true + + false + + + + 131 + + ethernet_mac + 182 + false + + + NA + + + + + + 2 + true + + false + + + + 130 + + ethernet_mac + 181 + false + + + NA + + + + + + 2 + true + + false + + + + 129 + + ethernet_mac + 180 + false + + + NA + + + + + + 2 + true + + false + + + + 128 + + ethernet_mac + 179 + false + + + NA + + + + + + 2 + true + + false + + + + 127 + + ethernet_mac + 178 + false + + + NA + + + + + + 2 + true + + false + + + + 126 + + ethernet_mac + 177 + false + + + NA + + + + + + 2 + true + + false + + + + 125 + + ethernet_mac + 176 + false + + + NA + + MAP6 + + 0 + + 2 + true + + false + + + + 124 + + ethernet_mac + 175 + false + + + NA + + + + + + 2 + true + + false + + + + 123 + + ethernet_mac + 174 + false + + + NA + + + + + + 2 + true + + false + + + + 122 + + ethernet_mac + 173 + false + + + NA + + + + + + 2 + true + + false + + + + 121 + + ethernet_mac + 172 + false + + + NA + + + + + + 2 + true + + false + + + + 120 + + ethernet_mac + 171 + false + + + NA + + + + + + 2 + true + + false + + + + 119 + + ethernet_mac + 170 + false + + + NA + + + + + + 2 + true + + false + + + + 118 + + ethernet_mac + 169 + false + + + NA + + + + + + 2 + true + + false + + + + 117 + + ethernet_mac + 168 + false + + + NA + + MAP5 + + 1 + + 2 + true + + false + + + + 116 + + ethernet_mac + 167 + false + + + NA + + + + + + 2 + true + + false + + + + 115 + + ethernet_mac + 166 + false + + + NA + + + + + + 2 + true + + false + + + + 114 + + ethernet_mac + 165 + false + + + NA + + + + + + 2 + true + + false + + + + 113 + + ethernet_mac + 164 + false + + + NA + + + + + + 2 + true + + false + + + + 112 + + ethernet_mac + 163 + false + + + NA + + + + + + 2 + true + + false + + + + 111 + + ethernet_mac + 162 + false + + + NA + + + + + + 2 + true + + false + + + + 110 + + ethernet_mac + 161 + false + + + NA + + + + + + 2 + true + + false + + + + 109 + + ethernet_mac + 160 + false + + + NA + + MAP4 + + 0 + + 2 + true + + false + + + + 108 + + ethernet_mac + 159 + false + + + NA + + + + + + 2 + true + + false + + + + 107 + + ethernet_mac + 158 + false + + + NA + + + + + + 2 + true + + false + + + + 106 + + ethernet_mac + 157 + false + + + NA + + + + + + 2 + true + + false + + + + 105 + + ethernet_mac + 156 + false + + + NA + + + + + + 2 + true + + false + + + + 104 + + ethernet_mac + 155 + false + + + NA + + + + + + 2 + true + + false + + + + 103 + + ethernet_mac + 154 + false + + + NA + + + + + + 2 + true + + false + + + + 102 + + ethernet_mac + 153 + false + + + NA + + + + + + 2 + true + + false + + + + 101 + + ethernet_mac + 152 + false + + + NA + + MAP3 + + 1 + + 2 + true + + false + + + + 100 + + ethernet_mac + 151 + false + + + NA + + + + + + 2 + true + + false + + + + 99 + + ethernet_mac + 150 + false + + + NA + + + + + + 2 + true + + false + + + + 98 + + ethernet_mac + 149 + false + + + NA + + + + + + 2 + true + + false + + + + 97 + + ethernet_mac + 148 + false + + + NA + + + + + + 2 + true + + false + + + + 96 + + ethernet_mac + 147 + false + + + NA + + + + + + 2 + true + + false + + + + 63 + + cpu_sdma + 273 + false + + + + 238 + + cpu_sdma + 274 + false + + + + 239 + + cpu_sdma + 275 + false + + + + 240 cpu_sdma 276 diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.md5 index dd2029e187cc..a3fbe5af773e 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.md5 @@ -1 +1 @@ -ea16f9a242a729d34f016aeb819b10c1 \ No newline at end of file +d38213fa01008a6b8b8b1313a569ebdc \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.xml index c248b2556344..36e91b2b4470 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-L1-F12_8T-DB.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR2 @@ -855,19 +659,19 @@ KR2 100G rs_544_514_enabled - rs_544_514_enabled + disabled CR2 50G rs_enabled - rs_enabled + disabled KR2 50G rs_enabled - rs_enabled + disabled @@ -897,7 +701,7 @@ KR4 100G rs_enabled - rs_enabled + disabled @@ -910,7 +714,11 @@ SR_LR 10G - enabled + disabled + + + 1000BASE_X + 1G KR @@ -918,6 +726,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + 10GR1Fix @@ -969,19 +783,19 @@ KR4 200G rs_544_514_enabled - rs_544_514_enabled + disabled CR4 100G rs_enabled - rs_enabled + disabled KR4 100G rs_enabled - rs_enabled + disabled @@ -1011,6 +825,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -1021,13 +839,19 @@ KR 25G rs_enabled - rs_enabled + disabled KR 10G enabled - enabled + disabled + + + 1000BASE_X + 1G + disabled + disabled @@ -1057,7 +881,7 @@ KR8 400G rs_544_514_enabled - rs_544_514_enabled + disabled @@ -1102,6 +926,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 50G @@ -1112,25 +940,31 @@ KR 50G rs_544_514_enabled - rs_544_514_enabled + disabled CR 25G rs_enabled - rs_enabled + disabled KR 25G rs_enabled - rs_enabled + disabled KR 10G enabled - enabled + disabled + + + 1000BASE_X + 1G + disabled + disabled @@ -1139,823 +973,1856 @@ 0 AVAGO profile_default - 10GR1 - - - 1 - AVAGO - profile_default - 10GR1 - - - 2 - AVAGO - profile_default - 10GR1 - - - 3 - AVAGO - profile_default - 10GR1 + 400GR8 + true + + 0 + + 100GR2 + 200GR4 + 400GR8 + + + 1 + + 100GR2 + + + + + 2 + + 100GR2 + 200GR4 + + + + 3 + + 100GR2 + + + 4 AVAGO profile_default - 10GR1 - - - 5 - AVAGO - profile_default - 10GR1 - - - 6 - AVAGO - profile_default - 10GR1 - - - 7 - AVAGO - profile_default - 10GR1 + 400GR8 + true + + 4 + + 100GR2 + 200GR4 + 400GR8 + + + 5 + + 100GR2 + + + + + 6 + + 100GR2 + 200GR4 + + + + 7 + + 100GR2 + + + 8 AVAGO profile_default - 10GR1 + 400GR8 + false 9 AVAGO profile_default - 10GR1 + 400GR8 + false 10 AVAGO profile_default - 10GR1 - - - 11 - AVAGO - profile_default - 10GR1 - - - 12 - AVAGO - profile_default - 10GR1 - - - 13 - AVAGO - profile_default - 10GR1 - - - 14 - AVAGO - profile_default - 10GR1 - - - 15 - AVAGO - profile_default - 10GR1 - - - 16 - AVAGO - profile_default - 10GR1 - - - 17 - AVAGO - profile_default - 10GR1 + 400GR8 + true + + 10 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 11 + 50GR1 + + + + + + 12 + 50GR1 + 100GR2 + + + + + 13 + 50GR1 + + + + + + 14 + 50GR1 + 100GR2 + 200GR4 + + + + 15 + 50GR1 + + + + + + 16 + 50GR1 + 100GR2 + + + + + 17 + 50GR1 + + + + 18 AVAGO profile_default - 10GR1 - - - 19 - AVAGO - profile_default - 10GR1 - - - 20 - AVAGO - profile_default - 10GR1 - - - 21 - AVAGO - profile_default - 10GR1 - - - 22 - AVAGO - profile_default - 10GR1 - - - 23 - AVAGO - profile_default - 10GR1 - - - 24 - AVAGO - profile_default - 10GR1 - - - 25 - AVAGO - profile_default - 10GR1 + 400GR8 + true + + 18 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 19 + 50GR1 + + + + + + 20 + 50GR1 + 100GR2 + + + + + 21 + 50GR1 + + + + + + 22 + 50GR1 + 100GR2 + 200GR4 + + + + 23 + 50GR1 + + + + + + 24 + 50GR1 + 100GR2 + + + + + 25 + 50GR1 + + + + 26 AVAGO profile_default - 10GR1 - - - 27 - AVAGO - profile_default - 10GR1 - - - 28 - AVAGO - profile_default - 10GR1 - - - 29 - AVAGO - profile_default - 10GR1 - - - 30 - AVAGO - profile_default - 10GR1 - - - 31 - AVAGO - profile_default - 10GR1 - - - 32 - AVAGO - profile_default - 25GR1 + 400GR8 + true + + 26 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 27 + 50GR1 + + + + + + 28 + 50GR1 + 100GR2 + + + + + 29 + 50GR1 + + + + + + 30 + 50GR1 + 100GR2 + 200GR4 + + + + 31 + 50GR1 + + + + + + 32 + 50GR1 + 100GR2 + + + + + 33 + 50GR1 + + + + - 33 + 34 AVAGO profile_default - 25GR1 + 400GR8 + true + + 34 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 35 + 50GR1 + + + + + + 36 + 50GR1 + 100GR2 + + + + + 37 + 50GR1 + + + + + + 38 + 50GR1 + 100GR2 + 200GR4 + + + + 39 + 50GR1 + + + + + + 40 + 50GR1 + 100GR2 + + + + + 41 + 50GR1 + + + + - 34 + 42 AVAGO profile_default - 25GR1 + 400GR8 + true + + 42 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 43 + 50GR1 + + + + + + 44 + 50GR1 + 100GR2 + + + + + 45 + 50GR1 + + + + + + 46 + 50GR1 + 100GR2 + 200GR4 + + + + 47 + 50GR1 + + + + + + 48 + 50GR1 + 100GR2 + + + + + 49 + 50GR1 + + + + - 35 + 50 AVAGO profile_default - 25GR1 + 400GR8 + true + + 50 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 51 + 50GR1 + + + + + + 52 + 50GR1 + 100GR2 + + + + + 53 + 50GR1 + + + + + + 54 + 50GR1 + 100GR2 + 200GR4 + + + + 55 + 50GR1 + + + + + + 56 + 50GR1 + 100GR2 + + + + + 57 + 50GR1 + + + + - 36 + 58 AVAGO profile_default - 25GR1 + 400GR8 + true + + 58 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 59 + 50GR1 + + + + + + 60 + 50GR1 + 100GR2 + + + + + 64 + 50GR1 + + + + + + 65 + 50GR1 + 100GR2 + 200GR4 + + + + 66 + 50GR1 + + + + + + 67 + 50GR1 + 100GR2 + + + + + 68 + 50GR1 + + + + - 37 + 69 AVAGO profile_default - 25GR1 + 400GR8 + true + + 69 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 70 + 50GR1 + + + + + + 71 + 50GR1 + 100GR2 + + + + + 72 + 50GR1 + + + + + + 73 + 50GR1 + 100GR2 + 200GR4 + + + + 74 + 50GR1 + + + + + + 75 + 50GR1 + 100GR2 + + + + + 76 + 50GR1 + + + + - 38 + 77 AVAGO profile_default - 25GR1 + 400GR8 + true + + 77 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 78 + 50GR1 + + + + + + 79 + 50GR1 + 100GR2 + + + + + 80 + 50GR1 + + + + + + 81 + 50GR1 + 100GR2 + 200GR4 + + + + 82 + 50GR1 + + + + + + 83 + 50GR1 + 100GR2 + + + + + 84 + 50GR1 + + + + - 39 + 85 AVAGO profile_default - 25GR1 + 400GR8 + true + + 85 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 86 + 50GR1 + + + + + + 87 + 50GR1 + 100GR2 + + + + + 88 + 50GR1 + + + + + + 89 + 50GR1 + 100GR2 + 200GR4 + + + + 90 + 50GR1 + + + + + + 91 + 50GR1 + 100GR2 + + + + + 92 + 50GR1 + + + + - 40 + 93 AVAGO profile_default - 25GR1 + 400GR8 + true + + 93 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 94 + 50GR1 + + + + + + 95 + 50GR1 + 100GR2 + + + + + 96 + 50GR1 + + + + + + 97 + 50GR1 + 100GR2 + 200GR4 + + + + 98 + 50GR1 + + + + + + 99 + 50GR1 + 100GR2 + + + + + 100 + 50GR1 + + + + - 41 + 101 AVAGO profile_default - 25GR1 + 400GR8 + true + + 101 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 102 + 50GR1 + + + + + + 103 + 50GR1 + 100GR2 + + + + + 104 + 50GR1 + + + + + + 105 + 50GR1 + 100GR2 + 200GR4 + + + + 106 + 50GR1 + + + + + + 107 + 50GR1 + 100GR2 + + + + + 108 + 50GR1 + + + + - 42 + 109 AVAGO profile_default - 25GR1 + 400GR8 + true + + 109 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 110 + 50GR1 + + + + + + 111 + 50GR1 + 100GR2 + + + + + 112 + 50GR1 + + + + + + 113 + 50GR1 + 100GR2 + 200GR4 + + + + 114 + 50GR1 + + + + + + 115 + 50GR1 + 100GR2 + + + + + 116 + 50GR1 + + + + - 43 + 117 AVAGO profile_default - 25GR1 + 400GR8 + true + + 117 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 118 + 50GR1 + + + + + + 119 + 50GR1 + 100GR2 + + + + + 120 + 50GR1 + + + + + + 121 + 50GR1 + 100GR2 + 200GR4 + + + + 122 + 50GR1 + + + + + + 123 + 50GR1 + 100GR2 + + + + + 124 + 50GR1 + + + + - 44 + 125 AVAGO profile_default - 25GR1 + 400GR8 + true + + 125 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 126 + 50GR1 + + + + + + 127 + 50GR1 + 100GR2 + + + + + 128 + 50GR1 + + + + + + 129 + 50GR1 + 100GR2 + 200GR4 + + + + 130 + 50GR1 + + + + + + 131 + 50GR1 + 100GR2 + + + + + 132 + 50GR1 + + + + - 45 + 133 AVAGO profile_default - 25GR1 - - - 46 + 400GR8 + true + + 133 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 134 + 50GR1 + + + + + + 135 + 50GR1 + 100GR2 + + + + + 136 + 50GR1 + + + + + + 137 + 50GR1 + 100GR2 + 200GR4 + + + + 138 + 50GR1 + + + + + + 139 + 50GR1 + 100GR2 + + + + + 140 + 50GR1 + + + + + + + 141 AVAGO profile_default - 25GR1 - - - 47 + 400GR8 + true + + 141 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 142 + 50GR1 + + + + + + 143 + 50GR1 + 100GR2 + + + + + 144 + 50GR1 + + + + + + 145 + 50GR1 + 100GR2 + 200GR4 + + + + 146 + 50GR1 + + + + + + 147 + 50GR1 + 100GR2 + + + + + 148 + 50GR1 + + + + + + + 149 AVAGO profile_default - 25GR1 - - - 48 + 400GR8 + true + + 149 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 150 + 50GR1 + + + + + + 151 + 50GR1 + 100GR2 + + + + + 152 + 50GR1 + + + + + + 153 + 50GR1 + 100GR2 + 200GR4 + + + + 154 + 50GR1 + + + + + + 155 + 50GR1 + 100GR2 + + + + + 156 + 50GR1 + + + + + + + 157 AVAGO profile_default - 25GR1 - - - 49 + 400GR8 + true + + 157 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 158 + 50GR1 + + + + + + 159 + 50GR1 + 100GR2 + + + + + 160 + 50GR1 + + + + + + 161 + 50GR1 + 100GR2 + 200GR4 + + + + 162 + 50GR1 + + + + + + 163 + 50GR1 + 100GR2 + + + + + 164 + 50GR1 + + + + + + + 165 AVAGO profile_default - 25GR1 - - - 50 + 400GR8 + true + + 165 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 166 + 50GR1 + + + + + + 167 + 50GR1 + 100GR2 + + + + + 168 + 50GR1 + + + + + + 169 + 50GR1 + 100GR2 + 200GR4 + + + + 170 + 50GR1 + + + + + + 171 + 50GR1 + 100GR2 + + + + + 172 + 50GR1 + + + + + + + 173 AVAGO profile_default - 25GR1 - - - 51 + 400GR8 + true + + 173 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 174 + 50GR1 + + + + + + 175 + 50GR1 + 100GR2 + + + + + 176 + 50GR1 + + + + + + 177 + 50GR1 + 100GR2 + 200GR4 + + + + 178 + 50GR1 + + + + + + 179 + 50GR1 + 100GR2 + + + + + 180 + 50GR1 + + + + + + + 181 AVAGO profile_default - 25GR1 - - - 52 + 400GR8 + true + + 181 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 182 + 50GR1 + + + + + + 183 + 50GR1 + 100GR2 + + + + + 184 + 50GR1 + + + + + + 185 + 50GR1 + 100GR2 + 200GR4 + + + + 186 + 50GR1 + + + + + + 187 + 50GR1 + 100GR2 + + + + + 188 + 50GR1 + + + + + + + 189 AVAGO profile_default - 25GR1 - - - 53 + 400GR8 + true + + 189 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 190 + 50GR1 + + + + + + 191 + 50GR1 + 100GR2 + + + + + 192 + 50GR1 + + + + + + 193 + 50GR1 + 100GR2 + 200GR4 + + + + 194 + 50GR1 + + + + + + 195 + 50GR1 + 100GR2 + + + + + 196 + 50GR1 + + + + + + + 197 AVAGO profile_default - 25GR1 - - - 54 + 400GR8 + true + + 197 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 198 + 50GR1 + + + + + + 199 + 50GR1 + 100GR2 + + + + + 200 + 50GR1 + + + + + + 201 + 50GR1 + 100GR2 + 200GR4 + + + + 202 + 50GR1 + + + + + + 203 + 50GR1 + 100GR2 + + + + + 204 + 50GR1 + + + + + + + 205 AVAGO profile_default - 25GR1 - - - 55 + 400GR8 + true + + 205 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 206 + 50GR1 + + + + + + 207 + 50GR1 + 100GR2 + + + + + 208 + 50GR1 + + + + + + 209 + 50GR1 + 100GR2 + 200GR4 + + + + 210 + 50GR1 + + + + + + 211 + 50GR1 + 100GR2 + + + + + 212 + 50GR1 + + + + + + + 213 AVAGO profile_default - 25GR1 - - - 56 + 400GR8 + true + + 213 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 214 + 50GR1 + + + + + + 215 + 50GR1 + 100GR2 + + + + + 216 + 50GR1 + + + + + + 217 + 50GR1 + 100GR2 + 200GR4 + + + + 218 + 50GR1 + + + + + + 219 + 50GR1 + 100GR2 + + + + + 220 + 50GR1 + + + + + + + 221 AVAGO profile_default - 25GR1 - - - 57 - AVAGO - profile_default - 25GR1 - - - 58 - AVAGO - profile_default - 25GR1 - - - 59 - AVAGO - profile_default - 25GR1 - - - 60 - AVAGO - profile_default - 25GR1 - - - 64 - AVAGO - profile_default - 25GR1 - - - 65 - AVAGO - profile_default - 25GR1 - - - 66 - AVAGO - profile_default - 25GR1 - - - 67 - AVAGO - profile_default - 50GR1 - - - 68 - AVAGO - profile_default - 50GR1 - - - 69 - AVAGO - profile_default - 50GR1 - - - 70 - AVAGO - profile_default - 50GR1 - - - 71 - AVAGO - profile_default - 50GR1 - - - 72 - AVAGO - profile_default - 50GR1 - - - 73 - AVAGO - profile_default - 50GR1 - - - 74 - AVAGO - profile_default - 50GR1 - - - 75 - AVAGO - profile_default - 50GR1 - - - 76 - AVAGO - profile_default - 50GR1 - - - 77 - AVAGO - profile_default - 50GR1 - - - 78 - AVAGO - profile_default - 50GR1 - - - 79 - AVAGO - profile_default - 50GR1 - - - 80 - AVAGO - profile_default - 50GR1 - - - 81 - AVAGO - profile_default - 50GR1 - - - 82 - AVAGO - profile_default - 50GR1 - - - 83 - AVAGO - profile_default - 50GR1 - - - 84 - AVAGO - profile_default - 50GR1 - - - 85 - AVAGO - profile_default - 50GR1 - - - 86 - AVAGO - profile_default - 50GR1 - - - 87 - AVAGO - profile_default - 50GR1 - - - 88 - AVAGO - profile_default - 50GR1 - - - 89 - AVAGO - profile_default - 50GR1 - - - 90 - AVAGO - profile_default - 50GR1 - - - 91 - AVAGO - profile_default - 50GR1 - - - 92 - AVAGO - profile_default - 50GR1 - - - 93 - AVAGO - profile_default - 50GR1 - - - 94 - AVAGO - profile_default - 50GR1 - - - 95 - AVAGO - profile_default - 50GR1 - - - 96 - AVAGO - profile_default - 50GR1 - - - 97 - AVAGO - profile_default - 50GR1 - - - 98 - AVAGO - profile_default - 50GR1 - - - 99 - AVAGO - profile_default - 100GR2 - - - 100 - AVAGO - profile_default - 100GR2 - - - 101 - AVAGO - profile_default - 100GR2 - - - 102 - AVAGO - profile_default - 100GR2 - - - 103 - AVAGO - profile_default - 100GR2 - - - 104 - AVAGO - profile_default - 100GR2 - - - 105 - AVAGO - profile_default - 100GR2 - - - 106 - AVAGO - profile_default - 100GR2 - - - 107 - AVAGO - profile_default - 100GR2 - - - 108 - AVAGO - profile_default - 100GR2 - - - 109 - AVAGO - profile_default - 100GR2 - - - 110 - AVAGO - profile_default - 100GR2 - - - 111 - AVAGO - profile_default - 100GR2 - - - 112 - AVAGO - profile_default - 100GR2 - - - 113 - AVAGO - profile_default - 100GR2 - - - 114 - AVAGO - profile_default - 100GR2 - - - 115 - AVAGO - profile_default - 100GR4 - - - 116 - AVAGO - profile_default - 100GR4 - - - 117 - AVAGO - profile_default - 100GR4 - - - 118 - AVAGO - profile_default - 100GR4 - - - 119 - AVAGO - profile_default - 100GR4 - - - 120 - AVAGO - profile_default - 100GR4 - - - 121 - AVAGO - profile_default - 100GR4 - - - 122 - AVAGO - profile_default - 100GR4 - - - 123 - AVAGO - profile_default - 200GR4 - - - 124 - AVAGO - profile_default - 200GR4 - - - 125 - AVAGO - profile_default - 200GR4 - - - 126 - AVAGO - profile_default - 200GR4 - - - 127 - AVAGO - profile_default - 200GR4 - - - 128 - AVAGO - profile_default - 200GR4 - - - 129 - AVAGO - profile_default - 200GR4 - - - 130 - AVAGO - profile_default - 200GR4 - - - 131 - AVAGO - profile_default - 400GR8 - - - 132 - AVAGO - profile_default - 400GR8 - - - 133 - AVAGO - profile_default - 400GR8 - - - 134 - AVAGO - profile_default - 400GR8 - - - 135 - AVAGO - profile_default - 400GR8 - - - 136 + 400GR8 + true + + 221 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 222 + 50GR1 + + + + + + 223 + 50GR1 + 100GR2 + + + + + 224 + 50GR1 + + + + + + 225 + 50GR1 + 100GR2 + 200GR4 + + + + 226 + 50GR1 + + + + + + 227 + 50GR1 + 100GR2 + + + + + 228 + 50GR1 + + + + + + + 229 AVAGO profile_default 400GR8 - - - 137 - AVAGO - profile_default - 400GR8 - - - 138 - AVAGO - profile_default - 400GR8 - - - 139 + true + + 229 + 50GR1 + 100GR2 + 200GR4 + 400GR8 + + + 230 + 50GR1 + + + + + + 231 + 50GR1 + 100GR2 + + + + + 232 + 50GR1 + + + + + + 233 + 50GR1 + 100GR2 + 200GR4 + + + + 234 + 50GR1 + + + + + + 235 + 50GR1 + 100GR2 + + + + + 236 + 50GR1 + + + + + + + 237 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.md5 index 9980130ff5c3..f541671c6925 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.md5 @@ -1 +1 @@ -fa06a79dae1d9859fa0d579044b41e62 \ No newline at end of file +8bfaf5b9fd1eff2082ed8e5ab6943c23 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.xml index 6bc02e574fde..d04a1d95899b 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/ASK-PP-F12_8T-DB.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.md5 index b8354262f261..02e4365bdfdb 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.md5 @@ -1 +1 @@ -77abb2b5b75369072fc4e2e498e86204 \ No newline at end of file +b296c20e5fe6b33cf6eec409b23af93f \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.xml index b603467c45ed..495f140fb1cb 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/SAI-F12_8T-DB.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -164,687 +194,1177 @@ 0 0 - 31 - - - 1 - 0 - 30 + 0 2 0 - 29 - - - 3 - 0 - 28 + 1 4 0 - 27 - - - 5 - 0 - 26 + 2 6 0 - 25 - - - 7 - 0 - 24 + 3 8 0 - 23 - - - 9 - 0 - 22 + 4 10 0 - 21 - - - 11 - 0 - 20 + 5 12 0 - 19 - - - 13 - 0 - 18 + 6 14 0 - 17 - - - 15 - 0 - 16 + 7 16 0 - 15 - - - 17 - 0 - 14 - - - 18 - 0 - 13 - - - 19 - 0 - 12 - - - 20 - 0 - 11 - - - 21 - 0 - 10 - - - 22 - 0 - 9 - - - 23 - 0 8 24 0 - 7 - - - 25 - 0 - 6 - - - 26 - 0 - 5 - - - 27 - 0 - 4 - - - 28 - 0 - 3 - - - 29 - 0 - 2 - - - 30 - 0 - 1 - - - 31 - 0 - 0 + 9 32 0 - 66 + 10 33 0 - 65 + 11 34 0 - 64 + 12 35 0 - 60 + 13 36 0 - 59 + 14 37 0 - 58 + 15 38 0 - 57 + 16 39 0 - 56 + 17 40 0 - 55 + 18 41 0 - 54 + 19 42 0 - 53 + 20 43 0 - 52 + 21 44 0 - 51 + 22 45 0 - 50 + 23 46 0 - 49 + 24 47 0 - 48 + 25 48 0 - 47 + 26 49 0 - 46 + 27 50 0 - 45 + 28 51 0 - 44 + 29 52 0 - 43 + 30 53 0 - 42 + 31 54 0 - 41 + 32 55 0 - 40 + 33 56 0 - 39 + 34 57 0 - 38 + 35 58 0 - 37 + 36 59 0 - 36 + 37 60 0 - 35 + 38 61 0 - 34 + 39 62 0 - 33 + 40 63 0 - 32 + 41 64 0 - 98 + 42 65 0 - 97 + 43 66 0 - 96 + 44 67 0 - 95 + 45 68 0 - 94 + 46 69 0 - 93 + 47 70 0 - 92 + 48 71 0 - 91 + 49 72 0 - 90 + 50 73 0 - 89 + 51 74 0 - 88 + 52 75 0 - 87 + 53 76 0 - 86 + 54 77 0 - 85 + 55 78 0 - 84 + 56 79 0 - 83 + 57 80 0 - 82 + 58 81 0 - 81 + 59 82 0 - 80 + 60 83 0 - 79 + 64 84 0 - 78 + 65 85 0 - 77 + 66 86 0 - 76 + 67 87 0 - 75 + 68 88 0 - 74 + 69 89 0 - 73 + 70 90 0 - 72 + 71 91 0 - 71 + 72 92 0 - 70 + 73 93 0 - 69 + 74 94 0 - 68 + 75 95 0 - 67 + 76 96 0 - 114 + 77 + + + 97 + 0 + 78 98 0 - 113 + 79 + + + 99 + 0 + 80 100 0 - 112 + 81 + + + 101 + 0 + 82 102 0 - 111 + 83 + + + 103 + 0 + 84 104 0 - 110 + 85 + + + 105 + 0 + 86 106 0 - 109 + 87 + + + 107 + 0 + 88 108 0 - 108 + 89 + + + 109 + 0 + 90 110 0 - 107 + 91 + + + 111 + 0 + 92 112 0 - 106 + 93 + + + 113 + 0 + 94 114 0 - 105 + 95 + + + 115 + 0 + 96 116 0 - 104 + 97 + + + 117 + 0 + 98 118 0 - 103 + 99 + + + 119 + 0 + 100 120 0 + 101 + + + 121 + 0 102 122 0 - 101 + 103 + + + 123 + 0 + 104 124 0 - 100 + 105 + + + 125 + 0 + 106 126 0 - 99 + 107 + + + 127 + 0 + 108 128 0 - 122 + 109 + + + 129 + 0 + 110 + + + 130 + 0 + 111 + + + 131 + 0 + 112 132 0 - 121 + 113 + + + 133 + 0 + 114 + + + 134 + 0 + 115 + + + 135 + 0 + 116 136 0 + 117 + + + 137 + 0 + 118 + + + 138 + 0 + 119 + + + 139 + 0 120 140 0 - 119 + 121 + + + 141 + 0 + 122 + + + 142 + 0 + 123 + + + 143 + 0 + 124 144 0 - 118 + 125 + + + 145 + 0 + 126 + + + 146 + 0 + 127 + + + 147 + 0 + 128 148 0 - 117 + 129 + + + 149 + 0 + 130 + + + 150 + 0 + 131 + + + 151 + 0 + 132 152 0 - 116 + 133 + + + 153 + 0 + 134 + + + 154 + 0 + 135 + + + 155 + 0 + 136 156 0 - 115 + 137 + + + 157 + 0 + 138 + + + 158 + 0 + 139 + + + 159 + 0 + 140 160 0 - 130 + 141 + + + 161 + 0 + 142 + + + 162 + 0 + 143 + + + 163 + 0 + 144 164 0 - 129 + 145 + + + 165 + 0 + 146 + + + 166 + 0 + 147 + + + 167 + 0 + 148 168 0 - 128 + 149 + + + 169 + 0 + 150 + + + 170 + 0 + 151 + + + 171 + 0 + 152 172 0 - 127 + 153 + + + 173 + 0 + 154 + + + 174 + 0 + 155 + + + 175 + 0 + 156 176 0 - 126 + 157 + + + 177 + 0 + 158 + + + 178 + 0 + 159 + + + 179 + 0 + 160 180 0 - 125 + 161 + + + 181 + 0 + 162 + + + 182 + 0 + 163 + + + 183 + 0 + 164 184 0 - 124 + 165 + + + 185 + 0 + 166 + + + 186 + 0 + 167 + + + 187 + 0 + 168 188 0 - 123 + 169 + + + 189 + 0 + 170 + + + 190 + 0 + 171 + + + 191 + 0 + 172 192 0 - 138 + 173 + + + 193 + 0 + 174 + + + 194 + 0 + 175 + + + 195 + 0 + 176 + + + 196 + 0 + 177 + + + 197 + 0 + 178 + + + 198 + 0 + 179 + + + 199 + 0 + 180 200 0 - 137 + 181 + + + 201 + 0 + 182 + + + 202 + 0 + 183 + + + 203 + 0 + 184 + + + 204 + 0 + 185 + + + 205 + 0 + 186 + + + 206 + 0 + 187 + + + 207 + 0 + 188 208 0 - 136 + 189 + + + 209 + 0 + 190 + + + 210 + 0 + 191 + + + 211 + 0 + 192 + + + 212 + 0 + 193 + + + 213 + 0 + 194 + + + 214 + 0 + 195 + + + 215 + 0 + 196 216 0 - 135 + 197 + + + 217 + 0 + 198 + + + 218 + 0 + 199 + + + 219 + 0 + 200 + + + 220 + 0 + 201 + + + 221 + 0 + 202 + + + 222 + 0 + 203 + + + 223 + 0 + 204 224 0 - 134 + 205 + + + 225 + 0 + 206 + + + 226 + 0 + 207 + + + 227 + 0 + 208 + + + 228 + 0 + 209 + + + 229 + 0 + 210 + + + 230 + 0 + 211 + + + 231 + 0 + 212 232 0 - 133 + 213 + + + 233 + 0 + 214 + + + 234 + 0 + 215 + + + 235 + 0 + 216 + + + 236 + 0 + 217 + + + 237 + 0 + 218 + + + 238 + 0 + 219 + + + 239 + 0 + 220 240 0 - 132 + 221 + + + 241 + 0 + 222 + + + 242 + 0 + 223 + + + 243 + 0 + 224 + + + 244 + 0 + 225 + + + 245 + 0 + 226 + + + 246 + 0 + 227 + + + 247 + 0 + 228 248 0 - 131 + 229 + + + 249 + 0 + 230 + + + 250 + 0 + 231 + + + 251 + 0 + 232 + + + 252 + 0 + 233 + + + 253 + 0 + 234 + + + 254 + 0 + 235 + + + 255 + 0 + 236 256 0 - 139 + 237 @@ -862,6 +1382,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t0.j2 index 5e24d992559a..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"85000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t1.j2 index 5e24d992559a..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"85000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/hwsku.json b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/hwsku.json new file mode 100644 index 000000000000..0181b7a79248 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/hwsku.json @@ -0,0 +1,1410 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "4x100G", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet2": { + "default_brkout_mode": "4x100G", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet4": { + "default_brkout_mode": "4x100G", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet6": { + "default_brkout_mode": "4x100G", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet8": { + "default_brkout_mode": "4x100G", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet10": { + "default_brkout_mode": "4x100G", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet12": { + "default_brkout_mode": "4x100G", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet14": { + "default_brkout_mode": "4x100G", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet16": { + "default_brkout_mode": "1x400G", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet24": { + "default_brkout_mode": "1x400G", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet32": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet33": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet34": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet35": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet36": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet37": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet38": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet39": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet40": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet41": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet42": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet43": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet44": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet45": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet46": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet47": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet48": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet49": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet50": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet51": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet52": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet53": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet54": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet55": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet56": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet57": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet58": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet59": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet60": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet61": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet62": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet63": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet64": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet65": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet66": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet67": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet68": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet69": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet70": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet71": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet72": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet73": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet74": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet75": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet76": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet77": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet78": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet79": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet80": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet81": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet82": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet83": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet84": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet85": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet86": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet87": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet88": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet89": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet90": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet91": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet92": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet93": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet94": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet95": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet96": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet97": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet98": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet99": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet100": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet101": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet102": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet103": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet104": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet105": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet106": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet107": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet108": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet109": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet110": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet111": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet112": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet113": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet114": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet115": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet116": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet117": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet118": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet119": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet120": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet121": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet122": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet123": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet124": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet125": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet126": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet127": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet128": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet129": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet130": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet131": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet132": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet133": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet134": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet135": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet136": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet137": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet138": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet139": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet140": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet141": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet142": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet143": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet144": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet145": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet146": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet147": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet148": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet149": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet150": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet151": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet152": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet153": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet154": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet155": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet156": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet157": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet158": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet159": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet160": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet161": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet162": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet163": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet164": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet165": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet166": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet167": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet168": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet169": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet170": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet171": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet172": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet173": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet174": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet175": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet176": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet177": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet178": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet179": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet180": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet181": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet182": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet183": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet184": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet185": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet186": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet187": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet188": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet189": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet190": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet191": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet192": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet193": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet194": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet195": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet196": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet197": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet198": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet199": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet200": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet201": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet202": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet203": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet204": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet205": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet206": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet207": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet208": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet209": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet210": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet211": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet212": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet213": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet214": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet215": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet216": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet217": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet218": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet219": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet220": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet221": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet222": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet223": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet224": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet225": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet226": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet227": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet228": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet229": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet230": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet231": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet232": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet233": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet234": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet235": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet236": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet237": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet238": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet239": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet240": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet241": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet242": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet243": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet244": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet245": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet246": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet247": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet248": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "1", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet249": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "2", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet250": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "3", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet251": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "4", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet252": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "5", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet253": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "6", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet254": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "7", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet255": { + "default_brkout_mode": "8x50G[25G,10G,1G]", + "subport": "8", + "autoneg": "on", + "fec": "rs" + }, + "Ethernet256": { + "default_brkout_mode": "1x10G", + "autoneg": "off" + } + } +} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/port_config.ini b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/port_config.ini index 57fb6e2c46f2..85820e5e2b2e 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/port_config.ini +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FALCON_DB/port_config.ini @@ -1,138 +1,236 @@ -# name lanes alias speed autoneg fec index -Ethernet0 0 tenGigE0 10000 on none 1 -Ethernet1 1 tenGigE1 10000 on none 2 -Ethernet2 2 tenGigE2 10000 on none 3 -Ethernet3 3 tenGigE3 10000 on none 4 -Ethernet4 4 tenGigE4 10000 on none 5 -Ethernet5 5 tenGigE5 10000 on none 6 -Ethernet6 6 tenGigE6 10000 on none 7 -Ethernet7 7 tenGigE7 10000 on none 8 -Ethernet8 8 tenGigE8 10000 on none 9 -Ethernet9 9 tenGigE9 10000 on none 10 -Ethernet10 10 tenGigE10 10000 on none 11 -Ethernet11 11 tenGigE11 10000 on none 12 -Ethernet12 12 tenGigE12 10000 on none 13 -Ethernet13 13 tenGigE13 10000 on none 14 -Ethernet14 14 tenGigE14 10000 on none 15 -Ethernet15 15 tenGigE15 10000 on none 16 -Ethernet16 16 tenGigE16 10000 on none 17 -Ethernet17 17 tenGigE17 10000 on none 18 -Ethernet18 18 tenGigE18 10000 on none 19 -Ethernet19 19 tenGigE19 10000 on none 20 -Ethernet20 20 tenGigE20 10000 on none 21 -Ethernet21 21 tenGigE21 10000 on none 22 -Ethernet22 22 tenGigE22 10000 on none 23 -Ethernet23 23 tenGigE23 10000 on none 24 -Ethernet24 24 tenGigE24 10000 on none 25 -Ethernet25 25 tenGigE25 10000 on none 26 -Ethernet26 26 tenGigE26 10000 on none 27 -Ethernet27 27 tenGigE27 10000 on none 28 -Ethernet28 28 tenGigE28 10000 on none 29 -Ethernet29 29 tenGigE29 10000 on none 30 -Ethernet30 30 tenGigE30 10000 on none 31 -Ethernet31 31 tenGigE31 10000 on none 32 -Ethernet32 32 twenty5GigE32 25000 on none 33 -Ethernet33 33 twenty5GigE33 25000 on none 34 -Ethernet34 34 twenty5GigE34 25000 on none 35 -Ethernet35 35 twenty5GigE35 25000 on none 36 -Ethernet36 36 twenty5GigE36 25000 on none 37 -Ethernet37 37 twenty5GigE37 25000 on none 38 -Ethernet38 38 twenty5GigE38 25000 on none 39 -Ethernet39 39 twenty5GigE39 25000 on none 40 -Ethernet40 40 twenty5GigE40 25000 on none 41 -Ethernet41 41 twenty5GigE41 25000 on none 42 -Ethernet42 42 twenty5GigE42 25000 on none 43 -Ethernet43 43 twenty5GigE43 25000 on none 44 -Ethernet44 44 twenty5GigE44 25000 on none 45 -Ethernet45 45 twenty5GigE45 25000 on none 46 -Ethernet46 46 twenty5GigE46 25000 on none 47 -Ethernet47 47 twenty5GigE47 25000 on none 48 -Ethernet48 48 twenty5GigE48 25000 on none 49 -Ethernet49 49 twenty5GigE49 25000 on none 50 -Ethernet50 50 twenty5GigE50 25000 on none 51 -Ethernet51 51 twenty5GigE51 25000 on none 52 -Ethernet52 52 twenty5GigE52 25000 on none 53 -Ethernet53 53 twenty5GigE53 25000 on none 54 -Ethernet54 54 twenty5GigE54 25000 on none 55 -Ethernet55 55 twenty5GigE55 25000 on none 56 -Ethernet56 56 twenty5GigE56 25000 on none 57 -Ethernet57 57 twenty5GigE57 25000 on none 58 -Ethernet58 58 twenty5GigE58 25000 on none 59 -Ethernet59 59 twenty5GigE59 25000 on none 60 -Ethernet60 60 twenty5GigE60 25000 on none 61 -Ethernet61 61 twenty5GigE61 25000 on none 62 -Ethernet62 62 twenty5GigE62 25000 on none 63 -Ethernet63 63 twenty5GigE63 25000 on none 64 -Ethernet64 64 fiftyGigE64 50000 on rs 65 -Ethernet65 65 fiftyGigE65 50000 on rs 66 -Ethernet66 66 fiftyGigE66 50000 on rs 67 -Ethernet67 67 fiftyGigE67 50000 on rs 68 -Ethernet68 68 fiftyGigE68 50000 on rs 69 -Ethernet69 69 fiftyGigE69 50000 on rs 70 -Ethernet70 70 fiftyGigE70 50000 on rs 71 -Ethernet71 71 fiftyGigE71 50000 on rs 72 -Ethernet72 72 fiftyGigE72 50000 on rs 73 -Ethernet73 73 fiftyGigE73 50000 on rs 74 -Ethernet74 74 fiftyGigE74 50000 on rs 75 -Ethernet75 75 fiftyGigE75 50000 on rs 76 -Ethernet76 76 fiftyGigE76 50000 on rs 77 -Ethernet77 77 fiftyGigE77 50000 on rs 78 -Ethernet78 78 fiftyGigE78 50000 on rs 79 -Ethernet79 79 fiftyGigE79 50000 on rs 80 -Ethernet80 80 fiftyGigE80 50000 on rs 81 -Ethernet81 81 fiftyGigE81 50000 on rs 82 -Ethernet82 82 fiftyGigE82 50000 on rs 83 -Ethernet83 83 fiftyGigE83 50000 on rs 84 -Ethernet84 84 fiftyGigE84 50000 on rs 85 -Ethernet85 85 fiftyGigE85 50000 on rs 86 -Ethernet86 86 fiftyGigE86 50000 on rs 87 -Ethernet87 87 fiftyGigE87 50000 on rs 88 -Ethernet88 88 fiftyGigE88 50000 on rs 89 -Ethernet89 89 fiftyGigE89 50000 on rs 90 -Ethernet90 90 fiftyGigE90 50000 on rs 91 -Ethernet91 91 fiftyGigE91 50000 on rs 92 -Ethernet92 92 fiftyGigE92 50000 on rs 93 -Ethernet93 93 fiftyGigE93 50000 on rs 94 -Ethernet94 94 fiftyGigE94 50000 on rs 95 -Ethernet95 95 fiftyGigE95 50000 on rs 96 -Ethernet96 96,97 one00GigE96 100000 on rs 97 -Ethernet97 98,99 one00GigE97 100000 on rs 98 -Ethernet98 100,101 one00GigE98 100000 on rs 99 -Ethernet99 102,103 one00GigE99 100000 on rs 100 -Ethernet100 104,105 one00GigE100 100000 on rs 101 -Ethernet101 106,107 one00GigE101 100000 on rs 102 -Ethernet102 108,109 one00GigE102 100000 on rs 103 -Ethernet103 110,111 one00GigE103 100000 on rs 104 -Ethernet104 112,113 one00GigE104 100000 on rs 105 -Ethernet105 114,115 one00GigE105 100000 on rs 106 -Ethernet106 116,117 one00GigE106 100000 on rs 107 -Ethernet107 118,119 one00GigE107 100000 on rs 108 -Ethernet108 120,121 one00GigE108 100000 on rs 109 -Ethernet109 122,123 one00GigE109 100000 on rs 110 -Ethernet110 124,125 one00GigE110 100000 on rs 111 -Ethernet111 126,127 one00GigE111 100000 on rs 112 -Ethernet112 128,129,130,131 one00GigE112 100000 on rs 113 -Ethernet113 132,133,134,135 one00GigE113 100000 on rs 114 -Ethernet114 136,137,138,139 one00GigE114 100000 on rs 115 -Ethernet115 140,141,142,143 one00GigE115 100000 on rs 116 -Ethernet116 144,145,146,147 one00GigE116 100000 on rs 117 -Ethernet117 148,149,150,151 one00GigE117 100000 on rs 118 -Ethernet118 152,153,154,155 one00GigE118 100000 on rs 119 -Ethernet119 156,157,158,159 one00GigE119 100000 on rs 120 -Ethernet120 160,161,162,163 two00GigE120 200000 on rs 121 -Ethernet121 164,165,166,167 two00GigE121 200000 on rs 122 -Ethernet122 168,169,170,171 two00GigE122 200000 on rs 123 -Ethernet123 172,173,174,175 two00GigE123 200000 on rs 124 -Ethernet124 176,177,178,179 two00GigE124 200000 on rs 125 -Ethernet125 180,181,182,183 two00GigE125 200000 on rs 126 -Ethernet126 184,185,186,187 two00GigE126 200000 on rs 127 -Ethernet127 188,189,190,191 two00GigE127 200000 on rs 128 -Ethernet128 192,193,194,195,196,197,198,199 four00GigE128 400000 on rs 129 -Ethernet129 200,201,202,203,204,205,206,207 four00GigE129 400000 on rs 130 -Ethernet130 208,209,210,211,212,213,214,215 four00GigE130 400000 on rs 131 -Ethernet131 216,217,218,219,220,221,222,223 four00GigE131 400000 on rs 132 -Ethernet132 224,225,226,227,228,229,230,231 four00GigE132 400000 on rs 133 -Ethernet133 232,233,234,235,236,237,238,239 four00GigE133 400000 on rs 134 -Ethernet134 240,241,242,243,244,245,246,247 four00GigE134 400000 on rs 135 -Ethernet135 248,249,250,251,252,253,254,255 four00GigE135 400000 on rs 136 -Ethernet136 256 tenGigE136 10000 off none 137 +# name lanes alias speed autoneg fec index +Ethernet0 0,1 Eth1/1 100000 on rs 1 +Ethernet2 2,3 Eth1/2 100000 on rs 1 +Ethernet4 4,5 Eth1/3 100000 on rs 1 +Ethernet6 6,7 Eth1/4 100000 on rs 1 +Ethernet8 8,9 Eth2/1 100000 on rs 2 +Ethernet10 10,11 Eth2/2 100000 on rs 2 +Ethernet12 12,13 Eth2/3 100000 on rs 2 +Ethernet14 14,15 Eth2/4 100000 on rs 2 +Ethernet16 16,17,18,19,20,21,22,23 Eth3 400000 on rs 3 +Ethernet24 24,25,26,27,28,29,30,31 Eth4 400000 on rs 4 +Ethernet32 32 Eth5/1 50000 on rs 5 +Ethernet33 33 Eth5/2 50000 on rs 5 +Ethernet34 34 Eth5/3 50000 on rs 5 +Ethernet35 35 Eth5/4 50000 on rs 5 +Ethernet36 36 Eth5/5 50000 on rs 5 +Ethernet37 37 Eth5/6 50000 on rs 5 +Ethernet38 38 Eth5/7 50000 on rs 5 +Ethernet39 39 Eth5/8 50000 on rs 5 +Ethernet40 40 Eth6/1 50000 on rs 6 +Ethernet41 41 Eth6/2 50000 on rs 6 +Ethernet42 42 Eth6/3 50000 on rs 6 +Ethernet43 43 Eth6/4 50000 on rs 6 +Ethernet44 44 Eth6/5 50000 on rs 6 +Ethernet45 45 Eth6/6 50000 on rs 6 +Ethernet46 46 Eth6/7 50000 on rs 6 +Ethernet47 47 Eth6/8 50000 on rs 6 +Ethernet48 48 Eth7/1 50000 on rs 7 +Ethernet49 49 Eth7/2 50000 on rs 7 +Ethernet50 50 Eth7/3 50000 on rs 7 +Ethernet51 51 Eth7/4 50000 on rs 7 +Ethernet52 52 Eth7/5 50000 on rs 7 +Ethernet53 53 Eth7/6 50000 on rs 7 +Ethernet54 54 Eth7/7 50000 on rs 7 +Ethernet55 55 Eth7/8 50000 on rs 7 +Ethernet56 56 Eth8/1 50000 on rs 8 +Ethernet57 57 Eth8/2 50000 on rs 8 +Ethernet58 58 Eth8/3 50000 on rs 8 +Ethernet59 59 Eth8/4 50000 on rs 8 +Ethernet60 60 Eth8/5 50000 on rs 8 +Ethernet61 61 Eth8/6 50000 on rs 8 +Ethernet62 62 Eth8/7 50000 on rs 8 +Ethernet63 63 Eth8/8 50000 on rs 8 +Ethernet64 64 Eth9/1 50000 on rs 9 +Ethernet65 65 Eth9/2 50000 on rs 9 +Ethernet66 66 Eth9/3 50000 on rs 9 +Ethernet67 67 Eth9/4 50000 on rs 9 +Ethernet68 68 Eth9/5 50000 on rs 9 +Ethernet69 69 Eth9/6 50000 on rs 9 +Ethernet70 70 Eth9/7 50000 on rs 9 +Ethernet71 71 Eth9/8 50000 on rs 9 +Ethernet72 72 Eth10/1 50000 on rs 10 +Ethernet73 73 Eth10/2 50000 on rs 10 +Ethernet74 74 Eth10/3 50000 on rs 10 +Ethernet75 75 Eth10/4 50000 on rs 10 +Ethernet76 76 Eth10/5 50000 on rs 10 +Ethernet77 77 Eth10/6 50000 on rs 10 +Ethernet78 78 Eth10/7 50000 on rs 10 +Ethernet79 79 Eth10/8 50000 on rs 10 +Ethernet80 80 Eth11/1 50000 on rs 11 +Ethernet81 81 Eth11/2 50000 on rs 11 +Ethernet82 82 Eth11/3 50000 on rs 11 +Ethernet83 83 Eth11/4 50000 on rs 11 +Ethernet84 84 Eth11/5 50000 on rs 11 +Ethernet85 85 Eth11/6 50000 on rs 11 +Ethernet86 86 Eth11/7 50000 on rs 11 +Ethernet87 87 Eth11/8 50000 on rs 11 +Ethernet88 88 Eth12/1 50000 on rs 12 +Ethernet89 89 Eth12/2 50000 on rs 12 +Ethernet90 90 Eth12/3 50000 on rs 12 +Ethernet91 91 Eth12/4 50000 on rs 12 +Ethernet92 92 Eth12/5 50000 on rs 12 +Ethernet93 93 Eth12/6 50000 on rs 12 +Ethernet94 94 Eth12/7 50000 on rs 12 +Ethernet95 95 Eth12/8 50000 on rs 12 +Ethernet96 96 Eth13/1 50000 on rs 13 +Ethernet97 97 Eth13/2 50000 on rs 13 +Ethernet98 98 Eth13/3 50000 on rs 13 +Ethernet99 99 Eth13/4 50000 on rs 13 +Ethernet100 100 Eth13/5 50000 on rs 13 +Ethernet101 101 Eth13/6 50000 on rs 13 +Ethernet102 102 Eth13/7 50000 on rs 13 +Ethernet103 103 Eth13/8 50000 on rs 13 +Ethernet104 104 Eth14/1 50000 on rs 14 +Ethernet105 105 Eth14/2 50000 on rs 14 +Ethernet106 106 Eth14/3 50000 on rs 14 +Ethernet107 107 Eth14/4 50000 on rs 14 +Ethernet108 108 Eth14/5 50000 on rs 14 +Ethernet109 109 Eth14/6 50000 on rs 14 +Ethernet110 110 Eth14/7 50000 on rs 14 +Ethernet111 111 Eth14/8 50000 on rs 14 +Ethernet112 112 Eth15/1 50000 on rs 15 +Ethernet113 113 Eth15/2 50000 on rs 15 +Ethernet114 114 Eth15/3 50000 on rs 15 +Ethernet115 115 Eth15/4 50000 on rs 15 +Ethernet116 116 Eth15/5 50000 on rs 15 +Ethernet117 117 Eth15/6 50000 on rs 15 +Ethernet118 118 Eth15/7 50000 on rs 15 +Ethernet119 119 Eth15/8 50000 on rs 15 +Ethernet120 120 Eth16/1 50000 on rs 16 +Ethernet121 121 Eth16/2 50000 on rs 16 +Ethernet122 122 Eth16/3 50000 on rs 16 +Ethernet123 123 Eth16/4 50000 on rs 16 +Ethernet124 124 Eth16/5 50000 on rs 16 +Ethernet125 125 Eth16/6 50000 on rs 16 +Ethernet126 126 Eth16/7 50000 on rs 16 +Ethernet127 127 Eth16/8 50000 on rs 16 +Ethernet128 128 Eth17/1 50000 on rs 17 +Ethernet129 129 Eth17/2 50000 on rs 17 +Ethernet130 130 Eth17/3 50000 on rs 17 +Ethernet131 131 Eth17/4 50000 on rs 17 +Ethernet132 132 Eth17/5 50000 on rs 17 +Ethernet133 133 Eth17/6 50000 on rs 17 +Ethernet134 134 Eth17/7 50000 on rs 17 +Ethernet135 135 Eth17/8 50000 on rs 17 +Ethernet136 136 Eth18/1 50000 on rs 18 +Ethernet137 137 Eth18/2 50000 on rs 18 +Ethernet138 138 Eth18/3 50000 on rs 18 +Ethernet139 139 Eth18/4 50000 on rs 18 +Ethernet140 140 Eth18/5 50000 on rs 18 +Ethernet141 141 Eth18/6 50000 on rs 18 +Ethernet142 142 Eth18/7 50000 on rs 18 +Ethernet143 143 Eth18/8 50000 on rs 18 +Ethernet144 144 Eth19/1 50000 on rs 19 +Ethernet145 145 Eth19/2 50000 on rs 19 +Ethernet146 146 Eth19/3 50000 on rs 19 +Ethernet147 147 Eth19/4 50000 on rs 19 +Ethernet148 148 Eth19/5 50000 on rs 19 +Ethernet149 149 Eth19/6 50000 on rs 19 +Ethernet150 150 Eth19/7 50000 on rs 19 +Ethernet151 151 Eth19/8 50000 on rs 19 +Ethernet152 152 Eth20/1 50000 on rs 20 +Ethernet153 153 Eth20/2 50000 on rs 20 +Ethernet154 154 Eth20/3 50000 on rs 20 +Ethernet155 155 Eth20/4 50000 on rs 20 +Ethernet156 156 Eth20/5 50000 on rs 20 +Ethernet157 157 Eth20/6 50000 on rs 20 +Ethernet158 158 Eth20/7 50000 on rs 20 +Ethernet159 159 Eth20/8 50000 on rs 20 +Ethernet160 160 Eth21/1 50000 on rs 21 +Ethernet161 161 Eth21/2 50000 on rs 21 +Ethernet162 162 Eth21/3 50000 on rs 21 +Ethernet163 163 Eth21/4 50000 on rs 21 +Ethernet164 164 Eth21/5 50000 on rs 21 +Ethernet165 165 Eth21/6 50000 on rs 21 +Ethernet166 166 Eth21/7 50000 on rs 21 +Ethernet167 167 Eth21/8 50000 on rs 21 +Ethernet168 168 Eth22/1 50000 on rs 22 +Ethernet169 169 Eth22/2 50000 on rs 22 +Ethernet170 170 Eth22/3 50000 on rs 22 +Ethernet171 171 Eth22/4 50000 on rs 22 +Ethernet172 172 Eth22/5 50000 on rs 22 +Ethernet173 173 Eth22/6 50000 on rs 22 +Ethernet174 174 Eth22/7 50000 on rs 22 +Ethernet175 175 Eth22/8 50000 on rs 22 +Ethernet176 176 Eth23/1 50000 on rs 23 +Ethernet177 177 Eth23/2 50000 on rs 23 +Ethernet178 178 Eth23/3 50000 on rs 23 +Ethernet179 179 Eth23/4 50000 on rs 23 +Ethernet180 180 Eth23/5 50000 on rs 23 +Ethernet181 181 Eth23/6 50000 on rs 23 +Ethernet182 182 Eth23/7 50000 on rs 23 +Ethernet183 183 Eth23/8 50000 on rs 23 +Ethernet184 184 Eth24/1 50000 on rs 24 +Ethernet185 185 Eth24/2 50000 on rs 24 +Ethernet186 186 Eth24/3 50000 on rs 24 +Ethernet187 187 Eth24/4 50000 on rs 24 +Ethernet188 188 Eth24/5 50000 on rs 24 +Ethernet189 189 Eth24/6 50000 on rs 24 +Ethernet190 190 Eth24/7 50000 on rs 24 +Ethernet191 191 Eth24/8 50000 on rs 24 +Ethernet192 192 Eth25/1 50000 on rs 25 +Ethernet193 193 Eth25/2 50000 on rs 25 +Ethernet194 194 Eth25/3 50000 on rs 25 +Ethernet195 195 Eth25/4 50000 on rs 25 +Ethernet196 196 Eth25/5 50000 on rs 25 +Ethernet197 197 Eth25/6 50000 on rs 25 +Ethernet198 198 Eth25/7 50000 on rs 25 +Ethernet199 199 Eth25/8 50000 on rs 25 +Ethernet200 200 Eth26/1 50000 on rs 26 +Ethernet201 201 Eth26/2 50000 on rs 26 +Ethernet202 202 Eth26/3 50000 on rs 26 +Ethernet203 203 Eth26/4 50000 on rs 26 +Ethernet204 204 Eth26/5 50000 on rs 26 +Ethernet205 205 Eth26/6 50000 on rs 26 +Ethernet206 206 Eth26/7 50000 on rs 26 +Ethernet207 207 Eth26/8 50000 on rs 26 +Ethernet208 208 Eth27/1 50000 on rs 27 +Ethernet209 209 Eth27/2 50000 on rs 27 +Ethernet210 210 Eth27/3 50000 on rs 27 +Ethernet211 211 Eth27/4 50000 on rs 27 +Ethernet212 212 Eth27/5 50000 on rs 27 +Ethernet213 213 Eth27/6 50000 on rs 27 +Ethernet214 214 Eth27/7 50000 on rs 27 +Ethernet215 215 Eth27/8 50000 on rs 27 +Ethernet216 216 Eth28/1 50000 on rs 28 +Ethernet217 217 Eth28/2 50000 on rs 28 +Ethernet218 218 Eth28/3 50000 on rs 28 +Ethernet219 219 Eth28/4 50000 on rs 28 +Ethernet220 220 Eth28/5 50000 on rs 28 +Ethernet221 221 Eth28/6 50000 on rs 28 +Ethernet222 222 Eth28/7 50000 on rs 28 +Ethernet223 223 Eth28/8 50000 on rs 28 +Ethernet224 224 Eth29/1 50000 on rs 29 +Ethernet225 225 Eth29/2 50000 on rs 29 +Ethernet226 226 Eth29/3 50000 on rs 29 +Ethernet227 227 Eth29/4 50000 on rs 29 +Ethernet228 228 Eth29/5 50000 on rs 29 +Ethernet229 229 Eth29/6 50000 on rs 29 +Ethernet230 230 Eth29/7 50000 on rs 29 +Ethernet231 231 Eth29/8 50000 on rs 29 +Ethernet232 232 Eth30/1 50000 on rs 30 +Ethernet233 233 Eth30/2 50000 on rs 30 +Ethernet234 234 Eth30/3 50000 on rs 30 +Ethernet235 235 Eth30/4 50000 on rs 30 +Ethernet236 236 Eth30/5 50000 on rs 30 +Ethernet237 237 Eth30/6 50000 on rs 30 +Ethernet238 238 Eth30/7 50000 on rs 30 +Ethernet239 239 Eth30/8 50000 on rs 30 +Ethernet240 240 Eth31/1 50000 on rs 31 +Ethernet241 241 Eth31/2 50000 on rs 31 +Ethernet242 242 Eth31/3 50000 on rs 31 +Ethernet243 243 Eth31/4 50000 on rs 31 +Ethernet244 244 Eth31/5 50000 on rs 31 +Ethernet245 245 Eth31/6 50000 on rs 31 +Ethernet246 246 Eth31/7 50000 on rs 31 +Ethernet247 247 Eth31/8 50000 on rs 31 +Ethernet248 248 Eth32/1 50000 on rs 32 +Ethernet249 249 Eth32/2 50000 on rs 32 +Ethernet250 250 Eth32/3 50000 on rs 32 +Ethernet251 251 Eth32/4 50000 on rs 32 +Ethernet252 252 Eth32/5 50000 on rs 32 +Ethernet253 253 Eth32/6 50000 on rs 32 +Ethernet254 254 Eth32/7 50000 on rs 32 +Ethernet255 255 Eth32/8 50000 on rs 32 +Ethernet256 256 Eth33 10000 off none 33 diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.md5 index fc1b8e224ee0..f219403d1571 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -bfcdbba53aa3d422d93b9d900c305516 \ No newline at end of file +58815c76ce3a808f7d07e5506abd6b89 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.xml index 6bc7a71b1e7b..5626a673e5b5 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-Board-F12_8T-48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -744,6 +704,7 @@ lowercase characters. NA + false @@ -759,6 +720,7 @@ lowercase characters. NA + false @@ -774,6 +736,7 @@ lowercase characters. NA + false @@ -809,6 +772,7 @@ lowercase characters. NA + @@ -828,6 +792,7 @@ lowercase characters. NA + @@ -847,6 +812,7 @@ lowercase characters. NA + @@ -886,6 +852,7 @@ lowercase characters. NA + @@ -905,6 +872,7 @@ lowercase characters. NA + @@ -924,6 +892,7 @@ lowercase characters. NA + @@ -963,6 +932,7 @@ lowercase characters. NA + @@ -982,6 +952,7 @@ lowercase characters. NA + @@ -1001,6 +972,7 @@ lowercase characters. NA + @@ -1040,6 +1012,7 @@ lowercase characters. NA + @@ -1059,6 +1032,7 @@ lowercase characters. NA + @@ -1078,6 +1052,7 @@ lowercase characters. NA + @@ -1117,6 +1092,7 @@ lowercase characters. NA + @@ -1136,6 +1112,7 @@ lowercase characters. NA + @@ -1155,6 +1132,7 @@ lowercase characters. NA + @@ -1194,6 +1172,7 @@ lowercase characters. NA + @@ -1213,6 +1192,7 @@ lowercase characters. NA + @@ -1232,6 +1212,7 @@ lowercase characters. NA + @@ -1271,6 +1252,7 @@ lowercase characters. NA + @@ -1290,6 +1272,7 @@ lowercase characters. NA + @@ -1309,6 +1292,7 @@ lowercase characters. NA + @@ -1348,6 +1332,7 @@ lowercase characters. NA + @@ -1367,6 +1352,7 @@ lowercase characters. NA + @@ -1386,6 +1372,7 @@ lowercase characters. NA + @@ -1425,6 +1412,7 @@ lowercase characters. NA + @@ -1444,6 +1432,7 @@ lowercase characters. NA + @@ -1463,6 +1452,7 @@ lowercase characters. NA + @@ -1502,6 +1492,7 @@ lowercase characters. NA + @@ -1521,6 +1512,7 @@ lowercase characters. NA + @@ -1540,6 +1532,7 @@ lowercase characters. NA + @@ -1579,6 +1572,7 @@ lowercase characters. NA + @@ -1598,6 +1592,7 @@ lowercase characters. NA + @@ -1617,6 +1612,7 @@ lowercase characters. NA + @@ -1796,6 +1792,7 @@ lowercase characters. NA + 2 diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.md5 index 80f5a48191a5..b62d25b1f71f 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -bae90780b221c3059c83112fab4abca5 \ No newline at end of file +5b3a182e8bfc7086167b9edb02bbd616 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.xml index 796023cd7a37..9ecfb8501861 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-L1-F12_8T-48x25G-8x100G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR4 @@ -878,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -896,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -904,342 +718,399 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default 100GR4 + false 49 AVAGO profile_default 100GR4 + false 50 AVAGO profile_default 100GR4 + false 51 AVAGO profile_default 100GR4 + false 52 AVAGO profile_default 100GR4 + false 53 AVAGO profile_default 100GR4 + false 54 AVAGO profile_default 100GR4 + false 55 AVAGO profile_default 100GR4 + false 56 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.md5 index 3c28079976c6..93d1496daaae 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -1ed6046358d99524cdf9cd9e136a0efa \ No newline at end of file +5f128393d356e6fe5711e164144b8fc7 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.xml index e3239589f006..b82d8246265d 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/ASK-PP-F12_8T-48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.md5 index c01137b77a96..5f7430881bc6 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -68eb84de73105b7ea023989d8e8ebd13 \ No newline at end of file +ad10411677df3547c2be2293a959cc12 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.xml index 7039fa0dafda..f900f8301852 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/SAI-F12_8T-48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -462,6 +492,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t0.j2 index bf0b552cbd02..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"340000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t1.j2 index bf0b552cbd02..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"340000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/FC48x25G8x100GR4/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.md5 index fc1b8e224ee0..f219403d1571 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -bfcdbba53aa3d422d93b9d900c305516 \ No newline at end of file +58815c76ce3a808f7d07e5506abd6b89 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.xml index 6bc7a71b1e7b..5626a673e5b5 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-Board-F12_8T-48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -149,95 +149,45 @@ 0 - alaska-88E1543 - Specifies PHY identifier 88E1543, used for Combo ports. + alaska-88E1680 + Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. 1 - alaska-88E1545 - Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support. + alaska-88E1780 + Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy +Efficient Ethernet Transceiver 2 - alaska-88E1680 - Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G. + alaska-88E2540 + Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet +Transceiver with IEEE 1588v2 PTP Support 3 - alaska-88E151X - Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber). + alaska-88E2580 + Specifies PHY identifier 88E2580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 4 - alaska-88E3140 - Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. -Uses with FW SolarFlare next generation. + alaska-88E2780 + Specifies PHY identifier 88E2780, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 5 - alaska-88E3240 - Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. -Uses with FW, SolarFlare next generation. + alaska-MVCUE1786 + Specifies PHY identifier alaska V MV-CUE 1786, Octal 100/1000BASE-T Ethernet Transceiver +with IEEE 1588v2 PTP Support 6 - alaska-88E3680 - Specifies PHY identifier 88E3680, used for Octal Copper 100M. - 7 - - - alaska-88E3220 - Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. -Uses FW, SolarFlare next generation. - 8 - - - alaska-88E1680L - Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G. - 9 - - - alaska-88E33X0 - Specifies PHY identifier 88E33X0, used for MGIG Combo. - 10 - - - alaska-88E1548 - Specifies PHY identifier 88E1548, used for Fiber GE. - 11 - - - alaska-88E20X0 - Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 12 - - - alaska-88E1512 - Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G. - 13 - - - alaska-88E2180 - Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G. - 14 - - - alaska-88E1780 - Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy + alaska-88E1781 + Specifies PHY identifier 88E1781, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver - 15 - - - alaska-88E2540 - Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet -Transceiver with IEEE 1588v2 PTP Support - 16 - - - alaska-88E2580 - Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver -with IEEE 1588v2 PTP Support - 17 + 7 @@ -569,15 +519,6 @@ with IEEE 1588v2 PTP Support 0 1 - - led-stream-force-data-type - string - A hexadecimal string with octets represented as hex digits -separated by colons. The canonical representation uses -lowercase characters. - 3 - 11 - bit-type uint32 @@ -698,6 +639,25 @@ lowercase characters. FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + mpp-num-type + uint8 + Specifies the MPP pin number. + 0 + 63 + + + mpp-select-type + uint8 + Specifies the MPP pin value. + 0 + 15 ASIC_Falcon @@ -744,6 +704,7 @@ lowercase characters. NA + false @@ -759,6 +720,7 @@ lowercase characters. NA + false @@ -774,6 +736,7 @@ lowercase characters. NA + false @@ -809,6 +772,7 @@ lowercase characters. NA + @@ -828,6 +792,7 @@ lowercase characters. NA + @@ -847,6 +812,7 @@ lowercase characters. NA + @@ -886,6 +852,7 @@ lowercase characters. NA + @@ -905,6 +872,7 @@ lowercase characters. NA + @@ -924,6 +892,7 @@ lowercase characters. NA + @@ -963,6 +932,7 @@ lowercase characters. NA + @@ -982,6 +952,7 @@ lowercase characters. NA + @@ -1001,6 +972,7 @@ lowercase characters. NA + @@ -1040,6 +1012,7 @@ lowercase characters. NA + @@ -1059,6 +1032,7 @@ lowercase characters. NA + @@ -1078,6 +1052,7 @@ lowercase characters. NA + @@ -1117,6 +1092,7 @@ lowercase characters. NA + @@ -1136,6 +1112,7 @@ lowercase characters. NA + @@ -1155,6 +1132,7 @@ lowercase characters. NA + @@ -1194,6 +1172,7 @@ lowercase characters. NA + @@ -1213,6 +1192,7 @@ lowercase characters. NA + @@ -1232,6 +1212,7 @@ lowercase characters. NA + @@ -1271,6 +1252,7 @@ lowercase characters. NA + @@ -1290,6 +1272,7 @@ lowercase characters. NA + @@ -1309,6 +1292,7 @@ lowercase characters. NA + @@ -1348,6 +1332,7 @@ lowercase characters. NA + @@ -1367,6 +1352,7 @@ lowercase characters. NA + @@ -1386,6 +1372,7 @@ lowercase characters. NA + @@ -1425,6 +1412,7 @@ lowercase characters. NA + @@ -1444,6 +1432,7 @@ lowercase characters. NA + @@ -1463,6 +1452,7 @@ lowercase characters. NA + @@ -1502,6 +1492,7 @@ lowercase characters. NA + @@ -1521,6 +1512,7 @@ lowercase characters. NA + @@ -1540,6 +1532,7 @@ lowercase characters. NA + @@ -1579,6 +1572,7 @@ lowercase characters. NA + @@ -1598,6 +1592,7 @@ lowercase characters. NA + @@ -1617,6 +1612,7 @@ lowercase characters. NA + @@ -1796,6 +1792,7 @@ lowercase characters. NA + 2 diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.md5 index 80f5a48191a5..b62d25b1f71f 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -bae90780b221c3059c83112fab4abca5 \ No newline at end of file +5b3a182e8bfc7086167b9edb02bbd616 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.xml index 796023cd7a37..9ecfb8501861 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-L1-F12_8T-48x25G-8x100G.xml @@ -1,7 +1,32 @@ - + + + asic-type + enumeration + ASIC Type + + ASIC_AC3X + AC3X + 0 + + + ASIC_AC5X + AC5X + 1 + + + ASIC_Falcon + FALCON + 2 + + + ASIC_AC5P + AC5P + 3 + + interface-mode-type enumeration @@ -235,489 +260,274 @@ 1023 - tx-param-type + rx-param-type enumeration - Tx parameter type + Rx parameter type - atten - atten + dataRate + dataRate 0 - post - post + res1Sel + res1Sel 1 - pre - pre + res2Sel + res2Sel 2 - pre2 - pre2 + cap1Sel + cap1Sel 3 - pre3 - pre3 + cap2Sel + cap2Sel 4 - peak - peak + minCap + minCap 5 - main - main + minCapN + minCapN 6 - txAmpAdjEn - txAmpAdjEn - 7 - - - emph0 - emph0 - 8 - - - emph1 - emph1 - 9 - - - txAmpShft - txAmpShft - 10 - - - txEmphEn - txEmphEn - 11 - - - txEmphEn1 - txEmphEn1 - 12 - - - txAmpAdj - txAmpAdj - 13 - - - slewCtrlEn - slewCtrlEn - 14 - - - slewRate - slewRate - 15 - - - - rx-param-type - enumeration - Rx parameter type - - sqlch - sqlch - 0 - - - DC - DC - 1 - - - LF - LF - 2 - - - HF - HF - 3 - - - gainShape1 - gainShape1 - 4 - - - gainShape2 - gainShape2 - 5 - - - shortChannelEn - shortChannelEn + sumfBoostTargetC0 + sumfBoostTargetC0 7 - bfLf - bfLf + sumfBoostTargetC1 + sumfBoostTargetC1 8 - bfHf - bfHf + sumfBoostTargetC2 + sumfBoostTargetC2 9 - minLf - minLf + midpointPhaseOs0 + midpointPhaseOs0 10 - maxLf - maxLf + midpointPhaseOs1 + midpointPhaseOs1 11 - minHf - minHf + midpointPhaseOs2 + midpointPhaseOs2 12 - maxHf - maxHf + selmufi + selmufi 13 - minPre1 - minPre1 + selmuff + selmuff 14 - maxPre1 - maxPre1 + selmupi + selmupi 15 - minPre2 - minPre2 + selmupf + selmupf 16 - maxPre2 - + midpointLargeThresKLane + midpointLargeThresKLane 17 - minPost - minPost + midpointSmallThresKLane + midpointSmallThresKLane 18 - maxPost - maxPost + midpointLargeThresCLane + midpointLargeThresCLane 19 - squelch - squelch + midpointSmallThresCLane + midpointSmallThresCLane 20 - termination - termination - 27 - - - coldEnvelope - coldEnvelope - 35 - - - hotEnvelope - hotEnvelope - 36 - - - dcGain - dcGain - 37 - - - bandWidth - bandWidth - 38 - - - dfe - dfe - 39 + inxSumfMidpointAdatptiveEnLane + inxSumfMidpointAdatptiveEnLane + 21 - ffeR - ffeR - 40 + dfeResF0aHighThresInitLane + dfeResF0aHighThresInitLane + 22 - ffeC - ffeC - 41 + dfeResF0aHighThresEndLane + dfeResF0aHighThresEndLane + 23 - sampler - sampler - 42 + squelch + squelch + 24 align90 align90 - 43 - - - ffeS - ffeS - 44 - - - resSel - resSel - 45 - - - resShift - resShift - 46 - - - capSel - capSel - 47 - - - ffeSettingForce - ffeSettingForce - 48 - - - adaptedResSel - adaptedResSel - 49 - - - adaptedCapSel - adaptedCapSel - 50 - - - selmufi - selmufi - 51 - - - selmuff - selmuff - 52 - - - selmupi - selmupi - 53 + 25 - selmupf - selmupf - 54 + sampler + sampler + 26 slewRateCtrl0 slewRateCtrl0 - 55 + 27 slewRateCtrl1 slewRateCtrl1 - 56 + 28 EO EO - 57 - - - dataRate - dataRate - 58 - - - res1Sel - res1Sel - 59 - - - res2Sel - res2Sel - 60 - - - cap1Sel - cap1Sel - 61 - - - cap2Sel - cap2Sel - 62 - - - midpointLargeThresKLane - midpointLargeThresKLane - 63 - - - midpointSmallThresKLane - midpointSmallThresKLane - 64 + 29 - midpointLargeThresCLane - midpointLargeThresCLane - 65 + minCap1 + minCap1 + 30 - midpointSmallThresCLane - midpointSmallThresCLane - 66 + maxCap1 + maxCap1 + 31 - dfeResF0aHighThresInitLane - dfeResF0aHighThresInitLane - 67 + minRes1 + minRes1 + 32 - dfeResF0aHighThresEndLane - dfeResF0aHighThresEndLane - 68 + maxRes1 + maxRes1 + 33 current1Sel current1Sel - 69 + 34 rl1Sel rl1Sel - 70 + 35 rl1Extra rl1Extra - 71 + 36 cl1Ctrl cl1Ctrl - 72 + 37 enMidFreq enMidFreq - 73 + 38 cs1Mid cs1Mid - 74 + 39 rs1Mid rs1Mid - 75 + 40 rfCtrl rfCtrl - 76 + 41 rl1TiaSel rl1TiaSel - 77 + 42 rl1TiaExtra rl1TiaExtra - 78 + 43 hpfRSel1st hpfRSel1st - 79 + 44 current1TiaSel current1TiaSel - 80 + 45 rl2Tune rl2Tune - 81 + 46 rl2Sel rl2Sel - 82 + 47 rs2Sel rs2Sel - 83 + 48 current2Sel current2Sel - 84 + 49 hpfRsel2nd hpfRsel2nd - 85 - - - BW - BW - 86 - - - dfeGAIN - dfeGAIN - 87 - - - dfeGAIN2 - dfeGAIN2 - 88 - - - pre1 - pre1 - 89 - - - pre2 - pre2 - 90 + 50 - post1 - post1 - 91 + align90AnaReg + align90AnaReg + 51 boolean-type enumeration - Boolean 32 bits , due to bing endian + Boolean 32 bits , due to big endian false False @@ -765,29 +575,22 @@ - uint8-type - uint32 - Uint8 32 bits , due to bing endian - 0 - 255 - - - serdes-termination-type + phy-serdes-type enumeration - RX termination mode + Phy Serdes Type - GND - Enabled + NA + No serdes 0 - VDD - Disabled + COMPHY + COMPHY 1 - FLOATING - RS FEC enabled + COMPHY_C28G + COMPHY_C28G 2 @@ -812,6 +615,7 @@ + ASIC_Falcon 100GR4 @@ -878,6 +682,10 @@ 10G enabled + + 1000BASE_X + 1G + CR 25G @@ -896,6 +704,12 @@ enabled enabled + + 1000BASE_X + 1G + disabled + disabled + @@ -904,342 +718,399 @@ AVAGO profile_default 25GR1 + false 1 AVAGO profile_default 25GR1 + false 2 AVAGO profile_default 25GR1 + false 3 AVAGO profile_default 25GR1 + false 4 AVAGO profile_default 25GR1 + false 5 AVAGO profile_default 25GR1 + false 6 AVAGO profile_default 25GR1 + false 7 AVAGO profile_default 25GR1 + false 8 AVAGO profile_default 25GR1 + false 9 AVAGO profile_default 25GR1 + false 10 AVAGO profile_default 25GR1 + false 11 AVAGO profile_default 25GR1 + false 12 AVAGO profile_default 25GR1 + false 13 AVAGO profile_default 25GR1 + false 14 AVAGO profile_default 25GR1 + false 15 AVAGO profile_default 25GR1 + false 16 AVAGO profile_default 25GR1 + false 17 AVAGO profile_default 25GR1 + false 18 AVAGO profile_default 25GR1 + false 19 AVAGO profile_default 25GR1 + false 20 AVAGO profile_default 25GR1 + false 21 AVAGO profile_default 25GR1 + false 22 AVAGO profile_default 25GR1 + false 23 AVAGO profile_default 25GR1 + false 24 AVAGO profile_default 25GR1 + false 25 AVAGO profile_default 25GR1 + false 26 AVAGO profile_default 25GR1 + false 27 AVAGO profile_default 25GR1 + false 28 AVAGO profile_default 25GR1 + false 29 AVAGO profile_default 25GR1 + false 30 AVAGO profile_default 25GR1 + false 31 AVAGO profile_default 25GR1 + false 32 AVAGO profile_default 25GR1 + false 33 AVAGO profile_default 25GR1 + false 34 AVAGO profile_default 25GR1 + false 35 AVAGO profile_default 25GR1 + false 36 AVAGO profile_default 25GR1 + false 37 AVAGO profile_default 25GR1 + false 38 AVAGO profile_default 25GR1 + false 39 AVAGO profile_default 25GR1 + false 40 AVAGO profile_default 25GR1 + false 41 AVAGO profile_default 25GR1 + false 42 AVAGO profile_default 25GR1 + false 43 AVAGO profile_default 25GR1 + false 44 AVAGO profile_default 25GR1 + false 45 AVAGO profile_default 25GR1 + false 46 AVAGO profile_default 25GR1 + false 47 AVAGO profile_default 25GR1 + false 48 AVAGO profile_default 100GR4 + false 49 AVAGO profile_default 100GR4 + false 50 AVAGO profile_default 100GR4 + false 51 AVAGO profile_default 100GR4 + false 52 AVAGO profile_default 100GR4 + false 53 AVAGO profile_default 100GR4 + false 54 AVAGO profile_default 100GR4 + false 55 AVAGO profile_default 100GR4 + false 56 AVAGO profile_default 10GR1Fix + false diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.md5 index 3c28079976c6..93d1496daaae 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -1ed6046358d99524cdf9cd9e136a0efa \ No newline at end of file +5f128393d356e6fe5711e164144b8fc7 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.xml index e3239589f006..b82d8246265d 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/ASK-PP-F12_8T-48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -378,7 +378,7 @@ number-physical-port-type enumeration - AC3X/AC5X 128, falcon 64, 128, 256, 512, 1024 + AC3X/AC5X/AC5P 128, falcon 64, 128, 256, 512, 1024 no-ports no-ports @@ -538,6 +538,11 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + ASIC_Falcon diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.md5 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.md5 index c01137b77a96..5f7430881bc6 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.md5 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.md5 @@ -1 +1 @@ -68eb84de73105b7ea023989d8e8ebd13 \ No newline at end of file +ad10411677df3547c2be2293a959cc12 \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.xml b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.xml index 7039fa0dafda..f900f8301852 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.xml +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/SAI-F12_8T-48x25G-8x100G.xml @@ -1,5 +1,5 @@ - + @@ -50,10 +50,20 @@ Router In Drop Counters track Route Black Hole Packets 1 + + + Feature-enable + enumeration + Feature Enabled/Disabled - IN_DROP_ANY - Router In Drop Counters track either TTL & Hop Limit Exceeded or Route Black Hole Packets - 2 + Disabled + Disabled + 0 + + + Enabled + Enabled + 1 @@ -156,6 +166,26 @@ FALCON 2 + + ASIC_AC5P + AC5P + 3 + + + + boolean-type + enumeration + Boolean 32 bits , due to bing endian + + false + False + 0 + + + true + True + 1 + ASIC_Falcon @@ -462,6 +492,13 @@ 0 + + Enabled + Enabled + + + Enabled + SAI_LOG_SYSLOG diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers.json.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers.json.j2 index a9a01d707ebf..0b1cb2c541b6 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers.json.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers.json.j2 @@ -1 +1,2 @@ +{%- set default_topo = 't1' %} {%- include 'buffers_config.j2' %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t0.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t0.j2 index bf0b552cbd02..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t0.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t0.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"340000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t1.j2 b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t1.j2 index bf0b552cbd02..4d95dbdc81f2 100644 --- a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t1.j2 +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/buffers_defaults_t1.j2 @@ -3,34 +3,47 @@ {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { - "ingress_lossless_pool": { - "size": "23000000", - "type": "ingress", - "mode": "dynamic" + "ingress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "ingress" + }, + "ingress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "ingress" }, - "egress_pool": { - "size": "23000000", - "type": "egress", - "mode": "static" + "egress_pool1": { + "mode": "dynamic", + "size": "22000000", + "type": "egress" + }, + "egress_pool2": { + "mode": "dynamic", + "size": "1000000", + "type": "egress" } }, "BUFFER_PROFILE": { - "ingress_lossy_profile": { - "pool":"ingress_lossless_pool", - "size":"0", - "dynamic_th":"3" - }, "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"340000", - "static_th":"0" + "pool": "egress_pool1", + "size": "0", + "dynamic_th": "1" }, "egress_lossy_profile": { - "pool":"egress_pool", - "size":"0", - "mode": "dynamic", - "dynamic_th":"3" + "pool": "egress_pool2", + "size": "0", + "dynamic_th": "1" + }, + "ingress_lossless_profile": { + "pool": "ingress_pool1", + "size": "0", + "dynamic_th": "-3" + }, + "ingress_lossy_profile": { + "pool": "ingress_pool2", + "size": "0", + "dynamic_th": "-3" } }, {%- endmacro %} diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/create_only_config_db_buffers.json b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/create_only_config_db_buffers.json new file mode 100644 index 000000000000..8bea3894c083 --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/db98cx8580_32cd/create_only_config_db_buffers.json @@ -0,0 +1,7 @@ +{ + "DEVICE_METADATA": { + "localhost": { + "create_only_config_db_buffers": "true" + } + } +} \ No newline at end of file diff --git a/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/platform.json b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/platform.json new file mode 100644 index 000000000000..47c75f4c47db --- /dev/null +++ b/device/marvell/x86_64-marvell_db98cx8580_32cd-r0/platform.json @@ -0,0 +1,351 @@ +{ + "interfaces": { + "Ethernet0": { + "breakout_modes": { + "1x400G": ["Eth1"], + "2x200G[100G]": ["Eth1/1", "Eth1/2"], + "4x100G": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"] + }, + "index": "1,1,1,1,1,1,1,1", + "lanes": "0,1,2,3,4,5,6,7" + }, + "Ethernet8": { + "breakout_modes": { + "1x400G": ["Eth2"], + "2x200G[100G]": ["Eth2/1", "Eth2/2"], + "4x100G": ["Eth2/1", "Eth2/2", "Eth2/3", "Eth2/4"] + }, + "index": "2,2,2,2,2,2,2,2", + "lanes": "8,9,10,11,12,13,14,15" + }, + "Ethernet16": { + "breakout_modes": { + "1x400G": ["Eth3"] + }, + "index": "3,3,3,3,3,3,3,3", + "lanes": "16,17,18,19,20,21,22,23" + }, + "Ethernet24": { + "breakout_modes": { + "1x400G": ["Eth4"] + }, + "index": "4,4,4,4,4,4,4,4", + "lanes": "24,25,26,27,28,29,30,31" + }, + "Ethernet32": { + "breakout_modes": { + "1x400G": ["Eth5"], + "2x200G[100G]": ["Eth5/1", "Eth5/2"], + "4x100G": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4"], + "4x25G(4)": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4"], + "8x50G[25G,10G,1G]": ["Eth5/1", "Eth5/2", "Eth5/3", "Eth5/4", "Eth5/5", "Eth5/6", "Eth5/7", "Eth5/8"] + }, + "index": "5,5,5,5,5,5,5,5", + "lanes": "32,33,34,35,36,37,38,39" + }, + "Ethernet40": { + "breakout_modes": { + "1x400G": ["Eth6"], + "2x200G[100G]": ["Eth6/1", "Eth6/2"], + "4x100G": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4"], + "4x25G(4)": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4"], + "8x50G[25G,10G,1G]": ["Eth6/1", "Eth6/2", "Eth6/3", "Eth6/4", "Eth6/5", "Eth6/6", "Eth6/7", "Eth6/8"] + }, + "index": "6,6,6,6,6,6,6,6", + "lanes": "40,41,42,43,44,45,46,47" + }, + "Ethernet48": { + "breakout_modes": { + "1x400G": ["Eth7"], + "2x200G[100G]": ["Eth7/1", "Eth7/2"], + "4x100G": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4"], + "4x25G(4)": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4"], + "8x50G[25G,10G,1G]": ["Eth7/1", "Eth7/2", "Eth7/3", "Eth7/4", "Eth7/5", "Eth7/6", "Eth7/7", "Eth7/8"] + }, + "index": "7,7,7,7,7,7,7,7", + "lanes": "48,49,50,51,52,53,54,55" + }, + "Ethernet56": { + "breakout_modes": { + "1x400G": ["Eth8"], + "2x200G[100G]": ["Eth8/1", "Eth8/2"], + "4x100G": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4"], + "4x25G(4)": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4"], + "8x50G[25G,10G,1G]": ["Eth8/1", "Eth8/2", "Eth8/3", "Eth8/4", "Eth8/5", "Eth8/6", "Eth8/7", "Eth8/8"] + }, + "index": "8,8,8,8,8,8,8,8", + "lanes": "56,57,58,59,60,61,62,63" + }, + "Ethernet64": { + "breakout_modes": { + "1x400G": ["Eth9"], + "2x200G[100G]": ["Eth9/1", "Eth9/2"], + "4x100G": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4"], + "4x25G(4)": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4"], + "8x50G[25G,10G,1G]": ["Eth9/1", "Eth9/2", "Eth9/3", "Eth9/4", "Eth9/5", "Eth9/6", "Eth9/7", "Eth9/8"] + }, + "index": "9,9,9,9,9,9,9,9", + "lanes": "64,65,66,67,68,69,70,71" + }, + "Ethernet72": { + "breakout_modes": { + "1x400G": ["Eth10"], + "2x200G[100G]": ["Eth10/1", "Eth10/2"], + "4x100G": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4"], + "4x25G(4)": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4"], + "8x50G[25G,10G,1G]": ["Eth10/1", "Eth10/2", "Eth10/3", "Eth10/4", "Eth10/5", "Eth10/6", "Eth10/7", "Eth10/8"] + }, + "index": "10,10,10,10,10,10,10,10", + "lanes": "72,73,74,75,76,77,78,79" + }, + "Ethernet80": { + "breakout_modes": { + "1x400G": ["Eth11"], + "2x200G[100G]": ["Eth11/1", "Eth11/2"], + "4x100G": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4"], + "4x25G(4)": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4"], + "8x50G[25G,10G,1G]": ["Eth11/1", "Eth11/2", "Eth11/3", "Eth11/4", "Eth11/5", "Eth11/6", "Eth11/7", "Eth11/8"] + }, + "index": "11,11,11,11,11,11,11,11", + "lanes": "80,81,82,83,84,85,86,87" + }, + "Ethernet88": { + "breakout_modes": { + "1x400G": ["Eth12"], + "2x200G[100G]": ["Eth12/1", "Eth12/2"], + "4x100G": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4"], + "4x25G(4)": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4"], + "8x50G[25G,10G,1G]": ["Eth12/1", "Eth12/2", "Eth12/3", "Eth12/4", "Eth12/5", "Eth12/6", "Eth12/7", "Eth12/8"] + }, + "index": "12,12,12,12,12,12,12,12", + "lanes": "88,89,90,91,92,93,94,95" + }, + "Ethernet96": { + "breakout_modes": { + "1x400G": ["Eth13"], + "2x200G[100G]": ["Eth13/1", "Eth13/2"], + "4x100G": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4"], + "4x25G(4)": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4"], + "8x50G[25G,10G,1G]": ["Eth13/1", "Eth13/2", "Eth13/3", "Eth13/4", "Eth13/5", "Eth13/6", "Eth13/7", "Eth13/8"] + }, + "index": "13,13,13,13,13,13,13,13", + "lanes": "96,97,98,99,100,101,102,103" + }, + "Ethernet104": { + "breakout_modes": { + "1x400G": ["Eth14"], + "2x200G[100G]": ["Eth14/1", "Eth14/2"], + "4x100G": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4"], + "4x25G(4)": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4"], + "8x50G[25G,10G,1G]": ["Eth14/1", "Eth14/2", "Eth14/3", "Eth14/4", "Eth14/5", "Eth14/6", "Eth14/7", "Eth14/8"] + }, + "index": "14,14,14,14,14,14,14,14", + "lanes": "104,105,106,107,108,109,110,111" + }, + "Ethernet112": { + "breakout_modes": { + "1x400G": ["Eth15"], + "2x200G[100G]": ["Eth15/1", "Eth15/2"], + "4x100G": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4"], + "4x25G(4)": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4"], + "8x50G[25G,10G,1G]": ["Eth15/1", "Eth15/2", "Eth15/3", "Eth15/4", "Eth15/5", "Eth15/6", "Eth15/7", "Eth15/8"] + }, + "index": "15,15,15,15,15,15,15,15", + "lanes": "112,113,114,115,116,117,118,119" + }, + "Ethernet120": { + "breakout_modes": { + "1x400G": ["Eth16"], + "2x200G[100G]": ["Eth16/1", "Eth16/2"], + "4x100G": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4"], + "4x25G(4)": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4"], + "8x50G[25G,10G,1G]": ["Eth16/1", "Eth16/2", "Eth16/3", "Eth16/4", "Eth16/5", "Eth16/6", "Eth16/7", "Eth16/8"] + }, + "index": "16,16,16,16,16,16,16,16", + "lanes": "120,121,122,123,124,125,126,127" + }, + "Ethernet128": { + "breakout_modes": { + "1x400G": ["Eth17"], + "2x200G[100G]": ["Eth17/1", "Eth17/2"], + "4x100G": ["Eth17/1", "Eth17/2", "Eth17/3", "Eth17/4"], + "4x25G(4)": ["Eth17/1", "Eth17/2", "Eth17/3", "Eth17/4"], + "8x50G[25G,10G,1G]": ["Eth17/1", "Eth17/2", "Eth17/3", "Eth17/4", "Eth17/5", "Eth17/6", "Eth17/7", "Eth17/8"] + }, + "index": "17,17,17,17,17,17,17,17", + "lanes": "128,129,130,131,132,133,134,135" + }, + "Ethernet136": { + "breakout_modes": { + "1x400G": ["Eth18"], + "2x200G[100G]": ["Eth18/1", "Eth18/2"], + "4x100G": ["Eth18/1", "Eth18/2", "Eth18/3", "Eth18/4"], + "4x25G(4)": ["Eth18/1", "Eth18/2", "Eth18/3", "Eth18/4"], + "8x50G[25G,10G,1G]": ["Eth18/1", "Eth18/2", "Eth18/3", "Eth18/4", "Eth18/5", "Eth18/6", "Eth18/7", "Eth18/8"] + }, + "index": "18,18,18,18,18,18,18,18", + "lanes": "136,137,138,139,140,141,142,143" + }, + "Ethernet144": { + "breakout_modes": { + "1x400G": ["Eth19"], + "2x200G[100G]": ["Eth19/1", "Eth19/2"], + "4x100G": ["Eth19/1", "Eth19/2", "Eth19/3", "Eth19/4"], + "4x25G(4)": ["Eth19/1", "Eth19/2", "Eth19/3", "Eth19/4"], + "8x50G[25G,10G,1G]": ["Eth19/1", "Eth19/2", "Eth19/3", "Eth19/4", "Eth19/5", "Eth19/6", "Eth19/7", "Eth19/8"] + }, + "index": "19,19,19,19,19,19,19,19", + "lanes": "144,145,146,147,148,149,150,151" + }, + "Ethernet152": { + "breakout_modes": { + "1x400G": ["Eth20"], + "2x200G[100G]": ["Eth20/1", "Eth20/2"], + "4x100G": ["Eth20/1", "Eth20/2", "Eth20/3", "Eth20/4"], + "4x25G(4)": ["Eth20/1", "Eth20/2", "Eth20/3", "Eth20/4"], + "8x50G[25G,10G,1G]": ["Eth20/1", "Eth20/2", "Eth20/3", "Eth20/4", "Eth20/5", "Eth20/6", "Eth20/7", "Eth20/8"] + }, + "index": "20,20,20,20,20,20,20,20", + "lanes": "152,153,154,155,156,157,158,159" + }, + "Ethernet160": { + "breakout_modes": { + "1x400G": ["Eth21"], + "2x200G[100G]": ["Eth21/1", "Eth21/2"], + "4x100G": ["Eth21/1", "Eth21/2", "Eth21/3", "Eth21/4"], + "4x25G(4)": ["Eth21/1", "Eth21/2", "Eth21/3", "Eth21/4"], + "8x50G[25G,10G,1G]": ["Eth21/1", "Eth21/2", "Eth21/3", "Eth21/4", "Eth21/5", "Eth21/6", "Eth21/7", "Eth21/8"] + }, + "index": "21,21,21,21,21,21,21,21", + "lanes": "160,161,162,163,164,165,166,167" + }, + "Ethernet168": { + "breakout_modes": { + "1x400G": ["Eth22"], + "2x200G[100G]": ["Eth22/1", "Eth22/2"], + "4x100G": ["Eth22/1", "Eth22/2", "Eth22/3", "Eth22/4"], + "4x25G(4)": ["Eth22/1", "Eth22/2", "Eth22/3", "Eth22/4"], + "8x50G[25G,10G,1G]": ["Eth22/1", "Eth22/2", "Eth22/3", "Eth22/4", "Eth22/5", "Eth22/6", "Eth22/7", "Eth22/8"] + }, + "index": "22,22,22,22,22,22,22,22", + "lanes": "168,169,170,171,172,173,174,175" + }, + "Ethernet176": { + "breakout_modes": { + "1x400G": ["Eth23"], + "2x200G[100G]": ["Eth23/1", "Eth23/2"], + "4x100G": ["Eth23/1", "Eth23/2", "Eth23/3", "Eth23/4"], + "4x25G(4)": ["Eth23/1", "Eth23/2", "Eth23/3", "Eth23/4"], + "8x50G[25G,10G,1G]": ["Eth23/1", "Eth23/2", "Eth23/3", "Eth23/4", "Eth23/5", "Eth23/6", "Eth23/7", "Eth23/8"] + }, + "index": "23,23,23,23,23,23,23,23", + "lanes": "176,177,178,179,180,181,182,183" + }, + "Ethernet184": { + "breakout_modes": { + "1x400G": ["Eth24"], + "2x200G[100G]": ["Eth24/1", "Eth24/2"], + "4x100G": ["Eth24/1", "Eth24/2", "Eth24/3", "Eth24/4"], + "4x25G(4)": ["Eth24/1", "Eth24/2", "Eth24/3", "Eth24/4"], + "8x50G[25G,10G,1G]": ["Eth24/1", "Eth24/2", "Eth24/3", "Eth24/4", "Eth24/5", "Eth24/6", "Eth24/7", "Eth24/8"] + }, + "index": "24,24,24,24,24,24,24,24", + "lanes": "184,185,186,187,188,189,190,191" + }, + "Ethernet192": { + "breakout_modes": { + "1x400G": ["Eth25"], + "2x200G[100G]": ["Eth25/1", "Eth25/2"], + "4x100G": ["Eth25/1", "Eth25/2", "Eth25/3", "Eth25/4"], + "4x25G(4)": ["Eth25/1", "Eth25/2", "Eth25/3", "Eth25/4"], + "8x50G[25G,10G,1G]": ["Eth25/1", "Eth25/2", "Eth25/3", "Eth25/4", "Eth25/5", "Eth25/6", "Eth25/7", "Eth25/8"] + }, + "index": "25,25,25,25,25,25,25,25", + "lanes": "192,193,194,195,196,197,198,199" + }, + "Ethernet200": { + "breakout_modes": { + "1x400G": ["Eth26"], + "2x200G[100G]": ["Eth26/1", "Eth26/2"], + "4x100G": ["Eth26/1", "Eth26/2", "Eth26/3", "Eth26/4"], + "4x25G(4)": ["Eth26/1", "Eth26/2", "Eth26/3", "Eth26/4"], + "8x50G[25G,10G,1G]": ["Eth26/1", "Eth26/2", "Eth26/3", "Eth26/4", "Eth26/5", "Eth26/6", "Eth26/7", "Eth26/8"] + }, + "index": "26,26,26,26,26,26,26,26", + "lanes": "200,201,202,203,204,205,206,207" + }, + "Ethernet208": { + "breakout_modes": { + "1x400G": ["Eth27"], + "2x200G[100G]": ["Eth27/1", "Eth27/2"], + "4x100G": ["Eth27/1", "Eth27/2", "Eth27/3", "Eth27/4"], + "4x25G(4)": ["Eth27/1", "Eth27/2", "Eth27/3", "Eth27/4"], + "8x50G[25G,10G,1G]": ["Eth27/1", "Eth27/2", "Eth27/3", "Eth27/4", "Eth27/5", "Eth27/6", "Eth27/7", "Eth27/8"] + }, + "index": "27,27,27,27,27,27,27,27", + "lanes": "208,209,210,211,212,213,214,215" + }, + "Ethernet216": { + "breakout_modes": { + "1x400G": ["Eth28"], + "2x200G[100G]": ["Eth28/1", "Eth28/2"], + "4x100G": ["Eth28/1", "Eth28/2", "Eth28/3", "Eth28/4"], + "4x25G(4)": ["Eth28/1", "Eth28/2", "Eth28/3", "Eth28/4"], + "8x50G[25G,10G,1G]": ["Eth28/1", "Eth28/2", "Eth28/3", "Eth28/4", "Eth28/5", "Eth28/6", "Eth28/7", "Eth28/8"] + }, + "index": "28,28,28,28,28,28,28,28", + "lanes": "216,217,218,219,220,221,222,223" + }, + "Ethernet224": { + "breakout_modes": { + "1x400G": ["Eth29"], + "2x200G[100G]": ["Eth29/1", "Eth29/2"], + "4x100G": ["Eth29/1", "Eth29/2", "Eth29/3", "Eth29/4"], + "4x25G(4)": ["Eth29/1", "Eth29/2", "Eth29/3", "Eth29/4"], + "8x50G[25G,10G,1G]": ["Eth29/1", "Eth29/2", "Eth29/3", "Eth29/4", "Eth29/5", "Eth29/6", "Eth29/7", "Eth29/8"] + }, + "index": "29,29,29,29,29,29,29,29", + "lanes": "224,225,226,227,228,229,230,231" + }, + "Ethernet232": { + "breakout_modes": { + "1x400G": ["Eth30"], + "2x200G[100G]": ["Eth30/1", "Eth30/2"], + "4x100G": ["Eth30/1", "Eth30/2", "Eth30/3", "Eth30/4"], + "4x25G(4)": ["Eth30/1", "Eth30/2", "Eth30/3", "Eth30/4"], + "8x50G[25G,10G,1G]": ["Eth30/1", "Eth30/2", "Eth30/3", "Eth30/4", "Eth30/5", "Eth30/6", "Eth30/7", "Eth30/8"] + }, + "index": "30,30,30,30,30,30,30,30", + "lanes": "232,233,234,235,236,237,238,239" + }, + "Ethernet240": { + "breakout_modes": { + "1x400G": ["Eth31"], + "2x200G[100G]": ["Eth31/1", "Eth31/2"], + "4x100G": ["Eth31/1", "Eth31/2", "Eth31/3", "Eth31/4"], + "4x25G(4)": ["Eth31/1", "Eth31/2", "Eth31/3", "Eth31/4"], + "8x50G[25G,10G,1G]": ["Eth31/1", "Eth31/2", "Eth31/3", "Eth31/4", "Eth31/5", "Eth31/6", "Eth31/7", "Eth31/8"] + }, + "index": "31,31,31,31,31,31,31,31", + "lanes": "240,241,242,243,244,245,246,247" + }, + "Ethernet248": { + "breakout_modes": { + "1x400G": ["Eth32"], + "2x200G[100G]": ["Eth32/1", "Eth32/2"], + "4x100G": ["Eth32/1", "Eth32/2", "Eth32/3", "Eth32/4"], + "4x25G(4)": ["Eth32/1", "Eth32/2", "Eth32/3", "Eth32/4"], + "8x50G[25G,10G,1G]": ["Eth32/1", "Eth32/2", "Eth32/3", "Eth32/4", "Eth32/5", "Eth32/6", "Eth32/7", "Eth32/8"] + }, + "index": "32,32,32,32,32,32,32,32", + "lanes": "248,249,250,251,252,253,254,255" + }, + "Ethernet256":{ + "breakout_modes": { + "1x10G": ["Eth33"] + }, + "index": "33", + "lanes": "256" + } + } +} diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/port_config.ini b/device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/port_config.ini deleted file mode 100755 index 74865956f61b..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/port_config.ini +++ /dev/null @@ -1,55 +0,0 @@ -# name lanes -Ethernet0 0 -Ethernet1 1 -Ethernet2 2 -Ethernet3 3 -Ethernet4 4 -Ethernet5 5 -Ethernet6 6 -Ethernet7 7 -Ethernet8 8 -Ethernet9 9 -Ethernet10 10 -Ethernet11 11 -Ethernet12 12 -Ethernet13 13 -Ethernet14 14 -Ethernet15 15 -Ethernet16 16 -Ethernet17 17 -Ethernet18 18 -Ethernet19 19 -Ethernet20 20 -Ethernet21 21 -Ethernet22 22 -Ethernet23 23 -Ethernet24 24 -Ethernet25 25 -Ethernet26 26 -Ethernet27 27 -Ethernet28 28 -Ethernet29 29 -Ethernet30 30 -Ethernet31 31 -Ethernet32 32 -Ethernet33 33 -Ethernet34 34 -Ethernet35 35 -Ethernet36 36 -Ethernet37 37 -Ethernet38 38 -Ethernet39 39 -Ethernet40 40 -Ethernet41 41 -Ethernet42 42 -Ethernet43 43 -Ethernet44 44 -Ethernet45 45 -Ethernet46 46 -Ethernet47 47 -Ethernet48 48 -Ethernet49 49 -Ethernet50 50 -Ethernet51 51 -Ethernet52 52 -Ethernet53 53 diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/sai.profile b/device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/sai.profile deleted file mode 100755 index edba72ba4823..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/SLM5401-54x/sai.profile +++ /dev/null @@ -1,2 +0,0 @@ -mode=1 -hwId=slm5401-54x diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/default_sku b/device/marvell/x86_64-marvell_slm5401_54x-r0/default_sku deleted file mode 100644 index 8ace9a8abcef..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/default_sku +++ /dev/null @@ -1 +0,0 @@ -SLM5401-54x t1 diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/installer.conf b/device/marvell/x86_64-marvell_slm5401_54x-r0/installer.conf deleted file mode 100755 index 14404194ef53..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/installer.conf +++ /dev/null @@ -1,3 +0,0 @@ -CONSOLE_PORT=0x2f8 -CONSOLE_DEV=1 -CONSOLE_SPEED=115200 diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/platform_asic b/device/marvell/x86_64-marvell_slm5401_54x-r0/platform_asic deleted file mode 100644 index a554752878b7..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/platform_asic +++ /dev/null @@ -1 +0,0 @@ -marvell diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/eeprom.py b/device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/eeprom.py deleted file mode 100755 index 951384d5e37d..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/eeprom.py +++ /dev/null @@ -1,23 +0,0 @@ -try: - import binascii - import time - import optparse - import warnings - import os - import sys - from sonic_eeprom import eeprom_base - from sonic_eeprom import eeprom_tlvinfo - import subprocess -except ImportError as e: - raise ImportError(str(e) + "- required module not found") - - -class board(eeprom_tlvinfo.TlvInfoDecoder): - _TLV_INFO_MAX_LEN = 256 - - def __init__(self, name, path, cpld_root, ro): - self.eeprom_path = "/sys/bus/i2c/devices/1-0057/eeprom" - # Two i2c buses might get flipped order, check them both. - if not os.path.exists(self.eeprom_path): - self.eeprom_path = "/sys/bus/i2c/devices/0-0057/eeprom" - super(board, self).__init__(self.eeprom_path, 0, '', True) diff --git a/device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/sfputil.py b/device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/sfputil.py deleted file mode 100755 index b1d356e393ee..000000000000 --- a/device/marvell/x86_64-marvell_slm5401_54x-r0/plugins/sfputil.py +++ /dev/null @@ -1,132 +0,0 @@ -try: - import time - from sonic_sfp.sfputilbase import SfpUtilBase -except ImportError as e: - raise ImportError(str(e) + "- required module not found") - - -class sfputil(SfpUtilBase): - """Platform specific sfputil class""" - - port_start = 0 - port_end = 31 - ports_in_block = 32 - - port_to_eeprom_mapping = {} - port_to_i2c_mapping = { - 9: 18, - 10: 19, - 11: 20, - 12: 21, - 1: 22, - 2: 23, - 3: 24, - 4: 25, - 6: 26, - 5: 27, - 8: 28, - 7: 29, - 13: 30, - 14: 31, - 15: 32, - 16: 33, - 17: 34, - 18: 35, - 19: 36, - 20: 37, - 25: 38, - 26: 39, - 27: 40, - 28: 41, - 29: 42, - 30: 43, - 31: 44, - 32: 45, - 21: 46, - 22: 47, - 23: 48, - 24: 49, - } - - _qsfp_ports = list(range(0, ports_in_block + 1)) - - def __init__(self): - # Override port_to_eeprom_mapping for class initialization - eeprom_path = '/sys/bus/i2c/devices/{0}-0050/sfp_eeprom' - for x in range(self.port_start, self.port_end + 1): - port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x+1]) - self.port_to_eeprom_mapping[x] = port_eeprom_path - SfpUtilBase.__init__(self) - - def reset(self, port_num): - # Check for invalid port_num - if port_num < self._port_start or port_num > self._port_end: - return False - - path = "/sys/bus/i2c/devices/{0}-0050/sfp_port_reset" - port_ps = path.format(self.port_to_i2c_mapping[port_num+1]) - - try: - reg_file = open(port_ps, 'w') - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return False - - # toggle reset - reg_file.seek(0) - reg_file.write('1') - time.sleep(1) - reg_file.seek(0) - reg_file.write('0') - reg_file.close() - return True - - def set_low_power_mode(self, port_nuM, lpmode): - raise NotImplementedErro - - def get_low_power_mode(self, port_num): - raise NotImplementedErro - - 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 - - path = "/sys/bus/i2c/devices/{0}-0050/sfp_is_present" - port_ps = path.format(self.port_to_i2c_mapping[port_num+1]) - - try: - reg_file = open(port_ps) - except IOError as e: - print("Error: unable to open file: %s" % str(e)) - return False - - reg_value = reg_file.readline().rstrip() - if reg_value == '1': - return True - - return False - - @property - def port_start(self): - return self._port_start - - @property - def port_end(self): - return self._port_end - - @property - def qsfp_ports(self): - return list(range(0, self.ports_in_block + 1)) - - @property - def port_to_eeprom_mapping(self): - return self._port_to_eeprom_mapping - - def get_transceiver_change_event(self): - """ - TODO: This function need to be implemented - when decide to support monitoring SFP(Xcvrd) - on this platform. - """ - raise NotImplementedError diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 index 20273084f7de..da5945ed5858 100644 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 @@ -1,5 +1,6 @@ {# - Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. + SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES + Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. Apache-2.0 Licensed under the Apache License, Version 2.0 (the "License"); @@ -92,8 +93,7 @@ "BUFFER_PG": { "Dpc": { "active": { - "dynamic": "ingress_lossy_profile", - "static": "ingress_lossy_profile" + "dynamic": "NULL" }, "inactive": { "dynamic": "ingress_lossy_profile", @@ -361,12 +361,6 @@ "{{ port }}|3-4": { "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'dynamic')}} }, -{% else %} -{% if port in PORT_DPC %} - "{{ port }}|3-4": { - "profile" : {{find_profile_to_attach('BUFFER_PG', port, 'active', 'static')}} - }, -{% endif %} {% endif %} "{{ port }}|0": { "profile" : "ingress_lossy_profile" diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O32/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O32/pg_profile_lookup.ini index 745cc6e12ca5..60e5a2c38c98 120000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O32/pg_profile_lookup.ini +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O32/pg_profile_lookup.ini @@ -1 +1 @@ -../../x86_64-nvidia_sn4280-r0/ACS-SN4280/pg_profile_lookup.ini \ No newline at end of file +../Mellanox-SN4700-O8C48/pg_profile_lookup.ini \ No newline at end of file diff --git a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V64/pg_profile_lookup.ini b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V64/pg_profile_lookup.ini index 745cc6e12ca5..60e5a2c38c98 120000 --- a/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V64/pg_profile_lookup.ini +++ b/device/mellanox/x86_64-mlnx_msn4700-r0/Mellanox-SN4700-V64/pg_profile_lookup.ini @@ -1 +1 @@ -../../x86_64-nvidia_sn4280-r0/ACS-SN4280/pg_profile_lookup.ini \ No newline at end of file +../Mellanox-SN4700-O8C48/pg_profile_lookup.ini \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers.json.j2 deleted file mode 100644 index e7817793ba3a..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers.json.j2 +++ /dev/null @@ -1,18 +0,0 @@ -{# - Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. - Apache-2.0 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -#} -{%- set default_topo = 't1' %} -{%- include 'buffers_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_objects.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_objects.j2 deleted file mode 120000 index 09998eb836e5..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_objects.j2 +++ /dev/null @@ -1 +0,0 @@ -../../x86_64-mlnx_msn4700-r0/Mellanox-SN4700-O28/buffers_defaults_objects.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_t0.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_t0.j2 deleted file mode 100644 index 0814c102746c..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_t0.j2 +++ /dev/null @@ -1,43 +0,0 @@ -{# - Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. - Apache-2.0 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -#} -{% set default_cable = '40m' %} -{%-set ports2cable = { - 'leafrouter_torrouter' : '300m', - 'torrouter_server' : '40m' - } --%} -{% set ingress_lossless_pool_size = '52064208' %} -{% set ingress_lossless_pool_xoff = '3461040' %} -{% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '52064208' %} - -{% import 'buffers_defaults_objects.j2' as defs with context %} - -{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} -{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }} -{%- endmacro %} - -{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} -{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }} -{%- endmacro %} - -{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %} -{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }} -{%- endmacro %} - -{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %} -{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }} -{%- endmacro %} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_t1.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_t1.j2 deleted file mode 100644 index c816c29f560d..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_defaults_t1.j2 +++ /dev/null @@ -1,44 +0,0 @@ -{# - Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. - Apache-2.0 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -#} -{% set default_cable = '300m' %} -{%-set ports2cable = { - 'spinerouter_leafrouter' : '2000m', - 'leafrouter_torrouter' : '300m' - } --%} -{% set ingress_lossless_pool_size = '46743552' %} -{% set ingress_lossless_pool_xoff = '8781696' %} -{% set egress_lossless_pool_size = '60817392' %} -{% set egress_lossy_pool_size = '46743552' %} - -{% import 'buffers_defaults_objects.j2' as defs with context %} - -{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} -{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }} -{%- endmacro %} - -{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} -{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }} -{%- endmacro %} - -{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %} -{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }} -{%- endmacro %} - -{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %} -{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }} -{%- endmacro %} - diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_dynamic.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_dynamic.json.j2 deleted file mode 100644 index 54964e94b1df..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/buffers_dynamic.json.j2 +++ /dev/null @@ -1,19 +0,0 @@ -{# - Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. - Apache-2.0 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -#} -{%- set default_topo = 't1' %} -{%- set dynamic_mode = 'true' %} -{%- include 'buffers_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/hwsku.json b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/hwsku.json deleted file mode 100644 index 44cce9bf468f..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/hwsku.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "interfaces": { - "Ethernet0": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet8": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet16": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet24": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet32": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet40": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet48": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet56": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet64": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet72": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet80": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet88": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet96": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet104": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet112": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet120": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet128": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet136": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet144": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet152": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet160": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet168": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet176": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet184": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet192": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet200": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet208": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet216": { - "default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G,1G]", - "subport": "1" - }, - "Ethernet224": { - "default_brkout_mode": "1x400G", - "subport": "1", - "autoneg": "on", - "role": "Dpc" - }, - "Ethernet232": { - "default_brkout_mode": "1x400G", - "subport": "1", - "autoneg": "on", - "role": "Dpc" - }, - "Ethernet240": { - "default_brkout_mode": "1x400G", - "subport": "1", - "autoneg": "on", - "role": "Dpc" - }, - "Ethernet248": { - "default_brkout_mode": "1x400G", - "subport": "1", - "autoneg": "on", - "role": "Dpc" - } - } -} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/pg_profile_lookup.ini b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/pg_profile_lookup.ini deleted file mode 100644 index 9fbb8eacf9ca..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/pg_profile_lookup.ini +++ /dev/null @@ -1,53 +0,0 @@ -## -## Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. -## Apache-2.0 -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## -# PG lossless profiles. -# speed cable size xon xoff threshold - 10000 5m 19456 19456 16384 0 - 25000 5m 19456 19456 17408 0 - 40000 5m 19456 19456 19456 0 - 50000 5m 19456 19456 21504 0 - 100000 5m 19456 19456 37888 0 - 200000 5m 19456 19456 43008 0 - 400000 5m 38912 38912 73728 0 - 10000 40m 19456 19456 16384 0 - 25000 40m 19456 19456 18432 0 - 40000 40m 19456 19456 21504 0 - 50000 40m 19456 19456 23552 0 - 100000 40m 19456 19456 43008 0 - 200000 40m 19456 19456 51200 0 - 400000 40m 38912 38912 91136 0 - 10000 300m 19456 19456 19456 0 - 25000 300m 19456 19456 26624 0 - 40000 300m 19456 19456 34816 0 - 50000 300m 19456 19456 40960 0 - 100000 300m 19456 19456 75776 0 - 200000 300m 19456 19456 118784 0 - 400000 300m 38912 38912 225280 0 - 10000 1500m 19456 19456 35840 0 - 25000 1500m 19456 19456 65536 0 - 40000 1500m 19456 19456 96256 0 - 50000 1500m 19456 19456 117760 0 - 100000 1500m 19456 19456 230400 0 - 200000 1500m 19456 19456 427008 0 - 400000 1500m 38912 38912 427008 0 - 10000 2000m 19456 19456 41984 0 - 25000 2000m 19456 19456 80896 0 - 40000 2000m 19456 19456 121856 0 - 50000 2000m 19456 19456 149504 0 - 100000 2000m 19456 19456 293888 0 - 200000 2000m 19456 19456 555008 0 - 400000 2000m 38912 38912 555008 0 diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/port_config.ini b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/port_config.ini deleted file mode 100644 index 5a5faf7b9875..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/port_config.ini +++ /dev/null @@ -1,51 +0,0 @@ -## -## Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. -## Apache-2.0 -## -## Licensed under the Apache License, Version 2.0 (the "License"); -## you may not use this file except in compliance with the License. -## You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, software -## distributed under the License is distributed on an "AS IS" BASIS, -## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -## See the License for the specific language governing permissions and -## limitations under the License. -## - - -# name lanes alias index -Ethernet0 0,1,2,3,4,5,6,7 etp1 1 -Ethernet8 8,9,10,11,12,13,14,15 etp2 2 -Ethernet16 16,17,18,19,20,21,22,23 etp3 3 -Ethernet24 24,25,26,27,28,29,30,31 etp4 4 -Ethernet32 32,33,34,35,36,37,38,39 etp5 5 -Ethernet40 40,41,42,43,44,45,46,47 etp6 6 -Ethernet48 48,49,50,51,52,53,54,55 etp7 7 -Ethernet56 56,57,58,59,60,61,62,63 etp8 8 -Ethernet64 64,65,66,67,68,69,70,71 etp9 9 -Ethernet72 72,73,74,75,76,77,78,79 etp10 10 -Ethernet80 80,81,82,83,84,85,86,87 etp11 11 -Ethernet88 88,89,90,91,92,93,94,95 etp12 12 -Ethernet96 96,97,98,99,100,101,102,103 etp13 13 -Ethernet104 104,105,106,107,108,109,110,111 etp14 14 -Ethernet112 112,113,114,115,116,117,118,119 etp15 15 -Ethernet120 120,121,122,123,124,125,126,127 etp16 16 -Ethernet128 128,129,130,131,132,133,134,135 etp17 17 -Ethernet136 136,137,138,139,140,141,142,143 etp18 18 -Ethernet144 144,145,146,147,148,149,150,151 etp19 19 -Ethernet152 152,153,154,155,156,157,158,159 etp20 20 -Ethernet160 160,161,162,163,164,165,166,167 etp21 21 -Ethernet168 168,169,170,171,172,173,174,175 etp22 22 -Ethernet176 176,177,178,179,180,181,182,183 etp23 23 -Ethernet184 184,185,186,187,188,189,190,191 etp24 24 -Ethernet192 192,193,194,195,196,197,198,199 etp25 25 -Ethernet200 200,201,202,203,204,205,206,207 etp26 26 -Ethernet208 208,209,210,211,212,213,214,215 etp27 27 -Ethernet216 216,217,218,219,220,221,222,223 etp28 28 -Ethernet224 224,225,226,227,228,229,230,231 etp29 29 -Ethernet232 232,233,234,235,236,237,238,239 etp30 30 -Ethernet240 240,241,242,243,244,245,246,247 etp31 31 -Ethernet248 248,249,250,251,252,253,254,255 etp32 32 diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/qos.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/qos.json.j2 deleted file mode 120000 index eccf286dc879..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/qos.json.j2 +++ /dev/null @@ -1 +0,0 @@ -../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/sai.profile b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/sai.profile deleted file mode 100644 index 33a14a2ecc7f..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/sai.profile +++ /dev/null @@ -1 +0,0 @@ -SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_4280.xml diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/sai_4280.xml b/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/sai_4280.xml deleted file mode 100644 index 185aae6cf999..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/ACS-SN4280/sai_4280.xml +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - 00:77:66:55:44:00 - - - 1 - - - 32 - - - 1 - - - - - 1 - 8 - 13 - - - 3 - - - 32768 - - - 5 - 8 - 12 - 3 - 32768 - - - 9 - 8 - 15 - 3 - 32768 - - - 13 - 8 - 14 - 3 - 32768 - - - 17 - 8 - 17 - 3 - 32768 - - - 21 - 8 - 16 - 3 - 32768 - - - 25 - 8 - 19 - 3 - 32768 - - - 29 - 8 - 18 - 3 - 32768 - - - 33 - 8 - 25 - 3 - 32768 - - - 37 - 8 - 24 - 3 - 32768 - - - 41 - 8 - 27 - 3 - 32768 - - - 45 - 8 - 26 - 3 - 32768 - - - 49 - 8 - 21 - 3 - 32768 - - - 53 - 8 - 20 - 3 - 32768 - - - 57 - 8 - 23 - 3 - 32768 - - - 61 - 8 - 22 - 3 - 32768 - - - 65 - 8 - 10 - 3 - 32768 - - - 69 - 8 - 11 - 3 - 32768 - - - 73 - 8 - 8 - 3 - 32768 - - - 77 - 8 - 9 - 3 - 32768 - - - 81 - 8 - 6 - 3 - 32768 - - - 85 - 8 - 7 - 3 - 32768 - - - 89 - 8 - 4 - 3 - 32768 - - - 93 - 8 - 5 - 3 - 32768 - - - 97 - 8 - 31 - 3 - 32768 - - - 101 - 8 - 30 - 3 - 32768 - - - 105 - 8 - 29 - 3 - 32768 - - - 109 - 8 - 28 - 3 - 32768 - - - 113 - 8 - 2 - 3 - 32768 - - - 117 - 8 - 3 - 3 - 32768 - - - 121 - 8 - 0 - 3 - 32768 - - - 125 - 8 - 1 - 3 - 32768 - - - - diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers.json.j2 deleted file mode 120000 index 16698726c6b8..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers.json.j2 +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/buffers.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers.json.j2 new file mode 100644 index 000000000000..04bbc0b45ccb --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers.json.j2 @@ -0,0 +1,19 @@ +{# + SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES + Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t0.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t0.j2 deleted file mode 120000 index f6b2affa3064..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t0.j2 +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/buffers_defaults_t0.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t0.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t0.j2 new file mode 100644 index 000000000000..9227dcf22fad --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t0.j2 @@ -0,0 +1,45 @@ +{# + SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES + Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} +{% set default_cable = '40m' %} +{%-set ports2cable = { + 'leafrouter_torrouter' : '300m', + 'torrouter_server' : '40m' + } +-%} +{% set ingress_lossless_pool_size = '52064208' %} +{% set ingress_lossless_pool_xoff = '3461040' %} +{% set egress_lossless_pool_size = '60817392' %} +{% set egress_lossy_pool_size = '52064208' %} + +{% import 'buffers_defaults_objects.j2' as defs with context %} + +{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} +{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }} +{%- endmacro %} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t1.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t1.j2 deleted file mode 120000 index e464a9c5e64a..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t1.j2 +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/buffers_defaults_t1.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t1.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t1.j2 new file mode 100644 index 000000000000..05867d36af3b --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_defaults_t1.j2 @@ -0,0 +1,46 @@ +{# + SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES + Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} +{% set default_cable = '300m' %} +{%-set ports2cable = { + 'spinerouter_leafrouter' : '2000m', + 'leafrouter_torrouter' : '300m' + } +-%} +{% set ingress_lossless_pool_size = '46743552' %} +{% set ingress_lossless_pool_xoff = '8781696' %} +{% set egress_lossless_pool_size = '60817392' %} +{% set egress_lossy_pool_size = '46743552' %} + +{% import 'buffers_defaults_objects.j2' as defs with context %} + +{%- macro generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) %} +{{ defs.generate_buffer_pool_and_profiles_with_inactive_ports(port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_profile_lists_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_profile_lists(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_queue_buffers_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_queue_buffers(port_names_active, port_names_inactive) }} +{%- endmacro %} + +{%- macro generate_pg_profiles_with_inactive_ports(port_names_active, port_names_inactive) %} +{{ defs.generate_pg_profiles(port_names_active, port_names_inactive) }} +{%- endmacro %} + diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_dynamic.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_dynamic.json.j2 deleted file mode 120000 index 12e94d69128c..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_dynamic.json.j2 +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/buffers_dynamic.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_dynamic.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_dynamic.json.j2 new file mode 100644 index 000000000000..d4611df7c0f1 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/buffers_dynamic.json.j2 @@ -0,0 +1,20 @@ +{# + SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES + Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + Apache-2.0 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +#} +{%- set default_topo = 't1' %} +{%- set dynamic_mode = 'true' %} +{%- include 'buffers_config.j2' %} diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/pg_profile_lookup.ini b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/pg_profile_lookup.ini deleted file mode 120000 index 35b70c764a93..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/pg_profile_lookup.ini +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/pg_profile_lookup.ini \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/pg_profile_lookup.ini b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/pg_profile_lookup.ini new file mode 100644 index 000000000000..aa1ed9a9a1f7 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/pg_profile_lookup.ini @@ -0,0 +1,54 @@ +## +## SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES +## Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +## Apache-2.0 +## +## Licensed under the Apache License, Version 2.0 (the "License"); +## you may not use this file except in compliance with the License. +## You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. +## +# PG lossless profiles. +# speed cable size xon xoff threshold + 10000 5m 19456 19456 16384 0 + 25000 5m 19456 19456 17408 0 + 40000 5m 19456 19456 19456 0 + 50000 5m 19456 19456 21504 0 + 100000 5m 19456 19456 37888 0 + 200000 5m 19456 19456 43008 0 + 400000 5m 38912 38912 73728 0 + 10000 40m 19456 19456 16384 0 + 25000 40m 19456 19456 18432 0 + 40000 40m 19456 19456 21504 0 + 50000 40m 19456 19456 23552 0 + 100000 40m 19456 19456 43008 0 + 200000 40m 19456 19456 51200 0 + 400000 40m 38912 38912 91136 0 + 10000 300m 19456 19456 19456 0 + 25000 300m 19456 19456 26624 0 + 40000 300m 19456 19456 34816 0 + 50000 300m 19456 19456 40960 0 + 100000 300m 19456 19456 75776 0 + 200000 300m 19456 19456 118784 0 + 400000 300m 38912 38912 225280 0 + 10000 1500m 19456 19456 35840 0 + 25000 1500m 19456 19456 65536 0 + 40000 1500m 19456 19456 96256 0 + 50000 1500m 19456 19456 117760 0 + 100000 1500m 19456 19456 230400 0 + 200000 1500m 19456 19456 427008 0 + 400000 1500m 38912 38912 427008 0 + 10000 2000m 19456 19456 41984 0 + 25000 2000m 19456 19456 80896 0 + 40000 2000m 19456 19456 121856 0 + 50000 2000m 19456 19456 149504 0 + 100000 2000m 19456 19456 293888 0 + 200000 2000m 19456 19456 555008 0 + 400000 2000m 38912 38912 555008 0 diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/port_config.ini b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/port_config.ini deleted file mode 120000 index 155ca39e4c86..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/port_config.ini +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/port_config.ini \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/port_config.ini b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/port_config.ini new file mode 100644 index 000000000000..4d961c8fda8d --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/port_config.ini @@ -0,0 +1,52 @@ +## +## SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES +## Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +## Apache-2.0 +## +## Licensed under the Apache License, Version 2.0 (the "License"); +## you may not use this file except in compliance with the License. +## You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, software +## distributed under the License is distributed on an "AS IS" BASIS, +## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +## See the License for the specific language governing permissions and +## limitations under the License. +## + + +# name lanes alias index +Ethernet0 0,1,2,3,4,5,6,7 etp1 1 +Ethernet8 8,9,10,11,12,13,14,15 etp2 2 +Ethernet16 16,17,18,19,20,21,22,23 etp3 3 +Ethernet24 24,25,26,27,28,29,30,31 etp4 4 +Ethernet32 32,33,34,35,36,37,38,39 etp5 5 +Ethernet40 40,41,42,43,44,45,46,47 etp6 6 +Ethernet48 48,49,50,51,52,53,54,55 etp7 7 +Ethernet56 56,57,58,59,60,61,62,63 etp8 8 +Ethernet64 64,65,66,67,68,69,70,71 etp9 9 +Ethernet72 72,73,74,75,76,77,78,79 etp10 10 +Ethernet80 80,81,82,83,84,85,86,87 etp11 11 +Ethernet88 88,89,90,91,92,93,94,95 etp12 12 +Ethernet96 96,97,98,99,100,101,102,103 etp13 13 +Ethernet104 104,105,106,107,108,109,110,111 etp14 14 +Ethernet112 112,113,114,115,116,117,118,119 etp15 15 +Ethernet120 120,121,122,123,124,125,126,127 etp16 16 +Ethernet128 128,129,130,131,132,133,134,135 etp17 17 +Ethernet136 136,137,138,139,140,141,142,143 etp18 18 +Ethernet144 144,145,146,147,148,149,150,151 etp19 19 +Ethernet152 152,153,154,155,156,157,158,159 etp20 20 +Ethernet160 160,161,162,163,164,165,166,167 etp21 21 +Ethernet168 168,169,170,171,172,173,174,175 etp22 22 +Ethernet176 176,177,178,179,180,181,182,183 etp23 23 +Ethernet184 184,185,186,187,188,189,190,191 etp24 24 +Ethernet192 192,193,194,195,196,197,198,199 etp25 25 +Ethernet200 200,201,202,203,204,205,206,207 etp26 26 +Ethernet208 208,209,210,211,212,213,214,215 etp27 27 +Ethernet216 216,217,218,219,220,221,222,223 etp28 28 +Ethernet224 224,225,226,227,228,229,230,231 etp29 29 +Ethernet232 232,233,234,235,236,237,238,239 etp30 30 +Ethernet240 240,241,242,243,244,245,246,247 etp31 31 +Ethernet248 248,249,250,251,252,253,254,255 etp32 32 diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/qos.json.j2 b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/qos.json.j2 index eb7a6af87698..eccf286dc879 120000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/qos.json.j2 +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/qos.json.j2 @@ -1 +1 @@ -../ACS-SN4280/qos.json.j2 \ No newline at end of file +../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2 \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/sai_4280.xml b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/sai_4280.xml deleted file mode 120000 index 4aa1ca449855..000000000000 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/sai_4280.xml +++ /dev/null @@ -1 +0,0 @@ -../ACS-SN4280/sai_4280.xml \ No newline at end of file diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/sai_4280.xml b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/sai_4280.xml new file mode 100644 index 000000000000..765e7dd4a6b7 --- /dev/null +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/Mellanox-SN4280-O28/sai_4280.xml @@ -0,0 +1,266 @@ + + + + + + + 00:77:66:55:44:00 + + + 1 + + + 32 + + + 1 + + + + + 1 + 8 + 13 + + + 3 + + + 32768 + + + 5 + 8 + 12 + 3 + 32768 + + + 9 + 8 + 15 + 3 + 32768 + + + 13 + 8 + 14 + 3 + 32768 + + + 17 + 8 + 17 + 3 + 32768 + + + 21 + 8 + 16 + 3 + 32768 + + + 25 + 8 + 19 + 3 + 32768 + + + 29 + 8 + 18 + 3 + 32768 + + + 33 + 8 + 25 + 3 + 32768 + + + 37 + 8 + 24 + 3 + 32768 + + + 41 + 8 + 27 + 3 + 32768 + + + 45 + 8 + 26 + 3 + 32768 + + + 49 + 8 + 21 + 3 + 32768 + + + 53 + 8 + 20 + 3 + 32768 + + + 57 + 8 + 23 + 3 + 32768 + + + 61 + 8 + 22 + 3 + 32768 + + + 65 + 8 + 10 + 3 + 32768 + + + 69 + 8 + 11 + 3 + 32768 + + + 73 + 8 + 8 + 3 + 32768 + + + 77 + 8 + 9 + 3 + 32768 + + + 81 + 8 + 6 + 3 + 32768 + + + 85 + 8 + 7 + 3 + 32768 + + + 89 + 8 + 4 + 3 + 32768 + + + 93 + 8 + 5 + 3 + 32768 + + + 97 + 8 + 31 + 3 + 32768 + + + 101 + 8 + 30 + 3 + 32768 + + + 105 + 8 + 29 + 3 + 32768 + + + 109 + 8 + 28 + 3 + 32768 + + + 113 + 8 + 2 + 3 + 32768 + + + 117 + 8 + 3 + 3 + 32768 + + + 121 + 8 + 0 + 3 + 32768 + + + 125 + 8 + 1 + 3 + 32768 + + + + diff --git a/device/mellanox/x86_64-nvidia_sn4280-r0/default_sku b/device/mellanox/x86_64-nvidia_sn4280-r0/default_sku index 4b5ca0bd1a7e..467698c2de51 100644 --- a/device/mellanox/x86_64-nvidia_sn4280-r0/default_sku +++ b/device/mellanox/x86_64-nvidia_sn4280-r0/default_sku @@ -1 +1 @@ -ACS-SN4280 t1-smartswitch +Mellanox-SN4280-O28 t1-smartswitch \ No newline at end of file diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/hwsku.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/hwsku.json new file mode 100644 index 000000000000..1535dc8ad4d4 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/hwsku.json @@ -0,0 +1,172 @@ +{ + "interfaces": { + "Ethernet1": { + "default_brkout_mode": "1x100G" + }, + "Ethernet2": { + "default_brkout_mode": "1x100G" + }, + "Ethernet3": { + "default_brkout_mode": "1x100G" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G" + }, + "Ethernet5": { + "default_brkout_mode": "1x100G" + }, + "Ethernet6": { + "default_brkout_mode": "1x100G" + }, + "Ethernet7": { + "default_brkout_mode": "1x100G" + }, + "Ethernet8": { + "default_brkout_mode": "1x100G" + }, + "Ethernet9": { + "default_brkout_mode": "1x100G" + }, + "Ethernet10": { + "default_brkout_mode": "1x100G" + }, + "Ethernet11": { + "default_brkout_mode": "1x100G" + }, + "Ethernet12": { + "default_brkout_mode": "1x100G" + }, + "Ethernet13": { + "default_brkout_mode": "1x100G" + }, + "Ethernet14": { + "default_brkout_mode": "1x100G" + }, + "Ethernet15": { + "default_brkout_mode": "1x100G" + }, + "Ethernet16": { + "default_brkout_mode": "1x100G" + }, + "Ethernet17": { + "default_brkout_mode": "1x100G" + }, + "Ethernet18": { + "default_brkout_mode": "1x100G" + }, + "Ethernet19": { + "default_brkout_mode": "1x100G" + }, + "Ethernet20": { + "default_brkout_mode": "1x100G" + }, + "Ethernet21": { + "default_brkout_mode": "1x100G" + }, + "Ethernet22": { + "default_brkout_mode": "1x100G" + }, + "Ethernet23": { + "default_brkout_mode": "1x100G" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G" + }, + "Ethernet25": { + "default_brkout_mode": "1x100G" + }, + "Ethernet26": { + "default_brkout_mode": "1x100G" + }, + "Ethernet27": { + "default_brkout_mode": "1x100G" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G" + }, + "Ethernet29": { + "default_brkout_mode": "1x100G" + }, + "Ethernet30": { + "default_brkout_mode": "1x100G" + }, + "Ethernet31": { + "default_brkout_mode": "1x100G" + }, + "Ethernet32": { + "default_brkout_mode": "1x100G" + }, + "Ethernet33": { + "default_brkout_mode": "1x100G" + }, + "Ethernet34": { + "default_brkout_mode": "1x100G" + }, + "Ethernet35": { + "default_brkout_mode": "1x100G" + }, + "Ethernet36": { + "default_brkout_mode": "1x100G" + }, + "Ethernet37": { + "default_brkout_mode": "1x100G" + }, + "Ethernet38": { + "default_brkout_mode": "1x100G" + }, + "Ethernet39": { + "default_brkout_mode": "1x100G" + }, + "Ethernet40": { + "default_brkout_mode": "1x100G" + }, + "Ethernet41": { + "default_brkout_mode": "1x100G" + }, + "Ethernet42": { + "default_brkout_mode": "1x100G" + }, + "Ethernet43": { + "default_brkout_mode": "1x100G" + }, + "Ethernet44": { + "default_brkout_mode": "1x100G" + }, + "Ethernet45": { + "default_brkout_mode": "1x100G" + }, + "Ethernet46": { + "default_brkout_mode": "1x100G" + }, + "Ethernet47": { + "default_brkout_mode": "1x100G" + }, + "Ethernet48": { + "default_brkout_mode": "1x100G" + }, + "Ethernet49": { + "default_brkout_mode": "1x400G" + }, + "Ethernet57": { + "default_brkout_mode": "1x400G" + }, + "Ethernet65": { + "default_brkout_mode": "1x400G" + }, + "Ethernet73": { + "default_brkout_mode": "1x400G" + }, + "Ethernet81": { + "default_brkout_mode": "1x400G" + }, + "Ethernet89": { + "default_brkout_mode": "1x400G" + }, + "Ethernet97": { + "default_brkout_mode": "1x400G" + }, + "Ethernet105": { + "default_brkout_mode": "1x400G" + } + } +} \ No newline at end of file diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/port_config.ini b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/port_config.ini new file mode 100644 index 000000000000..ec85bf921d9b --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/port_config.ini @@ -0,0 +1,57 @@ +# name lanes alias index speed +Ethernet1 41,42 hundredGigE0/1 0 100000 +Ethernet2 43,44 hundredGigE0/2 1 100000 +Ethernet3 45,46 hundredGigE0/3 2 100000 +Ethernet4 47,48 hundredGigE0/4 3 100000 +Ethernet5 49,50 hundredGigE0/5 4 100000 +Ethernet6 51,52 hundredGigE0/6 5 100000 +Ethernet7 53,54 hundredGigE0/7 6 100000 +Ethernet8 55,56 hundredGigE0/8 7 100000 +Ethernet9 57,58 hundredGigE0/9 8 100000 +Ethernet10 59,60 hundredGigE0/10 9 100000 +Ethernet11 61,62 hundredGigE0/11 10 100000 +Ethernet12 63,64 hundredGigE0/12 11 100000 +Ethernet13 9,10 hundredGigE0/13 12 100000 +Ethernet14 11,12 hundredGigE0/14 13 100000 +Ethernet15 13,14 hundredGigE0/15 14 100000 +Ethernet16 15,16 hundredGigE0/16 15 100000 +Ethernet17 17,18 hundredGigE0/17 16 100000 +Ethernet18 19,20 hundredGigE0/18 17 100000 +Ethernet19 21,22 hundredGigE0/19 18 100000 +Ethernet20 23,24 hundredGigE0/20 19 100000 +Ethernet21 25,26 hundredGigE0/21 20 100000 +Ethernet22 27,28 hundredGigE0/22 21 100000 +Ethernet23 29,30 hundredGigE0/23 22 100000 +Ethernet24 31,32 hundredGigE0/24 23 100000 +Ethernet25 81,82 hundredGigE0/25 24 100000 +Ethernet26 83,84 hundredGigE0/26 25 100000 +Ethernet27 85,86 hundredGigE0/27 26 100000 +Ethernet28 87,88 hundredGigE0/28 27 100000 +Ethernet29 89,90 hundredGigE0/29 28 100000 +Ethernet30 91,92 hundredGigE0/30 29 100000 +Ethernet31 93,94 hundredGigE0/31 30 100000 +Ethernet32 95,96 hundredGigE0/32 31 100000 +Ethernet33 97,98 hundredGigE0/33 32 100000 +Ethernet34 99,100 hundredGigE0/34 33 100000 +Ethernet35 101,102 hundredGigE0/35 34 100000 +Ethernet36 103,104 hundredGigE0/36 35 100000 +Ethernet37 137,138 hundredGigE0/37 36 100000 +Ethernet38 139,140 hundredGigE0/38 37 100000 +Ethernet39 141,142 hundredGigE0/39 38 100000 +Ethernet40 143,144 hundredGigE0/40 39 100000 +Ethernet41 145,146 hundredGigE0/41 40 100000 +Ethernet42 147,148 hundredGigE0/42 41 100000 +Ethernet43 149,150 hundredGigE0/43 42 100000 +Ethernet44 151,152 hundredGigE0/44 43 100000 +Ethernet45 153,154 hundredGigE0/45 44 100000 +Ethernet46 155,156 hundredGigE0/46 45 100000 +Ethernet47 157,158 hundredGigE0/47 46 100000 +Ethernet48 159,160 hundredGigE0/48 47 100000 +Ethernet49 1,2,3,4,5,6,7,8 fourHundredGigE0/1 48 400000 +Ethernet57 33,34,35,36,37,38,39,40 fourHundredGigE0/2 49 400000 +Ethernet65 73,74,75,76,77,78,79,80 fourHundredGigE0/3 50 400000 +Ethernet73 65,66,67,68,69,70,71,72 fourHundredGigE0/4 51 400000 +Ethernet81 105,106,107,108,109,110,111,112 fourHundredGigE0/5 52 400000 +Ethernet89 113,114,115,116,117,118,119,120 fourHundredGigE0/6 53 400000 +Ethernet97 129,130,131,132,133,134,135,136 fourHundredGigE0/7 54 400000 +Ethernet105 121,122,123,124,125,126,127,128 fourHundredGigE0/8 55 400000 diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/sai.profile b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/sai.profile new file mode 100644 index 000000000000..59bfe0386f9d --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/sai.profile @@ -0,0 +1 @@ +SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/td4-m2-w6520-48c8qc-48x100G-8x400G.yml diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/td4-m2-w6520-48c8qc-48x100G-8x400G.yml b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/td4-m2-w6520-48c8qc-48x100G-8x400G.yml new file mode 100644 index 000000000000..f86594bcff18 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/M2-W6520-48C8QC/td4-m2-w6520-48c8qc-48x100G-8x400G.yml @@ -0,0 +1,695 @@ +--- +bcm_device: + 0: + global: + bcm_tunnel_term_compatible_mode: 1 + vlan_flooding_l2mc_num_reserved: 0 + shared_block_mask_section: uc_bc + l3_alpm_template: 1 + l3_alpm2_bnk_threshold: 100 + svi_my_station_optimization: 1 + sai_nbr_bcast_ifp_optimized: 2 + uft_mode: 1 + l3_enable: 1 + l2_hitbit_enable: 0 + pktio_mode: 1 + sai_optimized_mmu: 1 + sai_pfc_defaults_disable: 1 + warmboot_knet_shutdown_mode: 1 + sai_postinit_cmd_file: /usr/share/sonic/platform/postinit_cmd_file.soc +... + +--- +device: + 0: + FP_CONFIG: + #FP_ING_OPERMODE: PIPE_UNIQUE + FP_ING_OPERMODE: GLOBAL_PIPE_AWARE +... + +--- +bcm_device: + 0: + port: + "*": + encap_mode: IEEE + dport_map_enable: 1 + 20: + dport_map_port: 1 + 21: + dport_map_port: 2 + 22: + dport_map_port: 3 + 23: + dport_map_port: 4 + 24: + dport_map_port: 5 + 25: + dport_map_port: 6 + 26: + dport_map_port: 7 + 27: + dport_map_port: 8 + 28: + dport_map_port: 9 + 29: + dport_map_port: 10 + 30: + dport_map_port: 11 + 31: + dport_map_port: 12 + 3: + dport_map_port: 13 + 4: + dport_map_port: 14 + 5: + dport_map_port: 15 + 6: + dport_map_port: 16 + 7: + dport_map_port: 17 + 8: + dport_map_port: 18 + 9: + dport_map_port: 19 + 10: + dport_map_port: 20 + 11: + dport_map_port: 21 + 12: + dport_map_port: 22 + 13: + dport_map_port: 23 + 14: + dport_map_port: 24 + 40: + dport_map_port: 25 + 41: + dport_map_port: 26 + 42: + dport_map_port: 27 + 43: + dport_map_port: 28 + 44: + dport_map_port: 29 + 45: + dport_map_port: 30 + 46: + dport_map_port: 31 + 47: + dport_map_port: 32 + 48: + dport_map_port: 33 + 49: + dport_map_port: 34 + 50: + dport_map_port: 35 + 51: + dport_map_port: 36 + 64: + dport_map_port: 37 + 65: + dport_map_port: 38 + 66: + dport_map_port: 39 + 67: + dport_map_port: 40 + 68: + dport_map_port: 41 + 69: + dport_map_port: 42 + 70: + dport_map_port: 43 + 71: + dport_map_port: 44 + 72: + dport_map_port: 45 + 73: + dport_map_port: 46 + 74: + dport_map_port: 47 + 75: + dport_map_port: 48 + 1: + dport_map_port: 49 + 15: + dport_map_port: 50 + 34: + dport_map_port: 51 + 32: + dport_map_port: 52 + 52: + dport_map_port: 53 + 54: + dport_map_port: 54 + 62: + dport_map_port: 55 + 60: + dport_map_port: 56 +... + +--- +device: + 0: + DEVICE_CONFIG: + # CORE CLOCK FREQUENCY + CORE_CLK_FREQ: CLK_1350MHZ + # PP CLOCK FREQUENCY + PP_CLK_FREQ: CLK_1350MHZ +... + +--- +device: + 0: + PC_PM_CORE: + ? + PC_PM_ID: 1 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x37152604 + RX_LANE_MAP: 0x36174052 + TX_POLARITY_FLIP: 0xa + RX_POLARITY_FLIP: 0xb2 + ? + PC_PM_ID: 2 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x12537064 + RX_LANE_MAP: 0x07654213 + TX_POLARITY_FLIP: 0x8e + RX_POLARITY_FLIP: 0x41 + ? + PC_PM_ID: 3 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x01234576 + RX_LANE_MAP: 0x32017645 + TX_POLARITY_FLIP: 0x74 + RX_POLARITY_FLIP: 0xa9 + ? + PC_PM_ID: 4 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x01234576 + RX_LANE_MAP: 0x32017645 + TX_POLARITY_FLIP: 0x74 + RX_POLARITY_FLIP: 0xa9 + ? + PC_PM_ID: 5 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x24056371 + RX_LANE_MAP: 0x10452736 + TX_POLARITY_FLIP: 0xaf + RX_POLARITY_FLIP: 0xc0 + ? + PC_PM_ID: 6 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x67453201 + RX_LANE_MAP: 0x46750132 + TX_POLARITY_FLIP: 0xb7 + RX_POLARITY_FLIP: 0x95 + ? + PC_PM_ID: 7 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x67453201 + RX_LANE_MAP: 0x46750132 + TX_POLARITY_FLIP: 0xb7 + RX_POLARITY_FLIP: 0x95 + ? + PC_PM_ID: 8 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x67453201 + RX_LANE_MAP: 0x46750132 + TX_POLARITY_FLIP: 0xb7 + RX_POLARITY_FLIP: 0x95 + ? + PC_PM_ID: 9 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x37452106 + RX_LANE_MAP: 0x24053617 + TX_POLARITY_FLIP: 0x20 + RX_POLARITY_FLIP: 0xcf + ? + PC_PM_ID: 10 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x03162475 + RX_LANE_MAP: 0x53216740 + TX_POLARITY_FLIP: 0x63 + RX_POLARITY_FLIP: 0x2b + ? + PC_PM_ID: 11 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x67542310 + RX_LANE_MAP: 0x45760132 + TX_POLARITY_FLIP: 0xee + RX_POLARITY_FLIP: 0x0 + ? + PC_PM_ID: 12 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x12735064 + RX_LANE_MAP: 0x07654213 + TX_POLARITY_FLIP: 0x76 + RX_POLARITY_FLIP: 0x69 + ? + PC_PM_ID: 13 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x01324567 + RX_LANE_MAP: 0x32017546 + TX_POLARITY_FLIP: 0x8b + RX_POLARITY_FLIP: 0x56 + ? + PC_PM_ID: 14 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x03172465 + RX_LANE_MAP: 0x26147350 + TX_POLARITY_FLIP: 0xed + RX_POLARITY_FLIP: 0x21 + ? + PC_PM_ID: 15 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x06275341 + RX_LANE_MAP: 0x20574163 + TX_POLARITY_FLIP: 0xb5 + RX_POLARITY_FLIP: 0x7e + ? + PC_PM_ID: 16 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x61503247 + RX_LANE_MAP: 0x47103526 + TX_POLARITY_FLIP: 0x88 + RX_POLARITY_FLIP: 0x31 + ? + PC_PM_ID: 17 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x74615203 + RX_LANE_MAP: 0x14256073 + TX_POLARITY_FLIP: 0xa0 + RX_POLARITY_FLIP: 0x85 + ? + PC_PM_ID: 18 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x76452301 + RX_LANE_MAP: 0x45761320 + TX_POLARITY_FLIP: 0xb8 + RX_POLARITY_FLIP: 0x6f + ? + PC_PM_ID: 19 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x64705312 + RX_LANE_MAP: 0x57420136 + TX_POLARITY_FLIP: 0xcb + RX_POLARITY_FLIP: 0xec + ? + PC_PM_ID: 20 + CORE_INDEX: 0 + : + TX_LANE_MAP_AUTO: 0 + RX_LANE_MAP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_LANE_MAP: 0x10235467 + RX_LANE_MAP: 0x32017645 + TX_POLARITY_FLIP: 0xee + RX_POLARITY_FLIP: 0x0 +... + +--- +device: + 0: + PC_PORT_PHYS_MAP: + ? + # CPU port + PORT_ID: 0 + : + PC_PHYS_PORT_ID: 0 + ? + PORT_ID: 1 + : + PC_PHYS_PORT_ID: 1 + ? + PORT_ID: 3 + : + PC_PHYS_PORT_ID: 9 + ? + PORT_ID: 4 + : + PC_PHYS_PORT_ID: 11 + ? + PORT_ID: 5 + : + PC_PHYS_PORT_ID: 13 + ? + PORT_ID: 6 + : + PC_PHYS_PORT_ID: 15 + ? + PORT_ID: 7 + : + PC_PHYS_PORT_ID: 17 + ? + PORT_ID: 8 + : + PC_PHYS_PORT_ID: 19 + ? + PORT_ID: 9 + : + PC_PHYS_PORT_ID: 21 + ? + PORT_ID: 10 + : + PC_PHYS_PORT_ID: 23 + ? + PORT_ID: 11 + : + PC_PHYS_PORT_ID: 25 + ? + PORT_ID: 12 + : + PC_PHYS_PORT_ID: 27 + ? + PORT_ID: 13 + : + PC_PHYS_PORT_ID: 29 + ? + PORT_ID: 14 + : + PC_PHYS_PORT_ID: 31 + ? + PORT_ID: 15 + : + PC_PHYS_PORT_ID: 33 + ? + PORT_ID: 20 + : + PC_PHYS_PORT_ID: 41 + ? + PORT_ID: 21 + : + PC_PHYS_PORT_ID: 43 + ? + PORT_ID: 22 + : + PC_PHYS_PORT_ID: 45 + ? + PORT_ID: 23 + : + PC_PHYS_PORT_ID: 47 + ? + PORT_ID: 24 + : + PC_PHYS_PORT_ID: 49 + ? + PORT_ID: 25 + : + PC_PHYS_PORT_ID: 51 + ? + PORT_ID: 26 + : + PC_PHYS_PORT_ID: 53 + ? + PORT_ID: 27 + : + PC_PHYS_PORT_ID: 55 + ? + PORT_ID: 28 + : + PC_PHYS_PORT_ID: 57 + ? + PORT_ID: 29 + : + PC_PHYS_PORT_ID: 59 + ? + PORT_ID: 30 + : + PC_PHYS_PORT_ID: 61 + ? + PORT_ID: 31 + : + PC_PHYS_PORT_ID: 63 + ? + PORT_ID: 32 + : + PC_PHYS_PORT_ID: 65 + ? + PORT_ID: 34 + : + PC_PHYS_PORT_ID: 73 + ? + PORT_ID: 40 + : + PC_PHYS_PORT_ID: 81 + ? + PORT_ID: 41 + : + PC_PHYS_PORT_ID: 83 + ? + PORT_ID: 42 + : + PC_PHYS_PORT_ID: 85 + ? + PORT_ID: 43 + : + PC_PHYS_PORT_ID: 87 + ? + PORT_ID: 44 + : + PC_PHYS_PORT_ID: 89 + ? + PORT_ID: 45 + : + PC_PHYS_PORT_ID: 91 + ? + PORT_ID: 46 + : + PC_PHYS_PORT_ID: 93 + ? + PORT_ID: 47 + : + PC_PHYS_PORT_ID: 95 + ? + PORT_ID: 48 + : + PC_PHYS_PORT_ID: 97 + ? + PORT_ID: 49 + : + PC_PHYS_PORT_ID: 99 + ? + PORT_ID: 50 + : + PC_PHYS_PORT_ID: 101 + ? + PORT_ID: 51 + : + PC_PHYS_PORT_ID: 103 + ? + PORT_ID: 52 + : + PC_PHYS_PORT_ID: 105 + ? + PORT_ID: 54 + : + PC_PHYS_PORT_ID: 113 + ? + PORT_ID: 60 + : + PC_PHYS_PORT_ID: 121 + ? + PORT_ID: 62 + : + PC_PHYS_PORT_ID: 129 + ? + PORT_ID: 64 + : + PC_PHYS_PORT_ID: 137 + ? + PORT_ID: 65 + : + PC_PHYS_PORT_ID: 139 + ? + PORT_ID: 66 + : + PC_PHYS_PORT_ID: 141 + ? + PORT_ID: 67 + : + PC_PHYS_PORT_ID: 143 + ? + PORT_ID: 68 + : + PC_PHYS_PORT_ID: 145 + ? + PORT_ID: 69 + : + PC_PHYS_PORT_ID: 147 + ? + PORT_ID: 70 + : + PC_PHYS_PORT_ID: 149 + ? + PORT_ID: 71 + : + PC_PHYS_PORT_ID: 151 + ? + PORT_ID: 72 + : + PC_PHYS_PORT_ID: 153 + ? + PORT_ID: 73 + : + PC_PHYS_PORT_ID: 155 + ? + PORT_ID: 74 + : + PC_PHYS_PORT_ID: 157 + ? + PORT_ID: 75 + : + PC_PHYS_PORT_ID: 159 +... + +--- +device: + 0: + PC_PORT: + ? + PORT_ID: 0 + : + ENABLE: 1 + SPEED: 10000 + NUM_LANES: 1 + ? + PORT_ID: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75] + : + ENABLE: 0 + SPEED: 100000 + FEC_MODE: PC_FEC_RS544 + NUM_LANES: 2 + LINK_TRAINING: 0 + MAX_FRAME_SIZE: 9416 + ? + PORT_ID: [1, 15, 32, 34, 52, 54, 60, 62] + : + ENABLE: 0 + SPEED: 400000 + FEC_MODE: PC_FEC_RS544_2XN + NUM_LANES: 8 + LINK_TRAINING: 0 + MAX_FRAME_SIZE: 9416 +... + +--- +device: + 0: + PC_PMD_FIRMWARE: + ? + PORT_ID: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 1, 15, 32, 34, 52, 54, 60, 62] + : + MEDIUM_TYPE_AUTO: 0 + MEDIUM_TYPE: PC_PHY_MEDIUM_COPPER +... + +--- +device: + 0: + TM_SCHEDULER_CONFIG: + NUM_MC_Q: NUM_MC_Q_4 +... \ No newline at end of file diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/cpu.cint b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/cpu.cint new file mode 100644 index 000000000000..6c96e0ab095c --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/cpu.cint @@ -0,0 +1,82 @@ +cint_reset(); + +int cint_field_group_create(int unit, bcm_field_group_t grp) +{ + int rv; + + bcm_field_qset_t qset; + bcm_field_aset_t aset; + + BCM_FIELD_QSET_INIT(qset); + BCM_FIELD_QSET_ADD(qset,bcmFieldQualifyDstMac); + BCM_FIELD_QSET_ADD(qset, bcmFieldQualifyStageIngress); + + BCM_FIELD_ASET_INIT(aset); + BCM_FIELD_ASET_ADD(aset, bcmFieldActionCopyToCpu); + + rv = bcm_field_group_create_mode_id(unit, qset, 103, bcmFieldGroupModeAuto, grp); + if (rv != BCM_E_NONE) { + printf("bcm_field_group_create_mode_id failed, rv = %d\r\n", rv); + return -1; + } + printf("cint_field_group_create success!!!, rv = %d\r\n", rv); + + bcm_field_group_dump(unit,grp); + return 0; +} + +int cint_field_entry_create1(int unit, bcm_field_group_t grp,bcm_field_entry_t entry) +{ + int rv; + bcm_mac_t dst_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; + bcm_mac_t mac_mask = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; + + rv = bcm_field_entry_create_id(unit, grp, entry); + if (rv != BCM_E_NONE) { + printf("bcm_field_entry_create_id failed, rv = %d\r\n", rv); + return -1; + } + + + rv =bcm_field_qualify_DstMac(unit, entry, dst_mac, mac_mask); + if (rv != BCM_E_NONE) { + printf("bcm_field_qualify_DstMac failed,ret = %d\r\n", rv); + bcm_field_entry_destroy(unit, entry); + return -1; + } + + rv = bcm_field_action_add(unit, entry, bcmFieldActionCopyToCpu, 1, 0); + if (rv != BCM_E_NONE) { + printf("bcm_field_action_add failed, rv = %d \r\n", rv); + bcm_field_entry_destroy(unit, entry); + return -1; + } + + rv = bcm_field_action_add(unit, entry, bcmFieldActionDrop, 1, 0); + if (rv != BCM_E_NONE) { + printf("bcm_field_action_add failed, rv = %d \r\n", rv); + bcm_field_entry_destroy(unit, entry); + return -1; + } + + rv = bcm_field_entry_install(unit, entry); + if (rv != BCM_E_NONE) { + printf("bcm_field_entry_install failed,ret = %d\r\n", rv); + bcm_field_entry_destroy(unit, entry); + return -1; + } + + printf("********************* BEGIN ****************************\r\n"); + bcm_field_entry_dump(unit, entry); + printf("*********************** END ****************************\r\n"); + + return 0; +} + +cint_field_group_create(0,5); +cint_field_entry_create1(0,5,2048); + +//bcm_field_entry_destroy(0, 2048); +//bcm_field_group_destroy(0, 5); + + diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/custom_led.bin b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/custom_led.bin new file mode 100644 index 000000000000..58044f407eec Binary files /dev/null and b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/custom_led.bin differ diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/default_sku b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/default_sku new file mode 100644 index 000000000000..709411e3f75c --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/default_sku @@ -0,0 +1 @@ +M2-W6520-48C8QC l2 diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/dev.xml b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/dev.xml new file mode 100644 index 000000000000..05a40388be84 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/dev.xml @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/fru.py b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/fru.py new file mode 100644 index 000000000000..f95164e03601 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/fru.py @@ -0,0 +1,961 @@ +#!/usr/bin/python3 +import collections +from datetime import datetime, timedelta +from bitarray import bitarray + + +__DEBUG__ = "N" + + +class FruException(Exception): + def __init__(self, message='fruerror', code=-100): + err = 'errcode: {0} message:{1}'.format(code, message) + Exception.__init__(self, err) + self.code = code + self.message = message + + +def e_print(err): + print("ERROR: " + err) + + +def d_print(debug_info): + if __DEBUG__ == "Y": + print(debug_info) + + +class FruUtil(): + @staticmethod + def decodeLength(value): + a = bitarray(8) + a.setall(True) + a[0:1] = 0 + a[1:2] = 0 + x = ord(a.tobytes()) + return x & ord(value) + + @staticmethod + def minToData(): + starttime = datetime(1996, 1, 1, 0, 0, 0) + endtime = datetime.now() + seconds = (endtime - starttime).total_seconds() + mins = seconds // 60 + m = int(round(mins)) + return m + + @staticmethod + def getTimeFormat(): + return datetime.now().strftime('%Y-%m-%d') + + @staticmethod + def getTypeLength(value): + if value is None or len(value) == 0: + return 0 + a = bitarray(8) + a.setall(False) + a[0:1] = 1 + a[1:2] = 1 + x = ord(a.tobytes()) + return x | len(value) + + @staticmethod + def checksum(b): + result = 0 + for item in b: + result += ord(item) + return (0x100 - (result & 0xff)) & 0xff + + +class BaseArea(object): + SUGGESTED_SIZE_COMMON_HEADER = 8 + SUGGESTED_SIZE_INTERNAL_USE_AREA = 72 + SUGGESTED_SIZE_CHASSIS_INFO_AREA = 32 + SUGGESTED_SIZE_BOARD_INFO_AREA = 80 + SUGGESTED_SIZE_PRODUCT_INFO_AREA = 80 + + INITVALUE = b'\x00' + resultvalue = INITVALUE * 256 + COMMON_HEAD_VERSION = b'\x01' + __childList = None + + def __init__(self, name="", size=0, offset=0): + self.__childList = [] + self._offset = offset + self.name = name + self._size = size + self._isPresent = False + self._data = b'\x00' * size + + @property + def childList(self): + return self.__childList + + @childList.setter + def childList(self, value): + self.__childList = value + + @property + def offset(self): + return self._offset + + @offset.setter + def offset(self, value): + self._offset = value + + @property + def size(self): + return self._size + + @size.setter + def size(self, value): + self._size = value + + @property + def data(self): + return self._data + + @data.setter + def data(self, value): + self._data = value + + @property + def isPresent(self): + return self._isPresent + + @isPresent.setter + def isPresent(self, value): + self._isPresent = value + + +class InternalUseArea(BaseArea): + pass + + +class ChassisInfoArea(BaseArea): + pass + + +class BoardInfoArea(BaseArea): + _boardTime = None + _fields = None + _mfg_date = None + areaversion = None + _boardversion = None + _language = None + + def __str__(self): + formatstr = "version : %x\n" \ + "length : %d \n" \ + "language : %x \n" \ + "mfg_date : %s \n" \ + "boardManufacturer : %s \n" \ + "boardProductName : %s \n" \ + "boardSerialNumber : %s \n" \ + "boardPartNumber : %s \n" \ + "fruFileId : %s \n" + + tmpstr = formatstr % (ord(self.boardversion), self.size, + self.language, self.getMfgRealData(), + self.boardManufacturer, self.boardProductName, + self.boardSerialNumber, self.boardPartNumber, + self.fruFileId) + for i in range(1, 11): + valtmp = "boardextra%d" % i + if hasattr(self, valtmp): + valtmpval = getattr(self, valtmp) + tmpstr += "boardextra%d : %s \n" % (i, valtmpval) + else: + break + + return tmpstr + + def todict(self): + dic = collections.OrderedDict() + dic["boardversion"] = ord(self.boardversion) + dic["boardlength"] = self.size + dic["boardlanguage"] = self.language + dic["boardmfg_date"] = self.getMfgRealData() + dic["boardManufacturer"] = self.boardManufacturer + dic["boardProductName"] = self.boardProductName + dic["boardSerialNumber"] = self.boardSerialNumber + dic["boardPartNumber"] = self.boardPartNumber + dic["boardfruFileId"] = self.fruFileId + for i in range(1, 11): + valtmp = "boardextra%d" % i + if hasattr(self, valtmp): + valtmpval = getattr(self, valtmp) + dic[valtmp] = valtmpval + else: + break + return dic + + def decodedata(self): + index = 0 + self.areaversion = self.data[index] + index += 1 + d_print("decode length :%d class size:%d" % + ((ord(self.data[index]) * 8), self.size)) + index += 2 + + timetmp = self.data[index: index + 3] + self.mfg_date = ord(timetmp[0]) | ( + ord(timetmp[1]) << 8) | (ord(timetmp[2]) << 16) + d_print("decode getMfgRealData :%s" % self.getMfgRealData()) + index += 3 + + templen = FruUtil.decodeLength(self.data[index]) + self.boardManufacturer = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode boardManufacturer:%s" % self.boardManufacturer) + + templen = FruUtil.decodeLength(self.data[index]) + self.boardProductName = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode boardProductName:%s" % self.boardProductName) + + templen = FruUtil.decodeLength(self.data[index]) + self.boardSerialNumber = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode boardSerialNumber:%s" % self.boardSerialNumber) + + templen = FruUtil.decodeLength(self.data[index]) + self.boardPartNumber = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode boardPartNumber:%s" % self.boardPartNumber) + + templen = FruUtil.decodeLength(self.data[index]) + self.fruFileId = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode fruFileId:%s" % self.fruFileId) + + for i in range(1, 11): + valtmp = "boardextra%d" % i + if self.data[index] != chr(0xc1): + templen = FruUtil.decodeLength(self.data[index]) + tmpval = self.data[index + 1: index + templen + 1] + setattr(self, valtmp, tmpval) + index += templen + 1 + d_print("decode boardextra%d:%s" % (i, tmpval)) + else: + break + + def fruSetValue(self, field, value): + tmp_field = getattr(self, field, None) + if tmp_field is not None: + setattr(self, field, value) + + def recalcute(self): + d_print("boardInfoArea version:%x" % ord(self.boardversion)) + d_print("boardInfoArea length:%d" % self.size) + d_print("boardInfoArea language:%x" % self.language) + self.mfg_date = FruUtil.minToData() + d_print("boardInfoArea mfg_date:%x" % self.mfg_date) + + self.data = chr(ord(self.boardversion)) + \ + chr(self.size // 8) + chr(self.language) + + self.data += chr(self.mfg_date & 0xFF) + self.data += chr((self.mfg_date >> 8) & 0xFF) + self.data += chr((self.mfg_date >> 16) & 0xFF) + + d_print("boardInfoArea boardManufacturer:%s" % self.boardManufacturer) + typelength = FruUtil.getTypeLength(self.boardManufacturer) + self.data += chr(typelength) + self.data += self.boardManufacturer + + d_print("boardInfoArea boardProductName:%s" % self.boardProductName) + self.data += chr(FruUtil.getTypeLength(self.boardProductName)) + self.data += self.boardProductName + + d_print("boardInfoArea boardSerialNumber:%s" % self.boardSerialNumber) + self.data += chr(FruUtil.getTypeLength(self.boardSerialNumber)) + self.data += self.boardSerialNumber + + d_print("boardInfoArea boardPartNumber:%s" % self.boardPartNumber) + self.data += chr(FruUtil.getTypeLength(self.boardPartNumber)) + self.data += self.boardPartNumber + + d_print("boardInfoArea fruFileId:%s" % self.fruFileId) + self.data += chr(FruUtil.getTypeLength(self.fruFileId)) + self.data += self.fruFileId + + for i in range(1, 11): + valtmp = "boardextra%d" % i + if hasattr(self, valtmp): + valtmpval = getattr(self, valtmp) + d_print("boardInfoArea boardextra%d:%s" % (i, valtmpval)) + self.data += chr(FruUtil.getTypeLength(valtmpval)) + if valtmpval is not None: + self.data += valtmpval + else: + break + + self.data += chr(0xc1) + + if len(self.data) > (self.size - 1): + incr = (len(self.data) - self.size) // 8 + 1 + self.size += incr * 8 + + self.data = self.data[0:1] + chr(self.size // 8) + self.data[2:] + d_print("self data:%d" % len(self.data)) + d_print("self size:%d" % self.size) + d_print("adjust size:%d" % (self.size - len(self.data) - 1)) + self.data = self.data.ljust((self.size - 1), chr(self.INITVALUE[0])) + + # checksum + checksum = FruUtil.checksum(self.data) + d_print("board info checksum:%x" % checksum) + self.data += chr(checksum) + + def getMfgRealData(self): + starttime = datetime(1996, 1, 1, 0, 0, 0) + mactime = starttime + timedelta(minutes=self.mfg_date) + return mactime + + @property + def language(self): + self._language = 25 + return self._language + + @property + def mfg_date(self): + return self._mfg_date + + @mfg_date.setter + def mfg_date(self, val): + self._mfg_date = val + + @property + def boardversion(self): + self._boardversion = self.COMMON_HEAD_VERSION + return self._boardversion + + @property + def fruFileId(self): + return self._FRUFileID + + @fruFileId.setter + def fruFileId(self, val): + self._FRUFileID = val + + @property + def boardPartNumber(self): + return self._boardPartNumber + + @boardPartNumber.setter + def boardPartNumber(self, val): + self._boardPartNumber = val + + @property + def boardSerialNumber(self): + return self._boardSerialNumber + + @boardSerialNumber.setter + def boardSerialNumber(self, val): + self._boardSerialNumber = val + + @property + def boardProductName(self): + return self._boradProductName + + @boardProductName.setter + def boardProductName(self, val): + self._boradProductName = val + + @property + def boardManufacturer(self): + return self._boardManufacturer + + @boardManufacturer.setter + def boardManufacturer(self, val): + self._boardManufacturer = val + + @property + def boardTime(self): + return self._boardTime + + @boardTime.setter + def boardTime(self, val): + self._boardTime = val + + @property + def fields(self): + return self._fields + + @fields.setter + def fields(self, val): + self._fields = val + + +class ProductInfoArea(BaseArea): + _productManufacturer = None + _productAssetTag = None + _FRUFileID = None + _language = None + + def __str__(self): + formatstr = "version : %x\n" \ + "length : %d \n" \ + "language : %x \n" \ + "productManufacturer : %s \n" \ + "productName : %s \n" \ + "productPartModelName: %s \n" \ + "productVersion : %s \n" \ + "productSerialNumber : %s \n" \ + "productAssetTag : %s \n" \ + "fruFileId : %s \n" + + tmpstr = formatstr % (ord(self.areaversion), self.size, + self.language, self.productManufacturer, + self.productName, self.productPartModelName, + self.productVersion, self.productSerialNumber, + self.productAssetTag, self.fruFileId) + + for i in range(1, 11): + valtmp = "productextra%d" % i + if hasattr(self, valtmp): + valtmpval = getattr(self, valtmp) + tmpstr += "productextra%d : %s \n" % (i, valtmpval) + else: + break + + return tmpstr + + def todict(self): + dic = collections.OrderedDict() + dic["productversion"] = ord(self.areaversion) + dic["productlength"] = self.size + dic["productlanguage"] = self.language + dic["productManufacturer"] = self.productManufacturer + dic["productName"] = self.productName + dic["productPartModelName"] = self.productPartModelName + dic["productVersion"] = int(self.productVersion, 16) + dic["productSerialNumber"] = self.productSerialNumber + dic["productAssetTag"] = self.productAssetTag + dic["productfruFileId"] = self.fruFileId + for i in range(1, 11): + valtmp = "productextra%d" % i + if hasattr(self, valtmp): + valtmpval = getattr(self, valtmp) + dic[valtmp] = valtmpval + else: + break + return dic + + def decodedata(self): + index = 0 + self.areaversion = self.data[index] # 0 + index += 1 + d_print("decode length %d" % (ord(self.data[index]) * 8)) + d_print("class size %d" % self.size) + index += 2 + + templen = FruUtil.decodeLength(self.data[index]) + self.productManufacturer = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode productManufacturer:%s" % self.productManufacturer) + + templen = FruUtil.decodeLength(self.data[index]) + self.productName = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode productName:%s" % self.productName) + + templen = FruUtil.decodeLength(self.data[index]) + self.productPartModelName = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode productPartModelName:%s" % self.productPartModelName) + + templen = FruUtil.decodeLength(self.data[index]) + self.productVersion = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode productVersion:%s" % self.productVersion) + + templen = FruUtil.decodeLength(self.data[index]) + self.productSerialNumber = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode productSerialNumber:%s" % self.productSerialNumber) + + templen = FruUtil.decodeLength(self.data[index]) + self.productAssetTag = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode productAssetTag:%s" % self.productAssetTag) + + templen = FruUtil.decodeLength(self.data[index]) + self.fruFileId = self.data[index + 1: index + templen + 1] + index += templen + 1 + d_print("decode fruFileId:%s" % self.fruFileId) + + for i in range(1, 11): + valtmp = "productextra%d" % i + if self.data[index] != chr(0xc1) and index < self.size - 1: + templen = FruUtil.decodeLength(self.data[index]) + if templen == 0: + break + tmpval = self.data[index + 1: index + templen + 1] + d_print("decode boardextra%d:%s" % (i, tmpval)) + setattr(self, valtmp, tmpval) + index += templen + 1 + else: + break + + @property + def productVersion(self): + return self._productVersion + + @productVersion.setter + def productVersion(self, name): + self._productVersion = name + + @property + def areaversion(self): + self._areaversion = self.COMMON_HEAD_VERSION + return self._areaversion + + @areaversion.setter + def areaversion(self, name): + self._areaversion = name + + @property + def language(self): + self._language = 25 + return self._language + + @property + def productManufacturer(self): + return self._productManufacturer + + @productManufacturer.setter + def productManufacturer(self, name): + self._productManufacturer = name + + @property + def productName(self): + return self._productName + + @productName.setter + def productName(self, name): + self._productName = name + + @property + def productPartModelName(self): + return self._productPartModelName + + @productPartModelName.setter + def productPartModelName(self, name): + self._productPartModelName = name + + @property + def productSerialNumber(self): + return self._productSerialNumber + + @productSerialNumber.setter + def productSerialNumber(self, name): + self._productSerialNumber = name + + @property + def productAssetTag(self): + return self._productAssetTag + + @productAssetTag.setter + def productAssetTag(self, name): + self._productAssetTag = name + + @property + def fruFileId(self): + return self._FRUFileID + + @fruFileId.setter + def fruFileId(self, name): + self._FRUFileID = name + + def fruSetValue(self, field, value): + tmp_field = getattr(self, field, None) + if tmp_field is not None: + setattr(self, field, value) + + def recalcute(self): + d_print("product version:%x" % ord(self.areaversion)) + d_print("product length:%d" % self.size) + d_print("product language:%x" % self.language) + self.data = chr(ord(self.areaversion)) + \ + chr(self.size // 8) + chr(self.language) + + typelength = FruUtil.getTypeLength(self.productManufacturer) + self.data += chr(typelength) + self.data += self.productManufacturer + + self.data += chr(FruUtil.getTypeLength(self.productName)) + self.data += self.productName + + self.data += chr(FruUtil.getTypeLength(self.productPartModelName)) + self.data += self.productPartModelName + + self.data += chr(FruUtil.getTypeLength(self.productVersion)) + self.data += self.productVersion + + self.data += chr(FruUtil.getTypeLength(self.productSerialNumber)) + self.data += self.productSerialNumber + + self.data += chr(FruUtil.getTypeLength(self.productAssetTag)) + if self.productAssetTag is not None: + self.data += self.productAssetTag + + self.data += chr(FruUtil.getTypeLength(self.fruFileId)) + self.data += self.fruFileId + + for i in range(1, 11): + valtmp = "productextra%d" % i + if hasattr(self, valtmp): + valtmpval = getattr(self, valtmp) + d_print("boardInfoArea productextra%d:%s" % (i, valtmpval)) + self.data += chr(FruUtil.getTypeLength(valtmpval)) + if valtmpval is not None: + self.data += valtmpval + else: + break + + self.data += chr(0xc1) + if len(self.data) > (self.size - 1): + incr = (len(self.data) - self.size) // 8 + 1 + self.size += incr * 8 + d_print("self.data:%d" % len(self.data)) + d_print("self.size:%d" % self.size) + + self.data = self.data[0:1] + chr(self.size // 8) + self.data[2:] + self.data = self.data.ljust((self.size - 1), chr(self.INITVALUE[0])) + checksum = FruUtil.checksum(self.data) + d_print("board info checksum:%x" % checksum) + self.data += chr(checksum) + + +class MultiRecordArea(BaseArea): + pass + + +class Field(object): + + def __init__(self, fieldType="ASCII", fieldData=""): + self.fieldData = fieldData + self.fieldType = fieldType + + @property + def fieldType(self): + return self.fieldType + + @property + def fieldData(self): + return self.fieldData + + +class ipmifru(BaseArea): + _BoardInfoArea = None + _ProductInfoArea = None + _InternalUseArea = None + _ChassisInfoArea = None + _multiRecordArea = None + _productinfoAreaOffset = BaseArea.INITVALUE + _boardInfoAreaOffset = BaseArea.INITVALUE + _internalUserAreaOffset = BaseArea.INITVALUE + _chassicInfoAreaOffset = BaseArea.INITVALUE + _multiRecordAreaOffset = BaseArea.INITVALUE + _bindata = None + _bodybin = None + _version = BaseArea.COMMON_HEAD_VERSION + _zeroCheckSum = None + _frusize = 256 + + def __str__(self): + tmpstr = "" + if self.boardInfoArea.isPresent: + tmpstr += "\nboardinfoarea: \n" + tmpstr += self.boardInfoArea.__str__() + if self.productInfoArea.isPresent: + tmpstr += "\nproductinfoarea: \n" + tmpstr += self.productInfoArea.__str__() + return tmpstr + + def decodeBin(self, eeprom): + commonHead = eeprom[0:8] + d_print("decode version %x" % ord(commonHead[0])) + if ord(self.COMMON_HEAD_VERSION) != ord(commonHead[0]): + raise FruException("HEAD VERSION error,not Fru format!", -10) + if FruUtil.checksum(commonHead[0:7]) != ord(commonHead[7]): + strtemp = "check header checksum error [cal:%02x data:%02x]" % ( + FruUtil.checksum(commonHead[0:7]), ord(commonHead[7])) + raise FruException(strtemp, -3) + if ord(commonHead[1]) != ord(self.INITVALUE): + d_print("Internal Use Area is present") + self.internalUseArea = InternalUseArea( + name="Internal Use Area", size=self.SUGGESTED_SIZE_INTERNAL_USE_AREA) + self.internalUseArea.isPresent = True + self.internalUserAreaOffset = ord(commonHead[1]) + self.internalUseArea.data = eeprom[self.internalUserAreaOffset * 8: ( + self.internalUserAreaOffset * 8 + self.internalUseArea.size)] + if ord(commonHead[2]) != ord(self.INITVALUE): + d_print("Chassis Info Area is present") + self.chassisInfoArea = ChassisInfoArea( + name="Chassis Info Area", size=self.SUGGESTED_SIZE_CHASSIS_INFO_AREA) + self.chassisInfoArea.isPresent = True + self.chassicInfoAreaOffset = ord(commonHead[2]) + self.chassisInfoArea.data = eeprom[self.chassicInfoAreaOffset * 8: ( + self.chassicInfoAreaOffset * 8 + self.chassisInfoArea.size)] + if ord(commonHead[3]) != ord(self.INITVALUE): + self.boardInfoArea = BoardInfoArea( + name="Board Info Area", size=self.SUGGESTED_SIZE_BOARD_INFO_AREA) + self.boardInfoArea.isPresent = True + self.boardInfoAreaOffset = ord(commonHead[3]) + self.boardInfoArea.size = ord( + eeprom[self.boardInfoAreaOffset * 8 + 1]) * 8 + d_print("Board Info Area is present size:%d" % + (self.boardInfoArea.size)) + self.boardInfoArea.data = eeprom[self.boardInfoAreaOffset * 8: ( + self.boardInfoAreaOffset * 8 + self.boardInfoArea.size)] + if FruUtil.checksum(self.boardInfoArea.data[:-1]) != ord(self.boardInfoArea.data[-1:]): + strtmp = "check boardInfoArea checksum error[cal:%02x data:%02x]" % \ + (FruUtil.checksum( + self.boardInfoArea.data[:-1]), ord(self.boardInfoArea.data[-1:])) + raise FruException(strtmp, -3) + self.boardInfoArea.decodedata() + if ord(commonHead[4]) != ord(self.INITVALUE): + d_print("Product Info Area is present") + self.productInfoArea = ProductInfoArea( + name="Product Info Area ", size=self.SUGGESTED_SIZE_PRODUCT_INFO_AREA) + self.productInfoArea.isPresent = True + self.productinfoAreaOffset = ord(commonHead[4]) + d_print("length offset value: %02x" % + ord(eeprom[self.productinfoAreaOffset * 8 + 1])) + self.productInfoArea.size = ord( + eeprom[self.productinfoAreaOffset * 8 + 1]) * 8 + d_print("Product Info Area is present size:%d" % + (self.productInfoArea.size)) + + self.productInfoArea.data = eeprom[self.productinfoAreaOffset * 8: ( + self.productinfoAreaOffset * 8 + self.productInfoArea.size)] + if FruUtil.checksum(self.productInfoArea.data[:-1]) != ord(self.productInfoArea.data[-1:]): + strtmp = "check productInfoArea checksum error [cal:%02x data:%02x]" % ( + FruUtil.checksum(self.productInfoArea.data[:-1]), ord(self.productInfoArea.data[-1:])) + raise FruException(strtmp, -3) + self.productInfoArea.decodedata() + if ord(commonHead[5]) != ord(self.INITVALUE): + self.multiRecordArea = MultiRecordArea( + name="MultiRecord record Area ") + d_print("MultiRecord record present") + self.multiRecordArea.isPresent = True + self.multiRecordAreaOffset = ord(commonHead[5]) + self.multiRecordArea.data = eeprom[self.multiRecordAreaOffset * 8: ( + self.multiRecordAreaOffset * 8 + self.multiRecordArea.size)] + + def initDefault(self): + self.version = self.COMMON_HEAD_VERSION + self.internalUserAreaOffset = self.INITVALUE + self.chassicInfoAreaOffset = self.INITVALUE + self.boardInfoAreaOffset = self.INITVALUE + self.productinfoAreaOffset = self.INITVALUE + self.multiRecordAreaOffset = self.INITVALUE + self.zeroCheckSum = self.INITVALUE + self.offset = self.SUGGESTED_SIZE_COMMON_HEADER + self.productInfoArea = None + self.internalUseArea = None + self.boardInfoArea = None + self.chassisInfoArea = None + self.multiRecordArea = None + # self.recalcute() + + @property + def version(self): + return self._version + + @version.setter + def version(self, name): + self._version = name + + @property + def internalUserAreaOffset(self): + return self._internalUserAreaOffset + + @internalUserAreaOffset.setter + def internalUserAreaOffset(self, obj): + self._internalUserAreaOffset = obj + + @property + def chassicInfoAreaOffset(self): + return self._chassicInfoAreaOffset + + @chassicInfoAreaOffset.setter + def chassicInfoAreaOffset(self, obj): + self._chassicInfoAreaOffset = obj + + @property + def productinfoAreaOffset(self): + return self._productinfoAreaOffset + + @productinfoAreaOffset.setter + def productinfoAreaOffset(self, obj): + self._productinfoAreaOffset = obj + + @property + def boardInfoAreaOffset(self): + return self._boardInfoAreaOffset + + @boardInfoAreaOffset.setter + def boardInfoAreaOffset(self, obj): + self._boardInfoAreaOffset = obj + + @property + def multiRecordAreaOffset(self): + return self._multiRecordAreaOffset + + @multiRecordAreaOffset.setter + def multiRecordAreaOffset(self, obj): + self._multiRecordAreaOffset = obj + + @property + def zeroCheckSum(self): + return self._zeroCheckSum + + @zeroCheckSum.setter + def zeroCheckSum(self, obj): + self._zeroCheckSum = obj + + @property + def productInfoArea(self): + return self._ProductInfoArea + + @productInfoArea.setter + def productInfoArea(self, obj): + self._ProductInfoArea = obj + + @property + def internalUseArea(self): + return self._InternalUseArea + + @internalUseArea.setter + def internalUseArea(self, obj): + self.internalUseArea = obj + + @property + def boardInfoArea(self): + return self._BoardInfoArea + + @boardInfoArea.setter + def boardInfoArea(self, obj): + self._BoardInfoArea = obj + + @property + def chassisInfoArea(self): + return self._ChassisInfoArea + + @chassisInfoArea.setter + def chassisInfoArea(self, obj): + self._ChassisInfoArea = obj + + @property + def multiRecordArea(self): + return self._multiRecordArea + + @multiRecordArea.setter + def multiRecordArea(self, obj): + self._multiRecordArea = obj + + @property + def bindata(self): + return self._bindata + + @bindata.setter + def bindata(self, obj): + self._bindata = obj + + @property + def bodybin(self): + return self._bodybin + + @bodybin.setter + def bodybin(self, obj): + self._bodybin = obj + + def recalcuteCommonHead(self): + self.bindata = "" + self.offset = self.SUGGESTED_SIZE_COMMON_HEADER + d_print("common Header %d" % self.offset) + d_print("fru eeprom size %d" % self._frusize) + if self.internalUseArea is not None and self.internalUseArea.isPresent: + self.internalUserAreaOffset = self.offset // 8 + self.offset += self.internalUseArea.size + d_print("internalUseArea is present offset:%d" % self.offset) + + if self.chassisInfoArea is not None and self.chassisInfoArea.isPresent: + self.chassicInfoAreaOffset = self.offset // 8 + self.offset += self.chassisInfoArea.size + d_print("chassisInfoArea is present offset:%d" % self.offset) + + if self.boardInfoArea is not None and self.boardInfoArea.isPresent: + self.boardInfoAreaOffset = self.offset // 8 + self.offset += self.boardInfoArea.size + d_print("boardInfoArea is present offset:%d" % self.offset) + d_print("boardInfoArea is present size:%d" % + self.boardInfoArea.size) + + if self.productInfoArea is not None and self.productInfoArea.isPresent: + self.productinfoAreaOffset = self.offset // 8 + self.offset += self.productInfoArea.size + d_print("productInfoArea is present offset:%d" % self.offset) + + if self.multiRecordArea is not None and self.multiRecordArea.isPresent: + self.multiRecordAreaOffset = self.offset // 8 + d_print("multiRecordArea is present offset:%d" % self.offset) + + if self.internalUserAreaOffset == self.INITVALUE: + self.internalUserAreaOffset = 0 + if self.productinfoAreaOffset == self.INITVALUE: + self.productinfoAreaOffset = 0 + if self.chassicInfoAreaOffset == self.INITVALUE: + self.chassicInfoAreaOffset = 0 + if self.boardInfoAreaOffset == self.INITVALUE: + self.boardInfoAreaOffset = 0 + if self.multiRecordAreaOffset == self.INITVALUE: + self.multiRecordAreaOffset = 0 + + self.zeroCheckSum = (0x100 - ord(self.version) - self.internalUserAreaOffset - self.chassicInfoAreaOffset - self.productinfoAreaOffset + - self.boardInfoAreaOffset - self.multiRecordAreaOffset) & 0xff + d_print("zerochecksum:%x" % self.zeroCheckSum) + self.data = "" + self.data += chr(self.version[0]) + chr(self.internalUserAreaOffset) + chr(self.chassicInfoAreaOffset) + chr( + self.boardInfoAreaOffset) + chr(self.productinfoAreaOffset) + chr(self.multiRecordAreaOffset) + chr(self.INITVALUE[0]) + chr(self.zeroCheckSum) + + self.bindata = self.data + self.bodybin + totallen = len(self.bindata) + d_print("totallen %d" % totallen) + if totallen < self._frusize: + self.bindata = self.bindata.ljust(self._frusize, chr(self.INITVALUE[0])) + else: + raise FruException('bin data more than %d' % self._frusize, -2) + + def recalcutebin(self): + self.bodybin = "" + if self.internalUseArea is not None and self.internalUseArea.isPresent: + d_print("internalUseArea present") + self.bodybin += self.internalUseArea.data + if self.chassisInfoArea is not None and self.chassisInfoArea.isPresent: + d_print("chassisInfoArea present") + self.bodybin += self.chassisInfoArea.data + if self.boardInfoArea is not None and self.boardInfoArea.isPresent: + d_print("boardInfoArea present") + self.boardInfoArea.recalcute() + self.bodybin += self.boardInfoArea.data + if self.productInfoArea is not None and self.productInfoArea.isPresent: + d_print("productInfoAreapresent") + self.productInfoArea.recalcute() + self.bodybin += self.productInfoArea.data + if self.multiRecordArea is not None and self.multiRecordArea.isPresent: + d_print("multiRecordArea present") + self.bodybin += self.productInfoArea.data + + def recalcute(self, fru_eeprom_size=256): + self._frusize = fru_eeprom_size + self.recalcutebin() + self.recalcuteCommonHead() + + def setValue(self, area, field, value): + tmp_area = getattr(self, area, None) + if tmp_area is not None: + tmp_area.fruSetValue(field, value) diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/hwsku.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/hwsku.json new file mode 100644 index 000000000000..1535dc8ad4d4 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/hwsku.json @@ -0,0 +1,172 @@ +{ + "interfaces": { + "Ethernet1": { + "default_brkout_mode": "1x100G" + }, + "Ethernet2": { + "default_brkout_mode": "1x100G" + }, + "Ethernet3": { + "default_brkout_mode": "1x100G" + }, + "Ethernet4": { + "default_brkout_mode": "1x100G" + }, + "Ethernet5": { + "default_brkout_mode": "1x100G" + }, + "Ethernet6": { + "default_brkout_mode": "1x100G" + }, + "Ethernet7": { + "default_brkout_mode": "1x100G" + }, + "Ethernet8": { + "default_brkout_mode": "1x100G" + }, + "Ethernet9": { + "default_brkout_mode": "1x100G" + }, + "Ethernet10": { + "default_brkout_mode": "1x100G" + }, + "Ethernet11": { + "default_brkout_mode": "1x100G" + }, + "Ethernet12": { + "default_brkout_mode": "1x100G" + }, + "Ethernet13": { + "default_brkout_mode": "1x100G" + }, + "Ethernet14": { + "default_brkout_mode": "1x100G" + }, + "Ethernet15": { + "default_brkout_mode": "1x100G" + }, + "Ethernet16": { + "default_brkout_mode": "1x100G" + }, + "Ethernet17": { + "default_brkout_mode": "1x100G" + }, + "Ethernet18": { + "default_brkout_mode": "1x100G" + }, + "Ethernet19": { + "default_brkout_mode": "1x100G" + }, + "Ethernet20": { + "default_brkout_mode": "1x100G" + }, + "Ethernet21": { + "default_brkout_mode": "1x100G" + }, + "Ethernet22": { + "default_brkout_mode": "1x100G" + }, + "Ethernet23": { + "default_brkout_mode": "1x100G" + }, + "Ethernet24": { + "default_brkout_mode": "1x100G" + }, + "Ethernet25": { + "default_brkout_mode": "1x100G" + }, + "Ethernet26": { + "default_brkout_mode": "1x100G" + }, + "Ethernet27": { + "default_brkout_mode": "1x100G" + }, + "Ethernet28": { + "default_brkout_mode": "1x100G" + }, + "Ethernet29": { + "default_brkout_mode": "1x100G" + }, + "Ethernet30": { + "default_brkout_mode": "1x100G" + }, + "Ethernet31": { + "default_brkout_mode": "1x100G" + }, + "Ethernet32": { + "default_brkout_mode": "1x100G" + }, + "Ethernet33": { + "default_brkout_mode": "1x100G" + }, + "Ethernet34": { + "default_brkout_mode": "1x100G" + }, + "Ethernet35": { + "default_brkout_mode": "1x100G" + }, + "Ethernet36": { + "default_brkout_mode": "1x100G" + }, + "Ethernet37": { + "default_brkout_mode": "1x100G" + }, + "Ethernet38": { + "default_brkout_mode": "1x100G" + }, + "Ethernet39": { + "default_brkout_mode": "1x100G" + }, + "Ethernet40": { + "default_brkout_mode": "1x100G" + }, + "Ethernet41": { + "default_brkout_mode": "1x100G" + }, + "Ethernet42": { + "default_brkout_mode": "1x100G" + }, + "Ethernet43": { + "default_brkout_mode": "1x100G" + }, + "Ethernet44": { + "default_brkout_mode": "1x100G" + }, + "Ethernet45": { + "default_brkout_mode": "1x100G" + }, + "Ethernet46": { + "default_brkout_mode": "1x100G" + }, + "Ethernet47": { + "default_brkout_mode": "1x100G" + }, + "Ethernet48": { + "default_brkout_mode": "1x100G" + }, + "Ethernet49": { + "default_brkout_mode": "1x400G" + }, + "Ethernet57": { + "default_brkout_mode": "1x400G" + }, + "Ethernet65": { + "default_brkout_mode": "1x400G" + }, + "Ethernet73": { + "default_brkout_mode": "1x400G" + }, + "Ethernet81": { + "default_brkout_mode": "1x400G" + }, + "Ethernet89": { + "default_brkout_mode": "1x400G" + }, + "Ethernet97": { + "default_brkout_mode": "1x400G" + }, + "Ethernet105": { + "default_brkout_mode": "1x400G" + } + } +} \ No newline at end of file diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/installer.conf b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/installer.conf new file mode 100644 index 000000000000..7a9fec8cc99c --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/installer.conf @@ -0,0 +1,2 @@ +CONSOLE_SPEED=115200 +ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="intel_idle.max_cstate=0 idle=poll" \ No newline at end of file diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/media_settings.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/media_settings.json new file mode 100644 index 000000000000..7ada042c4504 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/media_settings.json @@ -0,0 +1,1860 @@ +{ + "PORT_MEDIA_SETTINGS": { + "0": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "1": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x0000008C", + "lane1": "0x00000080" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "2": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "3": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000080" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "4": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "5": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000080" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "6": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "7": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000088" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "8": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "9": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000088" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff8" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "10": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "11": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "12": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "13": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000080" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "14": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x0000008C", + "lane1": "0x00000080" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "15": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000088" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff8" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "16": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000088" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffff8" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "17": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "18": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000088" + }, + "post1": { + "lane0": "0xfffffff8", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "19": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "20": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "21": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "22": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "23": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "24": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "25": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000088", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "26": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "27": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "28": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "29": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "30": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "31": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "32": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "33": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "34": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "35": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "36": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "37": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "38": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffff8", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "39": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000090" + }, + "post1": { + "lane0": "0xfffffff8", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "40": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000088" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "41": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "42": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "43": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "44": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffec" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x0000008C" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "45": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000094", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffffc", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "46": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x0000008C", + "lane1": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "47": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000006" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xffffffe4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000080" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffffc" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000" + } + } + }, + "48": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff0", + "lane1": "0xfffffff0", + "lane2": "0xfffffff0", + "lane3": "0xfffffff0", + "lane4": "0xfffffff4", + "lane5": "0xfffffff0", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "main": { + "lane0": "0x0000008A", + "lane1": "0x0000008A", + "lane2": "0x0000008A", + "lane3": "0x0000008A", + "lane4": "0x00000090", + "lane5": "0x0000008A", + "lane6": "0x00000090", + "lane7": "0x00000090" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "49": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff0", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "main": { + "lane0": "0x0000008E", + "lane1": "0x00000088", + "lane2": "0x00000090", + "lane3": "0x00000088", + "lane4": "0x00000088", + "lane5": "0x00000088", + "lane6": "0x00000088", + "lane7": "0x00000088" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff0", + "lane4": "0xfffffff0", + "lane5": "0xfffffff0", + "lane6": "0xfffffff0", + "lane7": "0xfffffff0" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "50": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff2", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "main": { + "lane0": "0x00000088", + "lane1": "0x0000008C", + "lane2": "0x00000088", + "lane3": "0x00000088", + "lane4": "0x00000084", + "lane5": "0x00000084", + "lane6": "0x00000088", + "lane7": "0x00000088" + }, + "post1": { + "lane0": "0xffffffec", + "lane1": "0xfffffff0", + "lane2": "0xffffffec", + "lane3": "0xffffffec", + "lane4": "0xffffffe8", + "lane5": "0xffffffe8", + "lane6": "0xffffffec", + "lane7": "0xffffffec" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "51": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff0", + "lane1": "0xfffffff0", + "lane2": "0xfffffff0", + "lane3": "0xfffffff0", + "lane4": "0xfffffff0", + "lane5": "0xfffffff0", + "lane6": "0xfffffff0", + "lane7": "0xfffffff0" + }, + "main": { + "lane0": "0x0000008A", + "lane1": "0x0000008A", + "lane2": "0x0000008A", + "lane3": "0x0000008A", + "lane4": "0x00000088", + "lane5": "0x00000084", + "lane6": "0x00000084", + "lane7": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff0", + "lane5": "0xfffffff0", + "lane6": "0xfffffff0", + "lane7": "0xfffffff4" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "52": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000090", + "lane2": "0x0000008E", + "lane3": "0x0000008E", + "lane4": "0x00000090", + "lane5": "0x00000090", + "lane6": "0x0000008E", + "lane7": "0x00000090" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff8", + "lane2": "0xfffffff8", + "lane3": "0xfffffff8", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "53": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff0", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff0", + "lane7": "0xfffffff4" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000084", + "lane2": "0x00000090", + "lane3": "0x00000090", + "lane4": "0x00000090", + "lane5": "0x00000090", + "lane6": "0x00000084", + "lane7": "0x00000090" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "54": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff0", + "lane3": "0xfffffff0", + "lane4": "0xfffffff4", + "lane5": "0xfffffff0", + "lane6": "0xfffffff4", + "lane7": "0xfffffff0" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000090", + "lane2": "0x00000084", + "lane3": "0x00000084", + "lane4": "0x00000090", + "lane5": "0x00000084", + "lane6": "0x00000090", + "lane7": "0x00000084" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff4", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xfffffff4", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + }, + "55": { + "Default": { + "pre2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "pre1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff2", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff0", + "lane5": "0xffffffee", + "lane6": "0xfffffff0", + "lane7": "0xfffffff0" + }, + "main": { + "lane0": "0x00000090", + "lane1": "0x00000086", + "lane2": "0x00000090", + "lane3": "0x00000090", + "lane4": "0x00000084", + "lane5": "0x00000084", + "lane6": "0x00000084", + "lane7": "0x00000088" + }, + "post1": { + "lane0": "0xfffffff4", + "lane1": "0xfffffff0", + "lane2": "0xfffffff4", + "lane3": "0xfffffff4", + "lane4": "0xfffffff4", + "lane5": "0xffffffec", + "lane6": "0xfffffff4", + "lane7": "0xfffffff4" + }, + "post2": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + }, + "post3": { + "lane0": "0x00000000", + "lane1": "0x00000000", + "lane2": "0x00000000", + "lane3": "0x00000000", + "lane4": "0x00000000", + "lane5": "0x00000000", + "lane6": "0x00000000", + "lane7": "0x00000000" + } + } + } + } +} \ No newline at end of file diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/monitor.py b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/monitor.py new file mode 100644 index 000000000000..5fc287892e50 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/monitor.py @@ -0,0 +1,402 @@ +#!/usr/bin/python3 +# * onboard temperature sensors +# * FAN trays +# * PSU +# +import os +from lxml import etree as ET +import glob +import json +from decimal import Decimal +from fru import ipmifru + + +MAILBOX_DIR = "/sys/bus/i2c/devices/" +BOARD_ID_PATH = "/sys/module/platform_common/parameters/dfd_my_type" +BOARD_AIRFLOW_PATH = "/etc/sonic/.airflow" + + +CONFIG_NAME = "dev.xml" + + +def byteTostr(val): + strtmp = '' + for value in val: + strtmp += chr(value) + return strtmp + + +def typeTostr(val): + if isinstance(val, bytes): + strtmp = byteTostr(val) + return strtmp + return val + + +def get_board_id(): + if not os.path.exists(BOARD_ID_PATH): + return "NA" + with open(BOARD_ID_PATH) as fd: + id_str = fd.read().strip() + return "0x%x" % (int(id_str, 10)) + + +def getboardairflow(): + if not os.path.exists(BOARD_AIRFLOW_PATH): + return "NA" + with open(BOARD_AIRFLOW_PATH) as fd: + airflow_str = fd.read().strip() + data = json.loads(airflow_str) + airflow = data.get("board", "NA") + return airflow + + +boardid = get_board_id() +boardairflow = getboardairflow() + + +DEV_XML_FILE_LIST = [ + "dev_" + boardid + "_" + boardairflow + ".xml", + "dev_" + boardid + ".xml", + "dev_" + boardairflow + ".xml", +] + + +def dev_file_read(path, offset, read_len): + retval = "ERR" + val_list = [] + msg = "" + ret = "" + fd = -1 + + if not os.path.exists(path): + return False, "%s %s not found" % (retval, path) + + try: + fd = os.open(path, os.O_RDONLY) + os.lseek(fd, offset, os.SEEK_SET) + ret = os.read(fd, read_len) + for item in ret: + val_list.append(item) + except Exception as e: + msg = str(e) + return False, "%s %s" % (retval, msg) + finally: + if fd > 0: + os.close(fd) + return True, val_list + + +def getPMCreg(location): + retval = 'ERR' + if not os.path.isfile(location): + return "%s %s notfound" % (retval, location) + try: + with open(location, 'r') as fd: + retval = fd.read() + except Exception as error: + return "ERR %s" % str(error) + + retval = retval.rstrip('\r\n') + retval = retval.lstrip(" ") + return retval + + +# Get a mailbox register +def get_pmc_register(reg_name): + retval = 'ERR' + mb_reg_file = reg_name + filepath = glob.glob(mb_reg_file) + if len(filepath) == 0: + return "%s %s notfound" % (retval, mb_reg_file) + mb_reg_file = filepath[0] + if not os.path.isfile(mb_reg_file): + # print mb_reg_file, 'not found !' + return "%s %s notfound" % (retval, mb_reg_file) + try: + with open(mb_reg_file, 'rb') as fd: + retval = fd.read() + retval = typeTostr(retval) + except Exception as error: + retval = "%s %s read failed, msg: %s" % (retval, mb_reg_file, str(error)) + + retval = retval.rstrip('\r\n') + retval = retval.lstrip(" ") + return retval + + +class checktype(): + def __init__(self, test1): + self.test1 = test1 + + @staticmethod + def getValue(location, bit, data_type, coefficient=1, addend=0): + try: + value_t = get_pmc_register(location) + if value_t.startswith("ERR") or value_t.startswith("NA"): + return value_t + if data_type == 1: + return float('%.1f' % ((float(value_t) / 1000) + addend)) + if data_type == 2: + return float('%.1f' % (float(value_t) / 100)) + if data_type == 3: + psu_status = int(value_t, 16) + return (psu_status & (1 << bit)) >> bit + if data_type == 4: + return int(value_t, 10) + if data_type == 5: + return float('%.1f' % (float(value_t) / 1000 / 1000)) + if data_type == 6: + return Decimal(float(value_t) * coefficient / 1000).quantize(Decimal('0.000')) + return value_t + except Exception as e: + value_t = "ERR %s" % str(e) + return value_t + + # fanFRU + @staticmethod + def decodeBinByValue(retval): + fru = ipmifru() + fru.decodeBin(retval) + return fru + + @staticmethod + def getfruValue(prob_t, root, val): + try: + ret, binval_bytes = dev_file_read(val, 0, 256) + if ret is False: + return binval_bytes + binval = byteTostr(binval_bytes) + fanpro = {} + ret = checktype.decodeBinByValue(binval) + fanpro['fan_type'] = ret.productInfoArea.productName + fanpro['hw_version'] = ret.productInfoArea.productVersion + fanpro['sn'] = ret.productInfoArea.productSerialNumber + fan_display_name_dict = status.getDecodValue(root, "fan_display_name") + fan_name = fanpro['fan_type'].strip() + if len(fan_display_name_dict) == 0: + return fanpro + if fan_name not in fan_display_name_dict: + prob_t['errcode'] = -1 + prob_t['errmsg'] = '%s' % ("ERR fan name: %s not support" % fan_name) + else: + fanpro['fan_type'] = fan_display_name_dict[fan_name] + return fanpro + except Exception as error: + return "ERR " + str(error) + + @staticmethod + def getslotfruValue(val): + try: + binval = checktype.getValue(val, 0, 0) + if binval.startswith("ERR"): + return binval + slotpro = {} + ret = checktype.decodeBinByValue(binval) + slotpro['slot_type'] = ret.boardInfoArea.boardProductName + slotpro['hw_version'] = ret.boardInfoArea.boardextra1 + slotpro['sn'] = ret.boardInfoArea.boardSerialNumber + return slotpro + except Exception as error: + return "ERR " + str(error) + + @staticmethod + def getpsufruValue(prob_t, root, val): + try: + psu_match = False + binval = checktype.getValue(val, 0, 0) + if binval.startswith("ERR"): + return binval + psupro = {} + ret = checktype.decodeBinByValue(binval) + psupro['type1'] = ret.productInfoArea.productPartModelName + psupro['sn'] = ret.productInfoArea.productSerialNumber + psupro['hw_version'] = ret.productInfoArea.productVersion + psu_dict = status.getDecodValue(root, "psutype") + psupro['type1'] = psupro['type1'].strip() + if len(psu_dict) == 0: + return psupro + for psu_name, display_name in psu_dict.items(): + if psu_name.strip() == psupro['type1']: + psupro['type1'] = display_name + psu_match = True + break + if psu_match is not True: + prob_t['errcode'] = -1 + prob_t['errmsg'] = '%s' % ("ERR psu name: %s not support" % psupro['type1']) + return psupro + except Exception as error: + return "ERR " + str(error) + + +class status(): + def __init__(self, productname): + self.productname = productname + + @staticmethod + def getETroot(filename): + tree = ET.parse(filename) + root = tree.getroot() + return root + + @staticmethod + def getDecodValue(collection, decode): + decodes = collection.find('decode') + testdecode = decodes.find(decode) + test = {} + if testdecode is None: + return test + for neighbor in testdecode.iter('code'): + test[neighbor.attrib["key"]] = neighbor.attrib["value"] + return test + + @staticmethod + def getfileValue(location): + return checktype.getValue(location, " ", " ") + + @staticmethod + def getETValue(a, filename, tagname): + root = status.getETroot(filename) + for neighbor in root.iter(tagname): + prob_t = {} + prob_t.update(neighbor.attrib) + prob_t['errcode'] = 0 + prob_t['errmsg'] = '' + for pros in neighbor.iter("property"): + ret = dict(list(neighbor.attrib.items()) + list(pros.attrib.items())) + if ret.get('e2type') == 'fru' and ret.get("name") == "fru": + fruval = checktype.getfruValue(prob_t, root, ret["location"]) + if isinstance(fruval, str) and fruval.startswith("ERR"): + prob_t['errcode'] = -1 + prob_t['errmsg'] = fruval + break + prob_t.update(fruval) + continue + + if ret.get("name") == "psu" and ret.get('e2type') == 'fru': + psuval = checktype.getpsufruValue(prob_t, root, ret["location"]) + if isinstance(psuval, str) and psuval.startswith("ERR"): + prob_t['errcode'] = -1 + prob_t['errmsg'] = psuval + break + prob_t.update(psuval) + continue + + if ret.get("gettype") == "config": + prob_t[ret["name"]] = ret["value"] + continue + + if 'type' not in ret.keys(): + val = "0" + else: + val = ret["type"] + if 'bit' not in ret.keys(): + bit = "0" + else: + bit = ret["bit"] + if 'coefficient' not in ret.keys(): + coefficient = 1 + else: + coefficient = float(ret["coefficient"]) + if 'addend' not in ret.keys(): + addend = 0 + else: + addend = float(ret["addend"]) + + s = checktype.getValue(ret["location"], int(bit), int(val), coefficient, addend) + if isinstance(s, str) and s.startswith("ERR"): + prob_t['errcode'] = -1 + prob_t['errmsg'] = s + break + if 'default' in ret.keys(): + rt = status.getDecodValue(root, ret['decode']) + prob_t['errmsg'] = rt[str(s)] + if str(s) != ret["default"]: + prob_t['errcode'] = -1 + break + else: + if 'decode' in ret.keys(): + rt = status.getDecodValue(root, ret['decode']) + if (ret['decode'] == "psutype" and s.replace("\x00", "").rstrip() not in rt): + prob_t['errcode'] = -1 + prob_t['errmsg'] = '%s' % ("ERR psu name: %s not support" % + (s.replace("\x00", "").rstrip())) + else: + s = rt[str(s).replace("\x00", "").rstrip()] + name = ret["name"] + prob_t[name] = str(s) + a.append(prob_t) + + @staticmethod + def getCPUValue(a, filename, tagname): + root = status.getETroot(filename) + for neighbor in root.iter(tagname): + location = neighbor.attrib["location"] + L = [] + for dirpath, dirnames, filenames in os.walk(location): + for file in filenames: + if file.endswith("input"): + L.append(os.path.join(dirpath, file)) + L = sorted(L, reverse=False) + for i in range(len(L)): + prob_t = {} + prob_t["name"] = getPMCreg("%s/temp%d_label" % (location, i + 1)) + prob_t["temp"] = float(getPMCreg("%s/temp%d_input" % (location, i + 1))) / 1000 + prob_t["alarm"] = float(getPMCreg("%s/temp%d_crit_alarm" % (location, i + 1))) / 1000 + prob_t["crit"] = float(getPMCreg("%s/temp%d_crit" % (location, i + 1))) / 1000 + prob_t["max"] = float(getPMCreg("%s/temp%d_max" % (location, i + 1))) / 1000 + a.append(prob_t) + + @staticmethod + def getFileName(): + fpath = os.path.dirname(os.path.realpath(__file__)) + for file in DEV_XML_FILE_LIST: + xml = fpath + "/" + file + if os.path.exists(xml): + return xml + return fpath + "/" + CONFIG_NAME + + @staticmethod + def checkFan(ret): + _filename = status.getFileName() + # _filename = "/usr/local/bin/" + status.getFileName() + _tagname = "fan" + status.getETValue(ret, _filename, _tagname) + + @staticmethod + def getTemp(ret): + _filename = status.getFileName() + # _filename = "/usr/local/bin/" + status.getFileName() + _tagname = "temp" + status.getETValue(ret, _filename, _tagname) + + @staticmethod + def getPsu(ret): + _filename = status.getFileName() + # _filename = "/usr/local/bin/" + status.getFileName() + _tagname = "psu" + status.getETValue(ret, _filename, _tagname) + + @staticmethod + def getcputemp(ret): + _filename = status.getFileName() + _tagname = "cpus" + status.getCPUValue(ret, _filename, _tagname) + + @staticmethod + def getDcdc(ret): + _filename = status.getFileName() + _tagname = "dcdc" + status.getETValue(ret, _filename, _tagname) + + @staticmethod + def getmactemp(ret): + _filename = status.getFileName() + _tagname = "mactemp" + status.getETValue(ret, _filename, _tagname) + + @staticmethod + def getmacpower(ret): + _filename = status.getFileName() + _tagname = "macpower" + status.getETValue(ret, _filename, _tagname) diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/pcie.yaml b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/pcie.yaml new file mode 100644 index 000000000000..0395ae1622f0 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/pcie.yaml @@ -0,0 +1,486 @@ +- bus: '00' + dev: '00' + fn: '0' + id: 6f00 + name: 'Host bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2 + (rev 05)' +- bus: '00' + dev: '01' + fn: '0' + id: 6f02 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 1 (rev 05)' +- bus: '00' + dev: '01' + fn: '1' + id: 6f03 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 1 (rev 05)' +- bus: '00' + dev: '02' + fn: '0' + id: 6f04 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 2 (rev 05)' +- bus: '00' + dev: '02' + fn: '2' + id: 6f06 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 2 (rev 05)' +- bus: '00' + dev: '02' + fn: '3' + id: 6f07 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 2 (rev 05)' +- bus: '00' + dev: '03' + fn: '0' + id: 6f08 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 3 (rev 05)' +- bus: '00' + dev: '03' + fn: '1' + id: 6f09 + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 3 (rev 05)' +- bus: '00' + dev: '03' + fn: '2' + id: 6f0a + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 3 (rev 05)' +- bus: '00' + dev: '03' + fn: '3' + id: 6f0b + name: 'PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI + Express Root Port 3 (rev 05)' +- bus: '00' + dev: '04' + fn: '0' + id: 6f20 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 0 (rev 05)' +- bus: '00' + dev: '04' + fn: '1' + id: 6f21 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 1 (rev 05)' +- bus: '00' + dev: '04' + fn: '2' + id: 6f22 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 2 (rev 05)' +- bus: '00' + dev: '04' + fn: '3' + id: 6f23 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 3 (rev 05)' +- bus: '00' + dev: '04' + fn: '4' + id: 6f24 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 4 (rev 05)' +- bus: '00' + dev: '04' + fn: '5' + id: 6f25 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 5 (rev 05)' +- bus: '00' + dev: '04' + fn: '6' + id: 6f26 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 6 (rev 05)' +- bus: '00' + dev: '04' + fn: '7' + id: 6f27 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Crystal Beach DMA Channel 7 (rev 05)' +- bus: '00' + dev: '05' + fn: '0' + id: 6f28 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Map/VTd_Misc/System Management (rev 05)' +- bus: '00' + dev: '05' + fn: '1' + id: 6f29 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D IIO Hot Plug (rev 05)' +- bus: '00' + dev: '05' + fn: '2' + id: 6f2a + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D IIO RAS/Control Status/Global Errors (rev 05)' +- bus: '00' + dev: '05' + fn: '4' + id: 6f2c + name: 'PIC: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D I/O APIC (rev + 05)' +- bus: '00' + dev: '14' + fn: '0' + id: 8c31 + name: 'USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB + xHCI (rev 05)' +- bus: '00' + dev: '16' + fn: '0' + id: 8c3a + name: 'Communication controller: Intel Corporation 8 Series/C220 Series Chipset + Family MEI Controller #1 (rev 04)' +- bus: '00' + dev: '16' + fn: '1' + id: 8c3b + name: 'Communication controller: Intel Corporation 8 Series/C220 Series Chipset + Family MEI Controller #2 (rev 04)' +- bus: '00' + dev: 1d + fn: '0' + id: 8c26 + name: 'USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB + EHCI #1 (rev 05)' +- bus: '00' + dev: 1f + fn: '0' + id: 8c54 + name: 'ISA bridge: Intel Corporation C224 Series Chipset Family Server Standard + SKU LPC Controller (rev 05)' +- bus: '00' + dev: 1f + fn: '2' + id: 8c02 + name: 'SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port + SATA Controller 1 [AHCI mode] (rev 05)' +- bus: '00' + dev: 1f + fn: '3' + id: 8c22 + name: 'SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller + (rev 05)' +- bus: '04' + dev: '00' + fn: '0' + id: 15ab + name: 'Ethernet controller: Intel Corporation Ethernet Connection X552 10 GbE Backplane' +- bus: '04' + dev: '00' + fn: '1' + id: 15ab + name: 'Ethernet controller: Intel Corporation Ethernet Connection X552 10 GbE Backplane' +- bus: '05' + dev: '00' + fn: '0' + id: 15ab + name: 'Ethernet controller: Intel Corporation Ethernet Connection X552 10 GbE Backplane' +- bus: '05' + dev: '00' + fn: '1' + id: 15ab + name: 'Ethernet controller: Intel Corporation Ethernet Connection X552 10 GbE Backplane' +- bus: '06' + dev: '00' + fn: '0' + id: b780 + name: 'Ethernet controller: Broadcom Inc. and subsidiaries Device b780 (rev 01)' +- bus: '07' + dev: '00' + fn: '0' + id: '1533' + name: 'Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev + 03)' +- bus: 08 + dev: '00' + fn: '0' + id: '7011' + name: 'Memory controller: Xilinx Corporation 7-Series FPGA Hard PCIe block (AXI/debug)' +- bus: ff + dev: 0b + fn: '0' + id: 6f81 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D R3 QPI Link 0/1 (rev 05)' +- bus: ff + dev: 0b + fn: '1' + id: 6f36 + name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D R3 QPI Link 0/1 (rev 05)' +- bus: ff + dev: 0b + fn: '2' + id: 6f37 + name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D R3 QPI Link 0/1 (rev 05)' +- bus: ff + dev: 0b + fn: '3' + id: 6f76 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D R3 QPI Link Debug (rev 05)' +- bus: ff + dev: 0c + fn: '0' + id: 6fe0 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0c + fn: '1' + id: 6fe1 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0c + fn: '2' + id: 6fe2 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0c + fn: '3' + id: 6fe3 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0f + fn: '0' + id: 6ff8 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0f + fn: '4' + id: 6ffc + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0f + fn: '5' + id: 6ffd + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: 0f + fn: '6' + id: 6ffe + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Caching Agent (rev 05)' +- bus: ff + dev: '10' + fn: '0' + id: 6f1d + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D R2PCIe Agent (rev 05)' +- bus: ff + dev: '10' + fn: '1' + id: 6f34 + name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D R2PCIe Agent (rev 05)' +- bus: ff + dev: '10' + fn: '5' + id: 6f1e + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Ubox (rev 05)' +- bus: ff + dev: '10' + fn: '6' + id: 6f7d + name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Ubox (rev 05)' +- bus: ff + dev: '10' + fn: '7' + id: 6f1f + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Ubox (rev 05)' +- bus: ff + dev: '12' + fn: '0' + id: 6fa0 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Home Agent 0 (rev 05)' +- bus: ff + dev: '12' + fn: '1' + id: 6f30 + name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Home Agent 0 (rev 05)' +- bus: ff + dev: '13' + fn: '0' + id: 6fa8 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Target Address/Thermal/RAS (rev 05)' +- bus: ff + dev: '13' + fn: '1' + id: 6f71 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Target Address/Thermal/RAS (rev 05)' +- bus: ff + dev: '13' + fn: '2' + id: 6faa + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel Target Address Decoder (rev 05)' +- bus: ff + dev: '13' + fn: '3' + id: 6fab + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel Target Address Decoder (rev 05)' +- bus: ff + dev: '13' + fn: '4' + id: 6fac + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel Target Address Decoder (rev 05)' +- bus: ff + dev: '13' + fn: '5' + id: 6fad + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel Target Address Decoder (rev 05)' +- bus: ff + dev: '13' + fn: '6' + id: 6fae + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D DDRIO Channel 0/1 Broadcast (rev 05)' +- bus: ff + dev: '13' + fn: '7' + id: 6faf + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D DDRIO Global Broadcast (rev 05)' +- bus: ff + dev: '14' + fn: '0' + id: 6fb0 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 0 Thermal Control (rev 05)' +- bus: ff + dev: '14' + fn: '1' + id: 6fb1 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 1 Thermal Control (rev 05)' +- bus: ff + dev: '14' + fn: '2' + id: 6fb2 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 0 Error (rev 05)' +- bus: ff + dev: '14' + fn: '3' + id: 6fb3 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 1 Error (rev 05)' +- bus: ff + dev: '14' + fn: '4' + id: 6fbc + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D DDRIO Channel 0/1 Interface (rev 05)' +- bus: ff + dev: '14' + fn: '5' + id: 6fbd + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D DDRIO Channel 0/1 Interface (rev 05)' +- bus: ff + dev: '14' + fn: '6' + id: 6fbe + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D DDRIO Channel 0/1 Interface (rev 05)' +- bus: ff + dev: '14' + fn: '7' + id: 6fbf + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D DDRIO Channel 0/1 Interface (rev 05)' +- bus: ff + dev: '15' + fn: '0' + id: 6fb4 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 2 Thermal Control (rev 05)' +- bus: ff + dev: '15' + fn: '1' + id: 6fb5 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 3 Thermal Control (rev 05)' +- bus: ff + dev: '15' + fn: '2' + id: 6fb6 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 2 Error (rev 05)' +- bus: ff + dev: '15' + fn: '3' + id: 6fb7 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Memory Controller 0 - Channel 3 Error (rev 05)' +- bus: ff + dev: 1e + fn: '0' + id: 6f98 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' +- bus: ff + dev: 1e + fn: '1' + id: 6f99 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' +- bus: ff + dev: 1e + fn: '2' + id: 6f9a + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' +- bus: ff + dev: 1e + fn: '3' + id: 6fc0 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' +- bus: ff + dev: 1e + fn: '4' + id: 6f9c + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' +- bus: ff + dev: 1f + fn: '0' + id: 6f88 + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' +- bus: ff + dev: 1f + fn: '2' + id: 6f8a + name: 'System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon + D Power Control Unit (rev 05)' diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform.json new file mode 100644 index 000000000000..5741f32ad453 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform.json @@ -0,0 +1,1151 @@ +{ + "chassis": { + "name": "M2-W6520-48C8QC", + "thermal_manager": false, + "status_led": { + "controllable": false, + "colors": [ + "green", + "blinking_green", + "amber", + "blinking_amber" + ] + }, + "components": [ + { + "name": "CPU_CPLD" + }, + { + "name": "CONNECT_BOARD_CPLD" + }, + { + "name": "MAC_CPLDA" + }, + { + "name": "MAC_CPLDB" + }, + { + "name": "FAN_CPLD" + }, + { + "name": "FPGA" + }, + { + "name": "BIOS" + }, + { + "name": "MAC_CPLDC" + } + ], + "fans": [ + { + "name": "Fantray1_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray1_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray2_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray2_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray3_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray3_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray4_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray4_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray5_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray5_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray6_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + }, + { + "name": "Fantray6_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false, + "colors": [ + "off", + "red", + "amber", + "green" + ] + } + } + ], + "fan_drawers": [ + { + "name": "Fantray1", + "num_fans": 2, + "status_led": { + "controllable": false, + "colors": [ + "amber", + "green", + "off" + ] + }, + "fans": [ + { + "name": "Fantray1_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + }, + { + "name": "Fantray1_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + }, + { + "name": "Fantray2", + "num_fans": 2, + "status_led": { + "controllable": false, + "colors": [ + "amber", + "green", + "off" + ] + }, + "fans": [ + { + "name": "Fantray2_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + }, + { + "name": "Fantray2_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + }, + { + "name": "Fantray3", + "num_fans": 2, + "status_led": { + "controllable": false, + "colors": [ + "amber", + "green", + "off" + ] + }, + "fans": [ + { + "name": "Fantray3_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + }, + { + "name": "Fantray3_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + }, + { + "name": "Fantray4", + "num_fans": 2, + "status_led": { + "controllable": false, + "colors": [ + "amber", + "green", + "off" + ] + }, + "fans": [ + { + "name": "Fantray4_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + }, + { + "name": "Fantray4_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + }, + { + "name": "Fantray5", + "num_fans": 2, + "status_led": { + "controllable": false, + "colors": [ + "amber", + "green", + "off" + ] + }, + "fans": [ + { + "name": "Fantray5_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + }, + { + "name": "Fantray5_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + }, + { + "name": "Fantray6", + "num_fans": 2, + "status_led": { + "controllable": false, + "colors": [ + "amber", + "green", + "off" + ] + }, + "fans": [ + { + "name": "Fantray6_1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + }, + { + "name": "Fantray6_2", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + } + ], + "psus": [ + { + "name": "Psu1", + "voltage": true, + "current": true, + "power": true, + "max_power": false, + "voltage_high_threshold": true, + "voltage_low_threshold": true, + "temperature": true, + "fans_target_speed": true, + "status_led": { + "controllable": false + }, + "fans": [ + { + "name": "PSU1_FAN1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + }, + { + "name": "Psu2", + "voltage": true, + "current": true, + "power": true, + "max_power": false, + "voltage_high_threshold": true, + "voltage_low_threshold": true, + "temperature": true, + "fans_target_speed": true, + "status_led": { + "controllable": false + }, + "fans": [ + { + "name": "PSU2_FAN1", + "speed": { + "controllable": true, + "minimum": 50, + "maximum": 100 + }, + "status_led": { + "available": false + } + } + ] + } + ], + "thermals": [ + { + "name": "BOARD_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + }, + { + "name": "CPU_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + }, + { + "name": "INLET_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + }, + { + "name": "OUTLET_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + }, + { + "name": "ASIC_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + }, + { + "name": "PSU1_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + }, + { + "name": "PSU2_TEMP", + "controllable": false, + "low-crit-threshold": true, + "high-crit-threshold": true, + "low-threshold": true, + "high-threshold": true, + "minimum-recorded": true, + "maximum-recorded": true + } + ], + "modules": [], + "sfps": [] + }, + "interfaces": { + "Ethernet1": { + "index": "0,0", + "lanes": "41,42", + "breakout_modes": { + "1x100G": [ + "Eth1" + ] + } + }, + "Ethernet2": { + "index": "1,1", + "lanes": "43,44", + "breakout_modes": { + "1x100G": [ + "Eth2" + ] + } + }, + "Ethernet3": { + "index": "2,2", + "lanes": "45,46", + "breakout_modes": { + "1x100G": [ + "Eth3" + ] + } + }, + "Ethernet4": { + "index": "3,3", + "lanes": "47,48", + "breakout_modes": { + "1x100G": [ + "Eth4" + ] + } + }, + "Ethernet5": { + "index": "4,4", + "lanes": "49,50", + "breakout_modes": { + "1x100G": [ + "Eth5" + ] + } + }, + "Ethernet6": { + "index": "5,5", + "lanes": "51,52", + "breakout_modes": { + "1x100G": [ + "Eth6" + ] + } + }, + "Ethernet7": { + "index": "6,6", + "lanes": "53,54", + "breakout_modes": { + "1x100G": [ + "Eth7" + ] + } + }, + "Ethernet8": { + "index": "7,7", + "lanes": "55,56", + "breakout_modes": { + "1x100G": [ + "Eth8" + ] + } + }, + "Ethernet9": { + "index": "8,8", + "lanes": "57,58", + "breakout_modes": { + "1x100G": [ + "Eth9" + ] + } + }, + "Ethernet10": { + "index": "9,9", + "lanes": "59,60", + "breakout_modes": { + "1x100G": [ + "Eth10" + ] + } + }, + "Ethernet11": { + "index": "10,10", + "lanes": "61,62", + "breakout_modes": { + "1x100G": [ + "Eth11" + ] + } + }, + "Ethernet12": { + "index": "11,11", + "lanes": "63,64", + "breakout_modes": { + "1x100G": [ + "Eth12" + ] + } + }, + "Ethernet13": { + "index": "12,12", + "lanes": "9,10", + "breakout_modes": { + "1x100G": [ + "Eth13" + ] + } + }, + "Ethernet14": { + "index": "13,13", + "lanes": "11,12", + "breakout_modes": { + "1x100G": [ + "Eth14" + ] + } + }, + "Ethernet15": { + "index": "14,14", + "lanes": "13,14", + "breakout_modes": { + "1x100G": [ + "Eth15" + ] + } + }, + "Ethernet16": { + "index": "15,15", + "lanes": "15,16", + "breakout_modes": { + "1x100G": [ + "Eth16" + ] + } + }, + "Ethernet17": { + "index": "16,16", + "lanes": "17,18", + "breakout_modes": { + "1x100G": [ + "Eth17" + ] + } + }, + "Ethernet18": { + "index": "17,17", + "lanes": "19,20", + "breakout_modes": { + "1x100G": [ + "Eth18" + ] + } + }, + "Ethernet19": { + "index": "18,18", + "lanes": "21,22", + "breakout_modes": { + "1x100G": [ + "Eth19" + ] + } + }, + "Ethernet20": { + "index": "19,19", + "lanes": "23,24", + "breakout_modes": { + "1x100G": [ + "Eth20" + ] + } + }, + "Ethernet21": { + "index": "20,20", + "lanes": "25,26", + "breakout_modes": { + "1x100G": [ + "Eth21" + ] + } + }, + "Ethernet22": { + "index": "21,21", + "lanes": "27,28", + "breakout_modes": { + "1x100G": [ + "Eth22" + ] + } + }, + "Ethernet23": { + "index": "22,22", + "lanes": "29,30", + "breakout_modes": { + "1x100G": [ + "Eth23" + ] + } + }, + "Ethernet24": { + "index": "23,23", + "lanes": "31,32", + "breakout_modes": { + "1x100G": [ + "Eth24" + ] + } + }, + "Ethernet25": { + "index": "24,24", + "lanes": "81,82", + "breakout_modes": { + "1x100G": [ + "Eth25" + ] + } + }, + "Ethernet26": { + "index": "25,25", + "lanes": "83,84", + "breakout_modes": { + "1x100G": [ + "Eth26" + ] + } + }, + "Ethernet27": { + "index": "26,26", + "lanes": "85,86", + "breakout_modes": { + "1x100G": [ + "Eth27" + ] + } + }, + "Ethernet28": { + "index": "27,27", + "lanes": "87,88", + "breakout_modes": { + "1x100G": [ + "Eth28" + ] + } + }, + "Ethernet29": { + "index": "28,28", + "lanes": "89,90", + "breakout_modes": { + "1x100G": [ + "Eth29" + ] + } + }, + "Ethernet30": { + "index": "29,29", + "lanes": "91,92", + "breakout_modes": { + "1x100G": [ + "Eth30" + ] + } + }, + "Ethernet31": { + "index": "30,30", + "lanes": "93,94", + "breakout_modes": { + "1x100G": [ + "Eth31" + ] + } + }, + "Ethernet32": { + "index": "31,31", + "lanes": "95,96", + "breakout_modes": { + "1x100G": [ + "Eth32" + ] + } + }, + "Ethernet33": { + "index": "32,32", + "lanes": "97,98", + "breakout_modes": { + "1x100G": [ + "Eth33" + ] + } + }, + "Ethernet34": { + "index": "33,33", + "lanes": "99,100", + "breakout_modes": { + "1x100G": [ + "Eth34" + ] + } + }, + "Ethernet35": { + "index": "34,34", + "lanes": "101,102", + "breakout_modes": { + "1x100G": [ + "Eth35" + ] + } + }, + "Ethernet36": { + "index": "35,35", + "lanes": "103,104", + "breakout_modes": { + "1x100G": [ + "Eth36" + ] + } + }, + "Ethernet37": { + "index": "36,36", + "lanes": "137,138", + "breakout_modes": { + "1x100G": [ + "Eth37" + ] + } + }, + "Ethernet38": { + "index": "37,37", + "lanes": "139,140", + "breakout_modes": { + "1x100G": [ + "Eth38" + ] + } + }, + "Ethernet39": { + "index": "38,38", + "lanes": "141,142", + "breakout_modes": { + "1x100G": [ + "Eth39" + ] + } + }, + "Ethernet40": { + "index": "39,39", + "lanes": "143,144", + "breakout_modes": { + "1x100G": [ + "Eth40" + ] + } + }, + "Ethernet41": { + "index": "40,40", + "lanes": "145,146", + "breakout_modes": { + "1x100G": [ + "Eth41" + ] + } + }, + "Ethernet42": { + "index": "41,41", + "lanes": "147,148", + "breakout_modes": { + "1x100G": [ + "Eth42" + ] + } + }, + "Ethernet43": { + "index": "42,42", + "lanes": "149,150", + "breakout_modes": { + "1x100G": [ + "Eth43" + ] + } + }, + "Ethernet44": { + "index": "43,43", + "lanes": "151,152", + "breakout_modes": { + "1x100G": [ + "Eth44" + ] + } + }, + "Ethernet45": { + "index": "44,44", + "lanes": "153,154", + "breakout_modes": { + "1x100G": [ + "Eth45" + ] + } + }, + "Ethernet46": { + "index": "45,45", + "lanes": "155,156", + "breakout_modes": { + "1x100G": [ + "Eth46" + ] + } + }, + "Ethernet47": { + "index": "46,46", + "lanes": "157,158", + "breakout_modes": { + "1x100G": [ + "Eth47" + ] + } + }, + "Ethernet48": { + "index": "47,47", + "lanes": "159,160", + "breakout_modes": { + "1x100G": [ + "Eth48" + ] + } + }, + "Ethernet49": { + "index": "48,48,48,48,48,48,48,48", + "lanes": "1,2,3,4,5,6,7,8", + "breakout_modes": { + "4x100G": [ + "Eth49/1", + "Eth49/2", + "Eth49/3", + "Eth49/4" + ], + "2x200G": [ + "Eth49/1", + "Eth49/2" + ], + "1x400G": [ + "Eth49" + ] + } + }, + "Ethernet57": { + "index": "49,49,49,49,49,49,49,49", + "lanes": "33,34,35,36,37,38,39,40", + "breakout_modes": { + "4x100G": [ + "Eth50/1", + "Eth50/2", + "Eth50/3", + "Eth50/4" + ], + "2x200G": [ + "Eth50/1", + "Eth50/2" + ], + "1x400G": [ + "Eth50" + ] + } + }, + "Ethernet65": { + "index": "50,50,50,50,50,50,50,50", + "lanes": "73,74,75,76,77,78,79,80", + "breakout_modes": { + "4x100G": [ + "Eth51/1", + "Eth51/2", + "Eth51/3", + "Eth51/4" + ], + "2x200G": [ + "Eth51/1", + "Eth51/2" + ], + "1x400G": [ + "Eth51" + ] + } + }, + "Ethernet73": { + "index": "51,51,51,51,51,51,51,51", + "lanes": "65,66,67,68,69,70,71,72", + "breakout_modes": { + "4x100G": [ + "Eth52/1", + "Eth52/2", + "Eth52/3", + "Eth52/4" + ], + "2x200G": [ + "Eth52/1", + "Eth52/2" + ], + "1x400G": [ + "Eth52" + ] + } + }, + "Ethernet81": { + "index": "52,52,52,52,52,52,52,52", + "lanes": "105,106,107,108,109,110,111,112", + "breakout_modes": { + "4x100G": [ + "Eth53/1", + "Eth53/2", + "Eth53/3", + "Eth53/4" + ], + "2x200G": [ + "Eth53/1", + "Eth53/2" + ], + "1x400G": [ + "Eth53" + ] + } + }, + "Ethernet89": { + "index": "53,53,53,53,53,53,53,53", + "lanes": "113,114,115,116,117,118,119,120", + "breakout_modes": { + "1x400G": [ + "Eth54" + ] + } + }, + "Ethernet97": { + "index": "54,54,54,54,54,54,54,54", + "lanes": "129,130,131,132,133,134,135,136", + "breakout_modes": { + "1x400G": [ + "Eth55" + ] + } + }, + "Ethernet105": { + "index": "55,55,55,55,55,55,55,55", + "lanes": "121,122,123,124,125,126,127,128", + "breakout_modes": { + "1x400G": [ + "Eth56" + ] + } + } + } +} diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_asic b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_asic new file mode 100644 index 000000000000..960467652765 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_asic @@ -0,0 +1 @@ +broadcom diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_components.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_components.json new file mode 100644 index 000000000000..c31dce1d671d --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_components.json @@ -0,0 +1,16 @@ +{ + "chassis": { + "M2-W6520-48C8QC": { + "component": { + "CPU_CPLD": { }, + "CONNECT_BOARD_CPLD": { }, + "FAN_CPLD": { }, + "MAC_CPLDA": { }, + "MAC_CPLDB": { }, + "FPGA": { }, + "BIOS": { }, + "MAC_CPLDC": { } + } + } + } +} diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_env.conf b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_env.conf new file mode 100644 index 000000000000..fc119184d5c1 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/platform_env.conf @@ -0,0 +1,2 @@ +is_ltsw_chip=1 +SYNCD_SHM_SIZE=1g diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/plugins/sfputil.py b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/plugins/sfputil.py new file mode 100644 index 000000000000..457e844557fc --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/plugins/sfputil.py @@ -0,0 +1,322 @@ +# sfputil.py +# +# Platform-specific SFP transceiver interface for SONiC +# + +try: + import time + import subprocess + import re + import os + import threading + import traceback + 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""" + + PORT_START = 0 + PORT_END = 55 + PORTS_IN_BLOCK = 56 + + EEPROM_OFFSET = 6 + SFP_DEVICE_TYPE = "optoe2" + QSFP_DEVICE_TYPE = "optoe1" + OSFP_DEVICE_TYPE = "optoe3" + I2C_MAX_ATTEMPT = 3 + + OPTOE_TYPE1 = 1 + OPTOE_TYPE2 = 2 + OPTOE_TYPE3 = 3 + + SFP_STATUS_INSERTED = '1' + SFP_STATUS_REMOVED = '0' + + _port_to_eeprom_mapping = {} + port_to_i2cbus_mapping ={} + port_dict = {} + + qsfp_ports_list = [] + osfp_ports_list = range(48, PORTS_IN_BLOCK) + + @property + def port_start(self): + return self.PORT_START + + @property + def port_end(self): + return self.PORT_END + + @property + def qsfp_ports(self): + return self.qsfp_ports_list + + @property + def osfp_ports(self): + return self.osfp_ports_list + + @property + def port_to_eeprom_mapping(self): + return self._port_to_eeprom_mapping + + def __init__(self): + for x in range(self.PORT_START, self.PORTS_IN_BLOCK): + self.port_to_i2cbus_mapping[x] = (x + self.EEPROM_OFFSET) + + if self.get_presence(x): + self.port_dict[x] = self.SFP_STATUS_INSERTED + else: + self.port_dict[x] = self.SFP_STATUS_REMOVED + + # if (x < 48): + # self.osfp_ports_list.append(x) + # self.check_optoe_type(x, self.OPTOE_TYPE3) + # continue + + # if (self.check_is_qsfpdd(x)): + # self.osfp_ports_list.append(x) + # self.check_optoe_type(x, self.OPTOE_TYPE3) + # else: + # self.qsfp_ports_list.append(x) + # self.check_optoe_type(x, self.OPTOE_TYPE1) + SfpUtilBase.__init__(self) + + def _sfp_read_file_path(self, file_path, offset, num_bytes): + attempts = 0 + while attempts < self.I2C_MAX_ATTEMPT: + try: + file_path.seek(offset) + read_buf = file_path.read(num_bytes) + except: + attempts += 1 + time.sleep(0.05) + else: + return True, read_buf + return False, None + + def _sfp_eeprom_present(self, sysfs_sfp_i2c_client_eeprompath, offset): + """Tries to read the eeprom file to determine if the + device/sfp is present or not. If sfp present, the read returns + valid bytes. If not, read returns error 'Connection timed out""" + + if not os.path.exists(sysfs_sfp_i2c_client_eeprompath): + return False + else: + with open(sysfs_sfp_i2c_client_eeprompath, "rb", buffering=0) as sysfsfile: + rv, buf = self._sfp_read_file_path(sysfsfile, offset, 1) + return rv + + def _add_new_sfp_device(self, sysfs_sfp_i2c_adapter_path, devaddr, devtype): + try: + sysfs_nd_path = "%s/new_device" % sysfs_sfp_i2c_adapter_path + + # Write device address to new_device file + nd_file = open(sysfs_nd_path, "w") + nd_str = "%s %s" % (devtype, hex(devaddr)) + nd_file.write(nd_str) + nd_file.close() + + except Exception as err: + print("Error writing to new device file: %s" % str(err)) + return 1 + else: + return 0 + + def _get_port_eeprom_path(self, port_num, devid): + sysfs_i2c_adapter_base_path = "/sys/class/i2c-adapter" + + if port_num in self.port_to_eeprom_mapping.keys(): + sysfs_sfp_i2c_client_eeprom_path = self.port_to_eeprom_mapping[port_num] + else: + sysfs_i2c_adapter_base_path = "/sys/class/i2c-adapter" + + i2c_adapter_id = self._get_port_i2c_adapter_id(port_num) + if i2c_adapter_id is None: + print("Error getting i2c bus num") + return None + + # Get i2c virtual bus path for the sfp + sysfs_sfp_i2c_adapter_path = "%s/i2c-%s" % (sysfs_i2c_adapter_base_path, + str(i2c_adapter_id)) + + # If i2c bus for port does not exist + if not os.path.exists(sysfs_sfp_i2c_adapter_path): + print("Could not find i2c bus %s. Driver not loaded?" % sysfs_sfp_i2c_adapter_path) + return None + + sysfs_sfp_i2c_client_path = "%s/%s-00%s" % (sysfs_sfp_i2c_adapter_path, + str(i2c_adapter_id), + hex(devid)[-2:]) + + # If sfp device is not present on bus, Add it + if not os.path.exists(sysfs_sfp_i2c_client_path): + if port_num in self.osfp_ports: + ret = self._add_new_sfp_device( + sysfs_sfp_i2c_adapter_path, devid, self.OSFP_DEVICE_TYPE) + elif port_num in self.qsfp_ports: + ret = self._add_new_sfp_device( + sysfs_sfp_i2c_adapter_path, devid, self.QSFP_DEVICE_TYPE) + else: + ret = self._add_new_sfp_device( + sysfs_sfp_i2c_adapter_path, devid, self.SFP_DEVICE_TYPE) + if ret != 0: + print("Error adding sfp device") + return None + + sysfs_sfp_i2c_client_eeprom_path = "%s/eeprom" % sysfs_sfp_i2c_client_path + + return sysfs_sfp_i2c_client_eeprom_path + + def _read_eeprom_specific_bytes(self, sysfsfile_eeprom, offset, num_bytes): + eeprom_raw = [] + for i in range(0, num_bytes): + eeprom_raw.append("0x00") + + rv, raw = self._sfp_read_file_path(sysfsfile_eeprom, offset, num_bytes) + if rv == False: + return None + + try: + for n in range(0, num_bytes): + eeprom_raw[n] = hex(raw[n])[2:].zfill(2) + except: + return None + + return eeprom_raw + + def get_eeprom_dom_raw(self, port_num): + if port_num in self.qsfp_ports: + # QSFP DOM EEPROM is also at addr 0x50 and thus also stored in eeprom_ifraw + return None + else: + # Read dom eeprom at addr 0x51 + return self._read_eeprom_devid(port_num, self.IDENTITY_EEPROM_ADDR, 256) + + 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 + + cmd = "cat /sys/wb_plat/sff/sff{}/present".format(str(port_num+1)) + ret, output = subprocess.getstatusoutput(cmd) + if ret != 0: + return False + if output == "1": + return True + return False + + def check_is_qsfpdd(self, port_num): + try: + if self.get_presence(port_num) == False: + return False + + eeprom_path = self._get_port_eeprom_path(port_num, 0x50) + with open(eeprom_path, mode="rb", buffering=0) as eeprom: + eeprom_raw = self._read_eeprom_specific_bytes(eeprom, 0, 1) + # according to sff-8024 A0h Byte 0 is '1e' or '18' means the transceiver is qsfpdd + if (eeprom_raw[0] == '1e' or eeprom_raw[0] == '18'): + return True + except Exception as e: + print(traceback.format_exc()) + + return False + + def check_optoe_type(self, port_num, optoe_type): + if self.get_presence(port_num) == False: + return True + try: + eeprom_path = self._get_port_eeprom_path(port_num, 0x50) + dev_class_path = '/sys/bus/i2c/devices/i2c-{0}/{0}-0050/dev_class' + i2c_path = dev_class_path.format(str(self.port_to_i2cbus_mapping[port_num])) + cmd = "cat " + i2c_path + ret, output = subprocess.getstatusoutput(cmd) + if ret != 0: + print("cmd: %s execution fail, output:%s" % (cmd, output)) + return False + if int(output) != optoe_type: + cmd = "echo " + str(optoe_type) + " > " + i2c_path + ret, output = subprocess.getstatusoutput(cmd) + if ret != 0: + print("cmd: %s execution fail, output:%s" % (cmd, output)) + return False + return True + + except Exception as e: + print(traceback.format_exc()) + return False + + def get_low_power_mode(self, port_num): + # Check for invalid port_num + + return True + + def set_low_power_mode(self, port_num, lpmode): + # Check for invalid port_num + + return True + + def reset(self, port_num): + # Check for invalid port_num + if port_num < self.port_start or port_num > self.port_end: + return False + + return True + + def get_transceiver_change_event(self): + return False, {} + + def get_highest_temperature(self): + offset = 0 + hightest_temperature = -9999 + + presence_flag = False + read_eeprom_flag = False + temperature_valid_flag = False + + for port in range(self.PORT_START, self.PORTS_IN_BLOCK): + if self.get_presence(port) == False: + continue + + presence_flag = True + + if port in self.osfp_ports: + offset = 14 + elif port in self.qsfp_ports: + offset = 22 + else: + offset = 96 + + eeprom_path = self._get_port_eeprom_path(port, 0x50) + try: + with open(eeprom_path, mode="rb", buffering=0) as eeprom: + read_eeprom_flag = True + eeprom_raw = self._read_eeprom_specific_bytes(eeprom, offset, 2) + msb = int(eeprom_raw[0], 16) + lsb = int(eeprom_raw[1], 16) + + result = (msb << 8) | (lsb & 0xff) + result = float(result / 256.0) + if -50 <= result <= 200: + temperature_valid_flag = True + if hightest_temperature < result: + hightest_temperature = result + except Exception as e: + print(traceback.format_exc()) + + # all port not presence + if presence_flag == False: + hightest_temperature = -10000 + + # all port read eeprom fail + elif read_eeprom_flag == False: + hightest_temperature = -9999 + + # all port temperature invalid + elif read_eeprom_flag == True and temperature_valid_flag == False: + hightest_temperature = -10000 + + hightest_temperature = round(hightest_temperature, 2) + + return hightest_temperature diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/plugins/ssd_util.py b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/plugins/ssd_util.py new file mode 100644 index 000000000000..9bb285361f44 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/plugins/ssd_util.py @@ -0,0 +1,318 @@ +# +# ssd_util.py +# +# Generic implementation of the SSD health API +# SSD models supported: +# - InnoDisk +# - StorFly +# - Virtium + +try: + import re + import os + import subprocess + from sonic_platform_base.sonic_storage.storage_base import StorageBase +except ImportError as e: + raise ImportError (str(e) + "- required module not found") + +SMARTCTL = "smartctl {} -a" +INNODISK = "iSmart -d {}" +VIRTIUM = "SmartCmd -m {}" +DISK_LIST_CMD = "fdisk -l -o Device" +DISK_FREE_CMD = "df -h" +MOUNT_CMD = "mount" + +NOT_AVAILABLE = "N/A" +PE_CYCLE = 3000 +FAIL_PERCENT = 95 + +# Set Vendor Specific IDs +INNODISK_HEALTH_ID = 169 +INNODISK_TEMPERATURE_ID = 194 + +class SsdUtil(StorageBase): + """ + Generic implementation of the SSD health API + """ + model = NOT_AVAILABLE + serial = NOT_AVAILABLE + firmware = NOT_AVAILABLE + temperature = NOT_AVAILABLE + health = NOT_AVAILABLE + remaining_life = NOT_AVAILABLE + sata_rate = NOT_AVAILABLE + ssd_info = NOT_AVAILABLE + vendor_ssd_info = NOT_AVAILABLE + + def __init__(self, diskdev): + self.vendor_ssd_utility = { + "Generic" : { "utility" : SMARTCTL, "parser" : self.parse_generic_ssd_info }, + "InnoDisk" : { "utility" : INNODISK, "parser" : self.parse_innodisk_info }, + "M.2" : { "utility" : INNODISK, "parser" : self.parse_innodisk_info }, + "StorFly" : { "utility" : VIRTIUM, "parser" : self.parse_virtium_info }, + "Virtium" : { "utility" : VIRTIUM, "parser" : self.parse_virtium_info } + } + + """ + The dict model_attr keys relate the vendors + LITEON : "ER2-GD","AF2MA31DTDLT" + Intel : "SSDSCKKB" + SMI : "SM619GXC" + samsung: "MZNLH" + ADATA : "IM2S3134N" + """ + self.model_attr = { + "ER2-GD" : { "temperature" : "\n190\s+(.+?)\n", "remainingLife" : "\n202\s+(.+?)\n" }, + "AF2MA31DTDLT" : { "temperature" : "\n194\s+(.+?)\n", "remainingLife" : "\n202\s+(.+?)\n" }, + "SSDSCK" : { "temperature" : "\n194\s+(.+?)\n", "remainingLife" : "\n233\s+(.+?)\n" }, + "SM619GXC" : { "temperature" : "\n194\s+(.+?)\n", "remainingLife" : "\n169\s+(.+?)\n" }, + "MZNLH" : { "temperature" : "\n190\s+(.+?)\n", "remainingLife" : "\n245\s+(.+?)\n" }, + "IM2S3134N" : { "temperature" : "\n194\s+(.+?)\n", "remainingLife" : "\n231\s+(.+?)\n" }, + "MTFDDAV240TCB-1AR1ZABAA" : { "temperature" : "\n194\s+(.+?)\n", "remainingLife" : "\n202\s+(.+?)\n" } + } + + self.key_list = list(self.model_attr.keys()) + self.attr_info_rule = "[\s\S]*SMART Attributes Data Structure revision number: 1|SMART Error Log Version[\s\S]*" + self.dev = diskdev + # Generic part + self.fetch_generic_ssd_info(diskdev) + self.parse_generic_ssd_info() + self.fetch_vendor_ssd_info(diskdev, "Generic") + + # Known vendor part + if self.model: + model_short = self.model.split()[0] + if model_short in self.vendor_ssd_utility: + self.fetch_vendor_ssd_info(diskdev, model_short) + self.parse_vendor_ssd_info(model_short) + else: + # No handler registered for this disk model + pass + else: + # Failed to get disk model + self.model = "Unknown" + + def _execute_shell(self, cmd): + process = subprocess.Popen(cmd.split(), universal_newlines=True, stdout=subprocess.PIPE) + output, error = process.communicate() + exit_code = process.returncode + if exit_code: + return None + return output + + def _parse_re(self, pattern, buffer): + res_list = re.findall(pattern, str(buffer)) + return res_list[0] if res_list else NOT_AVAILABLE + + def fetch_generic_ssd_info(self, diskdev): + self.ssd_info = self._execute_shell(self.vendor_ssd_utility["Generic"]["utility"].format(diskdev)) + + # Health and temperature values may be overwritten with vendor specific data + def parse_generic_ssd_info(self): + if "nvme" in self.dev: + self.model = self._parse_re('Model Number:\s*(.+?)\n', self.ssd_info) + + health_raw = self._parse_re('Percentage Used\s*(.+?)\n', self.ssd_info) + if health_raw == NOT_AVAILABLE: + self.health = NOT_AVAILABLE + else: + health_raw = health_raw.split()[-1] + self.health = 100 - float(health_raw.strip('%')) + + temp_raw = self._parse_re('Temperature\s*(.+?)\n', self.ssd_info) + if temp_raw == NOT_AVAILABLE: + self.temperature = NOT_AVAILABLE + else: + temp_raw = temp_raw.split()[-2] + self.temperature = float(temp_raw) + else: + self.model = self._parse_re('Device Model:\s*(.+?)\n', self.ssd_info) + model_key = "" + for key in self.key_list: + if re.search(key, self.model): + model_key = key + break + if model_key != "": + self.remaining_life = self._parse_re(self.model_attr[model_key]["remainingLife"], re.sub(self.attr_info_rule,"",self.ssd_info)).split()[2] + self.temperature = self._parse_re(self.model_attr[model_key]["temperature"], re.sub(self.attr_info_rule,"",self.ssd_info)).split()[8] + self.health = self.remaining_life + # Get the LITEON ssd health value by (PE CYCLE - AVG ERASE CYCLE )/(PE CYCLE) + if model_key in ["ER2-GD", "AF2MA31DTDLT"]: + avg_erase = int(self._parse_re('\n173\s+(.+?)\n' ,re.sub(self.attr_info_rule,"",self.ssd_info)).split()[-1]) + self.health = int(round((PE_CYCLE - avg_erase)/PE_CYCLE*100,0)) + if self.remaining_life != NOT_AVAILABLE and int(self.remaining_life) < FAIL_PERCENT: + self.remaining_life = "Fail" + self.sata_rate = self._parse_re('SATA Version is:.*current: (.+?)\)\n', self.ssd_info) + self.serial = self._parse_re('Serial Number:\s*(.+?)\n', self.ssd_info) + self.firmware = self._parse_re('Firmware Version:\s*(.+?)\n', self.ssd_info) + + def parse_innodisk_info(self): + if self.vendor_ssd_info: + self.health = self._parse_re('Health:\s*(.+?)%', self.vendor_ssd_info) + self.temperature = self._parse_re('Temperature\s*\[\s*(.+?)\]', self.vendor_ssd_info) + else: + if self.health == NOT_AVAILABLE: + health_raw = self.parse_id_number(INNODISK_HEALTH_ID) + self.health = health_raw.split()[-1] + if self.temperature == NOT_AVAILABLE: + temp_raw = self.parse_id_number(INNODISK_TEMPERATURE_ID) + self.temperature = temp_raw.split()[-6] + + def parse_virtium_info(self): + if self.vendor_ssd_info: + self.temperature = self._parse_re('Temperature_Celsius\s*\d*\s*(\d+?)\s+', self.vendor_ssd_info) + nand_endurance = self._parse_re('NAND_Endurance\s*\d*\s*(\d+?)\s+', self.vendor_ssd_info) + avg_erase_count = self._parse_re('Average_Erase_Count\s*\d*\s*(\d+?)\s+', self.vendor_ssd_info) + try: + self.health = 100 - (float(avg_erase_count) * 100 / float(nand_endurance)) + except (ValueError, ZeroDivisionError): + # Invalid avg_erase_count or nand_endurance. + pass + + def fetch_vendor_ssd_info(self, diskdev, model): + self.vendor_ssd_info = self._execute_shell(self.vendor_ssd_utility[model]["utility"].format(diskdev)) + + def parse_vendor_ssd_info(self, model): + self.vendor_ssd_utility[model]["parser"]() + + def check_readonly2(self, partition, filesystem): + # parse mount cmd output info + mount_info = self._execute_shell(MOUNT_CMD) + for line in mount_info.split('\n'): + column_list = line.split() + if line == '': + continue + if column_list[0] == partition and column_list[2] == filesystem: + if column_list[5].split(',')[0][1:] == "ro": + return partition + else: + return NOT_AVAILABLE + return NOT_AVAILABLE + + def check_readonly(self, partition, filesystem): + ret = os.access(filesystem, os.W_OK) + if ret == False: + return partition + else: + return NOT_AVAILABLE + + def get_health(self): + """ + Retrieves current disk health in percentages + + Returns: + A float number of current ssd health + e.g. 83.5 + """ + if self.health == 'N/A': + return "NA" + else: + return float(self.health) + + def get_temperature(self): + """ + Retrieves current disk temperature in Celsius + + Returns: + A float number of current temperature in Celsius + e.g. 40.1 + """ + if self.temperature == 'N/A': + return 'NA' + else: + return float(self.temperature) + + def get_model(self): + """ + Retrieves model for the given disk device + + Returns: + A string holding disk model as provided by the manufacturer + """ + return self.model + + def get_firmware(self): + """ + Retrieves firmware version for the given disk device + + Returns: + A string holding disk firmware version as provided by the manufacturer + """ + return self.firmware + + def get_serial(self): + """ + Retrieves serial number for the given disk device + + Returns: + A string holding disk serial number as provided by the manufacturer + """ + return self.serial + def get_sata_rate(self): + """ + Retrieves SATA rate for the given disk device + Returns: + A string holding current SATA rate as provided by the manufacturer + """ + return self.sata_rate + def get_remaining_life(self): + """ + Retrieves remaining life for the given disk device + Returns: + A string holding disk remaining life as provided by the manufacturer + """ + return self.remaining_life + def get_vendor_output(self): + """ + Retrieves vendor specific data for the given disk device + + Returns: + A string holding some vendor specific disk information + """ + return self.vendor_ssd_info + + def parse_id_number(self, id): + return self._parse_re('{}\s*(.+?)\n'.format(id), self.ssd_info) + + def get_readonly_partition(self): + """ + Check the partition mount filesystem is readonly status,then output the result. + Returns: + The readonly partition list + """ + + ro_partition_list = [] + partition_list = [] + + # parse fdisk cmd output info + disk_info = self._execute_shell(DISK_LIST_CMD) + begin_flag = False + for line in disk_info.split('\n'): + if line == "Device": + begin_flag = True + continue + if begin_flag: + if line != "": + partition_list.append(line) + else: + break + + # parse df cmd output info + disk_free = self._execute_shell(DISK_FREE_CMD) + disk_dict = {} + line_num = 0 + for line in disk_free.split('\n'): + line_num = line_num + 1 + if line_num == 1 or line == "": + continue + column_list = line.split() + disk_dict[column_list[0]] = column_list[5] + + # get partition which is readonly + for partition in partition_list: + if partition in disk_dict: + ret = self.check_readonly(partition, disk_dict[partition]) + if (ret != NOT_AVAILABLE): + ro_partition_list.append(ret) + + return ro_partition_list diff --git a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/pmon_daemon_control.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/pmon_daemon_control.json similarity index 100% rename from device/marvell/arm64-marvell_db98cx8580_16cd-r0/pmon_daemon_control.json rename to device/micas/x86_64-micas_m2-w6520-48c8qc-r0/pmon_daemon_control.json diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/postinit_cmd_file.soc b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/postinit_cmd_file.soc new file mode 100644 index 000000000000..6167c3d68f33 --- /dev/null +++ b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/postinit_cmd_file.soc @@ -0,0 +1,7 @@ +led load /usr/share/sonic/platform/custom_led.bin + +led auto on + +led start + +linkscan SwPortBitMap=xe,ce,cd diff --git a/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/system_health_monitoring_config.json b/device/micas/x86_64-micas_m2-w6520-48c8qc-r0/system_health_monitoring_config.json new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t0.j2 b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t0.j2 index cfc4ff0afd84..c93ce9f3cbd7 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t0.j2 +++ b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t0.j2 @@ -2,7 +2,7 @@ {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} - {%- for port_idx in range(0,256,4) %} + {%- for port_idx in range(0,512,8) %} {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} {%- endfor %} {%- endmacro %} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t1.j2 b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t1.j2 index cfc4ff0afd84..c93ce9f3cbd7 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t1.j2 +++ b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/buffers_defaults_t1.j2 @@ -2,7 +2,7 @@ {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} - {%- for port_idx in range(0,256,4) %} + {%- for port_idx in range(0,512,8) %} {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} {%- endfor %} {%- endmacro %} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/hwsku.json b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/hwsku.json new file mode 100644 index 000000000000..a186d539b50c --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/hwsku.json @@ -0,0 +1,203 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G" + }, + "Ethernet8": { + "default_brkout_mode": "1x400G" + }, + "Ethernet16": { + "default_brkout_mode": "1x400G" + }, + "Ethernet24": { + "default_brkout_mode": "1x400G" + }, + "Ethernet32": { + "default_brkout_mode": "1x400G" + }, + "Ethernet40": { + "default_brkout_mode": "1x400G" + }, + "Ethernet48": { + "default_brkout_mode": "1x400G" + }, + "Ethernet56": { + "default_brkout_mode": "1x400G" + }, + "Ethernet64": { + "default_brkout_mode": "1x400G" + }, + "Ethernet72": { + "default_brkout_mode": "1x400G" + }, + "Ethernet80": { + "default_brkout_mode": "1x400G" + }, + "Ethernet88": { + "default_brkout_mode": "1x400G" + }, + "Ethernet96": { + "default_brkout_mode": "1x400G" + }, + "Ethernet104": { + "default_brkout_mode": "1x400G" + }, + "Ethernet112": { + "default_brkout_mode": "1x400G" + }, + "Ethernet120": { + "default_brkout_mode": "1x400G" + }, + "Ethernet128": { + "default_brkout_mode": "1x400G" + }, + "Ethernet136": { + "default_brkout_mode": "1x400G" + }, + "Ethernet144": { + "default_brkout_mode": "1x400G" + }, + "Ethernet152": { + "default_brkout_mode": "1x400G" + }, + "Ethernet160": { + "default_brkout_mode": "1x400G" + }, + "Ethernet168": { + "default_brkout_mode": "1x400G" + }, + "Ethernet176": { + "default_brkout_mode": "1x400G" + }, + "Ethernet184": { + "default_brkout_mode": "1x400G" + }, + "Ethernet192": { + "default_brkout_mode": "1x400G" + }, + "Ethernet200": { + "default_brkout_mode": "1x400G" + }, + "Ethernet208": { + "default_brkout_mode": "1x400G" + }, + "Ethernet216": { + "default_brkout_mode": "1x400G" + }, + "Ethernet224": { + "default_brkout_mode": "1x400G" + }, + "Ethernet232": { + "default_brkout_mode": "1x400G" + }, + "Ethernet240": { + "default_brkout_mode": "1x400G" + }, + "Ethernet248": { + "default_brkout_mode": "1x400G" + }, + "Ethernet256": { + "default_brkout_mode": "1x400G" + }, + "Ethernet264": { + "default_brkout_mode": "1x400G" + }, + "Ethernet272": { + "default_brkout_mode": "1x400G" + }, + "Ethernet280": { + "default_brkout_mode": "1x400G" + }, + "Ethernet288": { + "default_brkout_mode": "1x400G" + }, + "Ethernet296": { + "default_brkout_mode": "1x400G" + }, + "Ethernet304": { + "default_brkout_mode": "1x400G" + }, + "Ethernet312": { + "default_brkout_mode": "1x400G" + }, + "Ethernet320": { + "default_brkout_mode": "1x400G" + }, + "Ethernet328": { + "default_brkout_mode": "1x400G" + }, + "Ethernet336": { + "default_brkout_mode": "1x400G" + }, + "Ethernet344": { + "default_brkout_mode": "1x400G" + }, + "Ethernet352": { + "default_brkout_mode": "1x400G" + }, + "Ethernet360": { + "default_brkout_mode": "1x400G" + }, + "Ethernet368": { + "default_brkout_mode": "1x400G" + }, + "Ethernet376": { + "default_brkout_mode": "1x400G" + }, + "Ethernet384": { + "default_brkout_mode": "1x400G" + }, + "Ethernet392": { + "default_brkout_mode": "1x400G" + }, + "Ethernet400": { + "default_brkout_mode": "1x400G" + }, + "Ethernet408": { + "default_brkout_mode": "1x400G" + }, + "Ethernet416": { + "default_brkout_mode": "1x400G" + }, + "Ethernet424": { + "default_brkout_mode": "1x400G" + }, + "Ethernet432": { + "default_brkout_mode": "1x400G" + }, + "Ethernet440": { + "default_brkout_mode": "1x400G" + }, + "Ethernet448": { + "default_brkout_mode": "1x400G" + }, + "Ethernet456": { + "default_brkout_mode": "1x400G" + }, + "Ethernet464": { + "default_brkout_mode": "1x400G" + }, + "Ethernet472": { + "default_brkout_mode": "1x400G" + }, + "Ethernet480": { + "default_brkout_mode": "1x400G" + }, + "Ethernet488": { + "default_brkout_mode": "1x400G" + }, + "Ethernet496": { + "default_brkout_mode": "1x400G" + }, + "Ethernet504": { + "default_brkout_mode": "1x400G" + }, + "Ethernet512": { + "default_brkout_mode": "1x10G" + }, + "Ethernet513": { + "default_brkout_mode": "1x10G" + } + } +} + diff --git a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/media_settings.json b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/media_settings.json index 066777abff2c..54349bc77c53 100755 --- a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/media_settings.json +++ b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/media_settings.json @@ -4141,4 +4141,4 @@ } } } -} \ No newline at end of file +} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/port_config.ini b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/port_config.ini index 07184ae23f78..0ee93cd63ea5 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/port_config.ini +++ b/device/nokia/x86_64-nokia_ixr7220_h4-r0/Nokia-IXR7220-H4-64D/port_config.ini @@ -1,67 +1,67 @@ -# name lanes alias index speed -Ethernet0 129,130,131,132,133,134,135,136 fourhundredGigE1/1 1 400000 -Ethernet4 137,138,139,140,141,142,143,144 fourhundredGigE1/2 2 400000 -Ethernet8 145,146,147,148,149,150,151,152 fourhundredGigE1/3 3 400000 -Ethernet12 153,154,155,156,157,158,159,160 fourhundredGigE1/4 4 400000 -Ethernet16 161,162,163,164,165,166,167,168 fourhundredGigE1/5 5 400000 -Ethernet20 169,170,171,172,173,174,175,176 fourhundredGigE1/6 6 400000 -Ethernet24 177,178,179,180,181,182,183,184 fourhundredGigE1/7 7 400000 -Ethernet28 185,186,187,188,189,190,191,192 fourhundredGigE1/8 8 400000 -Ethernet32 193,194,195,196,197,198,199,200 fourhundredGigE1/9 9 400000 -Ethernet36 201,202,203,204,205,206,207,208 fourhundredGigE1/10 10 400000 -Ethernet40 249,250,251,252,253,254,255,256 fourhundredGigE1/11 11 400000 -Ethernet44 241,242,243,244,245,246,247,248 fourhundredGigE1/12 12 400000 -Ethernet48 225,226,227,228,229,230,231,232 fourhundredGigE1/13 13 400000 -Ethernet52 233,234,235,236,237,238,239,240 fourhundredGigE1/14 14 400000 -Ethernet56 217,218,219,220,221,222,223,224 fourhundredGigE1/15 15 400000 -Ethernet60 209,210,211,212,213,214,215,216 fourhundredGigE1/16 16 400000 -Ethernet64 289,290,291,292,293,294,295,296 fourhundredGigE1/17 17 400000 -Ethernet68 297,298,299,300,301,302,303,304 fourhundredGigE1/18 18 400000 -Ethernet72 281,282,283,284,285,286,287,288 fourhundredGigE1/19 19 400000 -Ethernet76 273,274,275,276,277,278,279,280 fourhundredGigE1/20 20 400000 -Ethernet80 257,258,259,260,261,262,263,264 fourhundredGigE1/21 21 400000 -Ethernet84 265,266,267,268,269,270,271,272 fourhundredGigE1/22 22 400000 -Ethernet88 305,306,307,308,309,310,311,312 fourhundredGigE1/23 23 400000 -Ethernet92 313,314,315,316,317,318,319,320 fourhundredGigE1/24 24 400000 -Ethernet96 321,322,323,324,325,326,327,328 fourhundredGigE1/25 25 400000 -Ethernet100 329,330,331,332,333,334,335,336 fourhundredGigE1/26 26 400000 -Ethernet104 337,338,339,340,341,342,343,344 fourhundredGigE1/27 27 400000 -Ethernet108 345,346,347,348,349,350,351,352 fourhundredGigE1/28 28 400000 -Ethernet112 353,354,355,356,357,358,359,360 fourhundredGigE1/29 29 400000 -Ethernet116 361,362,363,364,365,366,367,368 fourhundredGigE1/30 30 400000 -Ethernet120 369,370,371,372,373,374,375,376 fourhundredGigE1/31 31 400000 -Ethernet124 377,378,379,380,381,382,383,384 fourhundredGigE1/32 32 400000 -Ethernet128 97,98,99,100,101,102,103,104 fourhundredGigE1/33 33 400000 -Ethernet132 105,106,107,108,109,110,111,112 fourhundredGigE1/34 34 400000 -Ethernet136 113,114,115,116,117,118,119,120 fourhundredGigE1/35 35 400000 -Ethernet140 121,122,123,124,125,126,127,128 fourhundredGigE1/36 36 400000 -Ethernet144 57,58,59,60,61,62,63,64 fourhundredGigE1/37 37 400000 -Ethernet148 65,66,67,68,69,70,71,72 fourhundredGigE1/38 38 400000 -Ethernet152 49,50,51,52,53,54,55,56 fourhundredGigE1/39 39 400000 -Ethernet156 81,82,83,84,85,86,87,88 fourhundredGigE1/40 40 400000 -Ethernet160 41,42,43,44,45,46,47,48 fourhundredGigE1/41 41 400000 -Ethernet164 73,74,75,76,77,78,79,80 fourhundredGigE1/42 42 400000 -Ethernet168 33,34,35,36,37,38,39,40 fourhundredGigE1/43 43 400000 -Ethernet172 89,90,91,92,93,94,95,96 fourhundredGigE1/44 44 400000 -Ethernet176 25,26,27,28,29,30,31,32 fourhundredGigE1/45 45 400000 -Ethernet180 17,18,19,20,21,22,23,24 fourhundredGigE1/46 46 400000 -Ethernet184 1,2,3,4,5,6,7,8 fourhundredGigE1/47 47 400000 -Ethernet188 9,10,11,12,13,14,15,16 fourhundredGigE1/48 48 400000 -Ethernet192 497,498,499,500,501,502,503,504 fourhundredGigE1/49 49 400000 -Ethernet196 505,506,507,508,509,510,511,512 fourhundredGigE1/50 50 400000 -Ethernet200 489,490,491,492,493,494,495,496 fourhundredGigE1/51 51 400000 -Ethernet204 481,482,483,484,485,486,487,488 fourhundredGigE1/52 52 400000 -Ethernet208 473,474,475,476,477,478,479,480 fourhundredGigE1/53 53 400000 -Ethernet212 417,418,419,420,421,422,423,424 fourhundredGigE1/54 54 400000 -Ethernet216 465,466,467,468,469,470,471,472 fourhundredGigE1/55 55 400000 -Ethernet220 433,434,435,436,437,438,439,440 fourhundredGigE1/56 56 400000 -Ethernet224 457,458,459,460,461,462,463,464 fourhundredGigE1/57 57 400000 -Ethernet228 425,426,427,428,429,430,431,432 fourhundredGigE1/58 58 400000 -Ethernet232 449,450,451,452,453,454,455,456 fourhundredGigE1/59 59 400000 -Ethernet236 441,442,443,444,445,446,447,448 fourhundredGigE1/60 60 400000 -Ethernet240 385,386,387,388,389,390,391,392 fourhundredGigE1/61 61 400000 -Ethernet244 401,402,403,404,405,406,407,408 fourhundredGigE1/62 62 400000 -Ethernet248 393,394,395,396,397,398,399,400 fourhundredGigE1/63 63 400000 -Ethernet252 409,410,411,412,413,414,415,416 fourhundredGigE1/64 64 400000 -Ethernet256 513 tenGigE1/65 65 10000 -Ethernet257 515 tenGigE1/66 66 10000 +# name lanes alias index speed fec +Ethernet0 129,130,131,132,133,134,135,136 Ethernet1/1 1 400000 rs +Ethernet8 137,138,139,140,141,142,143,144 Ethernet2/1 2 400000 rs +Ethernet16 145,146,147,148,149,150,151,152 Ethernet3/1 3 400000 rs +Ethernet24 153,154,155,156,157,158,159,160 Ethernet4/1 4 400000 rs +Ethernet32 161,162,163,164,165,166,167,168 Ethernet5/1 5 400000 rs +Ethernet40 169,170,171,172,173,174,175,176 Ethernet6/1 6 400000 rs +Ethernet48 177,178,179,180,181,182,183,184 Ethernet7/1 7 400000 rs +Ethernet56 185,186,187,188,189,190,191,192 Ethernet8/1 8 400000 rs +Ethernet64 193,194,195,196,197,198,199,200 Ethernet9/1 9 400000 rs +Ethernet72 201,202,203,204,205,206,207,208 Ethernet10/1 10 400000 rs +Ethernet80 249,250,251,252,253,254,255,256 Ethernet11/1 11 400000 rs +Ethernet88 241,242,243,244,245,246,247,248 Ethernet12/1 12 400000 rs +Ethernet96 225,226,227,228,229,230,231,232 Ethernet13/1 13 400000 rs +Ethernet104 233,234,235,236,237,238,239,240 Ethernet14/1 14 400000 rs +Ethernet112 217,218,219,220,221,222,223,224 Ethernet15/1 15 400000 rs +Ethernet120 209,210,211,212,213,214,215,216 Ethernet16/1 16 400000 rs +Ethernet128 289,290,291,292,293,294,295,296 Ethernet17/1 17 400000 rs +Ethernet136 297,298,299,300,301,302,303,304 Ethernet18/1 18 400000 rs +Ethernet144 281,282,283,284,285,286,287,288 Ethernet19/1 19 400000 rs +Ethernet152 273,274,275,276,277,278,279,280 Ethernet20/1 20 400000 rs +Ethernet160 257,258,259,260,261,262,263,264 Ethernet21/1 21 400000 rs +Ethernet168 265,266,267,268,269,270,271,272 Ethernet22/1 22 400000 rs +Ethernet176 305,306,307,308,309,310,311,312 Ethernet23/1 23 400000 rs +Ethernet184 313,314,315,316,317,318,319,320 Ethernet24/1 24 400000 rs +Ethernet192 321,322,323,324,325,326,327,328 Ethernet25/1 25 400000 rs +Ethernet200 329,330,331,332,333,334,335,336 Ethernet26/1 26 400000 rs +Ethernet208 337,338,339,340,341,342,343,344 Ethernet27/1 27 400000 rs +Ethernet216 345,346,347,348,349,350,351,352 Ethernet28/1 28 400000 rs +Ethernet224 353,354,355,356,357,358,359,360 Ethernet29/1 29 400000 rs +Ethernet232 361,362,363,364,365,366,367,368 Ethernet30/1 30 400000 rs +Ethernet240 369,370,371,372,373,374,375,376 Ethernet31/1 31 400000 rs +Ethernet248 377,378,379,380,381,382,383,384 Ethernet32/1 32 400000 rs +Ethernet256 97,98,99,100,101,102,103,104 Ethernet33/1 33 400000 rs +Ethernet264 105,106,107,108,109,110,111,112 Ethernet34/1 34 400000 rs +Ethernet272 113,114,115,116,117,118,119,120 Ethernet35/1 35 400000 rs +Ethernet280 121,122,123,124,125,126,127,128 Ethernet36/1 36 400000 rs +Ethernet288 57,58,59,60,61,62,63,64 Ethernet37/1 37 400000 rs +Ethernet296 65,66,67,68,69,70,71,72 Ethernet38/1 38 400000 rs +Ethernet304 49,50,51,52,53,54,55,56 Ethernet39/1 39 400000 rs +Ethernet312 81,82,83,84,85,86,87,88 Ethernet40/1 40 400000 rs +Ethernet320 41,42,43,44,45,46,47,48 Ethernet41/1 41 400000 rs +Ethernet328 73,74,75,76,77,78,79,80 Ethernet42/1 42 400000 rs +Ethernet336 33,34,35,36,37,38,39,40 Ethernet43/1 43 400000 rs +Ethernet344 89,90,91,92,93,94,95,96 Ethernet44/1 44 400000 rs +Ethernet352 25,26,27,28,29,30,31,32 Ethernet45/1 45 400000 rs +Ethernet360 17,18,19,20,21,22,23,24 Ethernet46/1 46 400000 rs +Ethernet368 1,2,3,4,5,6,7,8 Ethernet47/1 47 400000 rs +Ethernet376 9,10,11,12,13,14,15,16 Ethernet48/1 48 400000 rs +Ethernet384 497,498,499,500,501,502,503,504 Ethernet49/1 49 400000 rs +Ethernet392 505,506,507,508,509,510,511,512 Ethernet50/1 50 400000 rs +Ethernet400 489,490,491,492,493,494,495,496 Ethernet51/1 51 400000 rs +Ethernet408 481,482,483,484,485,486,487,488 Ethernet52/1 52 400000 rs +Ethernet416 473,474,475,476,477,478,479,480 Ethernet53/1 53 400000 rs +Ethernet424 417,418,419,420,421,422,423,424 Ethernet54/1 54 400000 rs +Ethernet432 465,466,467,468,469,470,471,472 Ethernet55/1 55 400000 rs +Ethernet440 433,434,435,436,437,438,439,440 Ethernet56/1 56 400000 rs +Ethernet448 457,458,459,460,461,462,463,464 Ethernet57/1 57 400000 rs +Ethernet456 425,426,427,428,429,430,431,432 Ethernet58/1 58 400000 rs +Ethernet464 449,450,451,452,453,454,455,456 Ethernet59/1 59 400000 rs +Ethernet472 441,442,443,444,445,446,447,448 Ethernet60/1 60 400000 rs +Ethernet480 385,386,387,388,389,390,391,392 Ethernet61/1 61 400000 rs +Ethernet488 401,402,403,404,405,406,407,408 Ethernet62/1 62 400000 rs +Ethernet496 393,394,395,396,397,398,399,400 Ethernet63/1 63 400000 rs +Ethernet504 409,410,411,412,413,414,415,416 Ethernet64/1 64 400000 rs +Ethernet512 513 Ethernet65 65 10000 none +Ethernet513 515 Ethernet66 66 10000 none diff --git a/device/nokia/x86_64-nokia_ixr7220_h4-r0/platform.json b/device/nokia/x86_64-nokia_ixr7220_h4-r0/platform.json index 4c0acf7eb890..1be536de81b6 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4-r0/platform.json +++ b/device/nokia/x86_64-nokia_ixr7220_h4-r0/platform.json @@ -495,7 +495,1882 @@ } ] }, - "interfaces": {}, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1,1,1,1,1", + "lanes": "129,130,131,132,133,134,135,136", + "breakout_modes": { + "1x400G": [ + "Ethernet1/1" + ], + "2x200G": [ + "Ethernet1/1", + "Ethernet1/5" + ], + "4x100G": [ + "Ethernet1/1", + "Ethernet1/3", + "Ethernet1/5", + "Ethernet1/7" + ], + "8x50G": [ + "Ethernet1/1", + "Ethernet1/2", + "Ethernet1/3", + "Ethernet1/4", + "Ethernet1/5", + "Ethernet1/6", + "Ethernet1/7", + "Ethernet1/8" + ] + } + }, + "Ethernet8": { + "index": "2,2,2,2,2,2,2,2", + "lanes": "137,138,139,140,141,142,143,144", + "breakout_modes": { + "1x400G": [ + "Ethernet2/1" + ], + "2x200G": [ + "Ethernet2/1", + "Ethernet2/5" + ], + "4x100G": [ + "Ethernet2/1", + "Ethernet2/3", + "Ethernet2/5", + "Ethernet2/7" + ], + "8x50G": [ + "Ethernet2/1", + "Ethernet2/2", + "Ethernet2/3", + "Ethernet2/4", + "Ethernet2/5", + "Ethernet2/6", + "Ethernet2/7", + "Ethernet2/8" + ] + } + }, + "Ethernet16": { + "index": "3,3,3,3,3,3,3,3", + "lanes": "145,146,147,148,149,150,151,152", + "breakout_modes": { + "1x400G": [ + "Ethernet3/1" + ], + "2x200G": [ + "Ethernet3/1", + "Ethernet3/5" + ], + "4x100G": [ + "Ethernet3/1", + "Ethernet3/3", + "Ethernet3/5", + "Ethernet3/7" + ], + "8x50G": [ + "Ethernet3/1", + "Ethernet3/2", + "Ethernet3/3", + "Ethernet3/4", + "Ethernet3/5", + "Ethernet3/6", + "Ethernet3/7", + "Ethernet3/8" + ] + } + }, + "Ethernet24": { + "index": "4,4,4,4,4,4,4,4", + "lanes": "153,154,155,156,157,158,159,160", + "breakout_modes": { + "1x400G": [ + "Ethernet4/1" + ], + "2x200G": [ + "Ethernet4/1", + "Ethernet4/5" + ], + "4x100G": [ + "Ethernet4/1", + "Ethernet4/3", + "Ethernet4/5", + "Ethernet4/7" + ], + "8x50G": [ + "Ethernet4/1", + "Ethernet4/2", + "Ethernet4/3", + "Ethernet4/4", + "Ethernet4/5", + "Ethernet4/6", + "Ethernet4/7", + "Ethernet4/8" + ] + } + }, + "Ethernet32": { + "index": "5,5,5,5,5,5,5,5", + "lanes": "161,162,163,164,165,166,167,168", + "breakout_modes": { + "1x400G": [ + "Ethernet5/1" + ], + "2x200G": [ + "Ethernet5/1", + "Ethernet5/5" + ], + "4x100G": [ + "Ethernet5/1", + "Ethernet5/3", + "Ethernet5/5", + "Ethernet5/7" + ], + "8x50G": [ + "Ethernet5/1", + "Ethernet5/2", + "Ethernet5/3", + "Ethernet5/4", + "Ethernet5/5", + "Ethernet5/6", + "Ethernet5/7", + "Ethernet5/8" + ] + } + }, + "Ethernet40": { + "index": "6,6,6,6,6,6,6,6", + "lanes": "169,170,171,172,173,174,175,176", + "breakout_modes": { + "1x400G": [ + "Ethernet6/1" + ], + "2x200G": [ + "Ethernet6/1", + "Ethernet6/5" + ], + "4x100G": [ + "Ethernet6/1", + "Ethernet6/3", + "Ethernet6/5", + "Ethernet6/7" + ], + "8x50G": [ + "Ethernet6/1", + "Ethernet6/2", + "Ethernet6/3", + "Ethernet6/4", + "Ethernet6/5", + "Ethernet6/6", + "Ethernet6/7", + "Ethernet6/8" + ] + } + }, + "Ethernet48": { + "index": "7,7,7,7,7,7,7,7", + "lanes": "177,178,179,180,181,182,183,184", + "breakout_modes": { + "1x400G": [ + "Ethernet7/1" + ], + "2x200G": [ + "Ethernet7/1", + "Ethernet7/5" + ], + "4x100G": [ + "Ethernet7/1", + "Ethernet7/3", + "Ethernet7/5", + "Ethernet7/7" + ], + "8x50G": [ + "Ethernet7/1", + "Ethernet7/2", + "Ethernet7/3", + "Ethernet7/4", + "Ethernet7/5", + "Ethernet7/6", + "Ethernet7/7", + "Ethernet7/8" + ] + } + }, + "Ethernet56": { + "index": "8,8,8,8,8,8,8,8", + "lanes": "185,186,187,188,189,190,191,192", + "breakout_modes": { + "1x400G": [ + "Ethernet8/1" + ], + "2x200G": [ + "Ethernet8/1", + "Ethernet8/5" + ], + "4x100G": [ + "Ethernet8/1", + "Ethernet8/3", + "Ethernet8/5", + "Ethernet8/7" + ], + "8x50G": [ + "Ethernet8/1", + "Ethernet8/2", + "Ethernet8/3", + "Ethernet8/4", + "Ethernet8/5", + "Ethernet8/6", + "Ethernet8/7", + "Ethernet8/8" + ] + } + }, + "Ethernet64": { + "index": "9,9,9,9,9,9,9,9", + "lanes": "193,194,195,196,197,198,199,200", + "breakout_modes": { + "1x400G": [ + "Ethernet9/1" + ], + "2x200G": [ + "Ethernet9/1", + "Ethernet9/5" + ], + "4x100G": [ + "Ethernet9/1", + "Ethernet9/3", + "Ethernet9/5", + "Ethernet9/7" + ], + "8x50G": [ + "Ethernet9/1", + "Ethernet9/2", + "Ethernet9/3", + "Ethernet9/4", + "Ethernet9/5", + "Ethernet9/6", + "Ethernet9/7", + "Ethernet9/8" + ] + } + }, + "Ethernet72": { + "index": "10,10,10,10,10,10,10,10", + "lanes": "201,202,203,204,205,206,207,208", + "breakout_modes": { + "1x400G": [ + "Ethernet10/1" + ], + "2x200G": [ + "Ethernet10/1", + "Ethernet10/5" + ], + "4x100G": [ + "Ethernet10/1", + "Ethernet10/3", + "Ethernet10/5", + "Ethernet10/7" + ], + "8x50G": [ + "Ethernet10/1", + "Ethernet10/2", + "Ethernet10/3", + "Ethernet10/4", + "Ethernet10/5", + "Ethernet10/6", + "Ethernet10/7", + "Ethernet10/8" + ] + } + }, + "Ethernet80": { + "index": "11,11,11,11,11,11,11,11", + "lanes": "249,250,251,252,253,254,255,256", + "breakout_modes": { + "1x400G": [ + "Ethernet11/1" + ], + "2x200G": [ + "Ethernet11/1", + "Ethernet11/5" + ], + "4x100G": [ + "Ethernet11/1", + "Ethernet11/3", + "Ethernet11/5", + "Ethernet11/7" + ], + "8x50G": [ + "Ethernet11/1", + "Ethernet11/2", + "Ethernet11/3", + "Ethernet11/4", + "Ethernet11/5", + "Ethernet11/6", + "Ethernet11/7", + "Ethernet11/8" + ] + } + }, + "Ethernet88": { + "index": "12,12,12,12,12,12,12,12", + "lanes": "241,242,243,244,245,246,247,248", + "breakout_modes": { + "1x400G": [ + "Ethernet12/1" + ], + "2x200G": [ + "Ethernet12/1", + "Ethernet12/5" + ], + "4x100G": [ + "Ethernet12/1", + "Ethernet12/3", + "Ethernet12/5", + "Ethernet12/7" + ], + "8x50G": [ + "Ethernet12/1", + "Ethernet12/2", + "Ethernet12/3", + "Ethernet12/4", + "Ethernet12/5", + "Ethernet12/6", + "Ethernet12/7", + "Ethernet12/8" + ] + } + }, + "Ethernet96": { + "index": "13,13,13,13,13,13,13,13", + "lanes": "225,226,227,228,229,230,231,232", + "breakout_modes": { + "1x400G": [ + "Ethernet13/1" + ], + "2x200G": [ + "Ethernet13/1", + "Ethernet13/5" + ], + "4x100G": [ + "Ethernet13/1", + "Ethernet13/3", + "Ethernet13/5", + "Ethernet13/7" + ], + "8x50G": [ + "Ethernet13/1", + "Ethernet13/2", + "Ethernet13/3", + "Ethernet13/4", + "Ethernet13/5", + "Ethernet13/6", + "Ethernet13/7", + "Ethernet13/8" + ] + } + }, + "Ethernet104": { + "index": "14,14,14,14,14,14,14,14", + "lanes": "233,234,235,236,237,238,239,240", + "breakout_modes": { + "1x400G": [ + "Ethernet14/1" + ], + "2x200G": [ + "Ethernet14/1", + "Ethernet14/5" + ], + "4x100G": [ + "Ethernet14/1", + "Ethernet14/3", + "Ethernet14/5", + "Ethernet14/7" + ], + "8x50G": [ + "Ethernet14/1", + "Ethernet14/2", + "Ethernet14/3", + "Ethernet14/4", + "Ethernet14/5", + "Ethernet14/6", + "Ethernet14/7", + "Ethernet14/8" + ] + } + }, + "Ethernet112": { + "index": "15,15,15,15,15,15,15,15", + "lanes": "217,218,219,220,221,222,223,224", + "breakout_modes": { + "1x400G": [ + "Ethernet15/1" + ], + "2x200G": [ + "Ethernet15/1", + "Ethernet15/5" + ], + "4x100G": [ + "Ethernet15/1", + "Ethernet15/3", + "Ethernet15/5", + "Ethernet15/7" + ], + "8x50G": [ + "Ethernet15/1", + "Ethernet15/2", + "Ethernet15/3", + "Ethernet15/4", + "Ethernet15/5", + "Ethernet15/6", + "Ethernet15/7", + "Ethernet15/8" + ] + } + }, + "Ethernet120": { + "index": "16,16,16,16,16,16,16,16", + "lanes": "209,210,211,212,213,214,215,216", + "breakout_modes": { + "1x400G": [ + "Ethernet16/1" + ], + "2x200G": [ + "Ethernet16/1", + "Ethernet16/5" + ], + "4x100G": [ + "Ethernet16/1", + "Ethernet16/3", + "Ethernet16/5", + "Ethernet16/7" + ], + "8x50G": [ + "Ethernet16/1", + "Ethernet16/2", + "Ethernet16/3", + "Ethernet16/4", + "Ethernet16/5", + "Ethernet16/6", + "Ethernet16/7", + "Ethernet16/8" + ] + } + }, + "Ethernet128": { + "index": "17,17,17,17,17,17,17,17", + "lanes": "289,290,291,292,293,294,295,296", + "breakout_modes": { + "1x400G": [ + "Ethernet17/1" + ], + "2x200G": [ + "Ethernet17/1", + "Ethernet17/5" + ], + "4x100G": [ + "Ethernet17/1", + "Ethernet17/3", + "Ethernet17/5", + "Ethernet17/7" + ], + "8x50G": [ + "Ethernet17/1", + "Ethernet17/2", + "Ethernet17/3", + "Ethernet17/4", + "Ethernet17/5", + "Ethernet17/6", + "Ethernet17/7", + "Ethernet17/8" + ] + } + }, + "Ethernet136": { + "index": "18,18,18,18,18,18,18,18", + "lanes": "297,298,299,300,301,302,303,304", + "breakout_modes": { + "1x400G": [ + "Ethernet18/1" + ], + "2x200G": [ + "Ethernet18/1", + "Ethernet18/5" + ], + "4x100G": [ + "Ethernet18/1", + "Ethernet18/3", + "Ethernet18/5", + "Ethernet18/7" + ], + "8x50G": [ + "Ethernet18/1", + "Ethernet18/2", + "Ethernet18/3", + "Ethernet18/4", + "Ethernet18/5", + "Ethernet18/6", + "Ethernet18/7", + "Ethernet18/8" + ] + } + }, + "Ethernet144": { + "index": "19,19,19,19,19,19,19,19", + "lanes": "281,282,283,284,285,286,287,288", + "breakout_modes": { + "1x400G": [ + "Ethernet19/1" + ], + "2x200G": [ + "Ethernet19/1", + "Ethernet19/5" + ], + "4x100G": [ + "Ethernet19/1", + "Ethernet19/3", + "Ethernet19/5", + "Ethernet19/7" + ], + "8x50G": [ + "Ethernet19/1", + "Ethernet19/2", + "Ethernet19/3", + "Ethernet19/4", + "Ethernet19/5", + "Ethernet19/6", + "Ethernet19/7", + "Ethernet19/8" + ] + } + }, + "Ethernet152": { + "index": "20,20,20,20,20,20,20,20", + "lanes": "273,274,275,276,277,278,279,280", + "breakout_modes": { + "1x400G": [ + "Ethernet20/1" + ], + "2x200G": [ + "Ethernet20/1", + "Ethernet20/5" + ], + "4x100G": [ + "Ethernet20/1", + "Ethernet20/3", + "Ethernet20/5", + "Ethernet20/7" + ], + "8x50G": [ + "Ethernet20/1", + "Ethernet20/2", + "Ethernet20/3", + "Ethernet20/4", + "Ethernet20/5", + "Ethernet20/6", + "Ethernet20/7", + "Ethernet20/8" + ] + } + }, + "Ethernet160": { + "index": "21,21,21,21,21,21,21,21", + "lanes": "257,258,259,260,261,262,263,264", + "breakout_modes": { + "1x400G": [ + "Ethernet21/1" + ], + "2x200G": [ + "Ethernet21/1", + "Ethernet21/5" + ], + "4x100G": [ + "Ethernet21/1", + "Ethernet21/3", + "Ethernet21/5", + "Ethernet21/7" + ], + "8x50G": [ + "Ethernet21/1", + "Ethernet21/2", + "Ethernet21/3", + "Ethernet21/4", + "Ethernet21/5", + "Ethernet21/6", + "Ethernet21/7", + "Ethernet21/8" + ] + } + }, + "Ethernet168": { + "index": "22,22,22,22,22,22,22,22", + "lanes": "265,266,267,268,269,270,271,272", + "breakout_modes": { + "1x400G": [ + "Ethernet22/1" + ], + "2x200G": [ + "Ethernet22/1", + "Ethernet22/5" + ], + "4x100G": [ + "Ethernet22/1", + "Ethernet22/3", + "Ethernet22/5", + "Ethernet22/7" + ], + "8x50G": [ + "Ethernet22/1", + "Ethernet22/2", + "Ethernet22/3", + "Ethernet22/4", + "Ethernet22/5", + "Ethernet22/6", + "Ethernet22/7", + "Ethernet22/8" + ] + } + }, + "Ethernet176": { + "index": "23,23,23,23,23,23,23,23", + "lanes": "305,306,307,308,309,310,311,312", + "breakout_modes": { + "1x400G": [ + "Ethernet23/1" + ], + "2x200G": [ + "Ethernet23/1", + "Ethernet23/5" + ], + "4x100G": [ + "Ethernet23/1", + "Ethernet23/3", + "Ethernet23/5", + "Ethernet23/7" + ], + "8x50G": [ + "Ethernet23/1", + "Ethernet23/2", + "Ethernet23/3", + "Ethernet23/4", + "Ethernet23/5", + "Ethernet23/6", + "Ethernet23/7", + "Ethernet23/8" + ] + } + }, + "Ethernet184": { + "index": "24,24,24,24,24,24,24,24", + "lanes": "313,314,315,316,317,318,319,320", + "breakout_modes": { + "1x400G": [ + "Ethernet24/1" + ], + "2x200G": [ + "Ethernet24/1", + "Ethernet24/5" + ], + "4x100G": [ + "Ethernet24/1", + "Ethernet24/3", + "Ethernet24/5", + "Ethernet24/7" + ], + "8x50G": [ + "Ethernet24/1", + "Ethernet24/2", + "Ethernet24/3", + "Ethernet24/4", + "Ethernet24/5", + "Ethernet24/6", + "Ethernet24/7", + "Ethernet24/8" + ] + } + }, + "Ethernet192": { + "index": "25,25,25,25,25,25,25,25", + "lanes": "321,322,323,324,325,326,327,328", + "breakout_modes": { + "1x400G": [ + "Ethernet25/1" + ], + "2x200G": [ + "Ethernet25/1", + "Ethernet25/5" + ], + "4x100G": [ + "Ethernet25/1", + "Ethernet25/3", + "Ethernet25/5", + "Ethernet25/7" + ], + "8x50G": [ + "Ethernet25/1", + "Ethernet25/2", + "Ethernet25/3", + "Ethernet25/4", + "Ethernet25/5", + "Ethernet25/6", + "Ethernet25/7", + "Ethernet25/8" + ] + } + }, + "Ethernet200": { + "index": "26,26,26,26,26,26,26,26", + "lanes": "329,330,331,332,333,334,335,336", + "breakout_modes": { + "1x400G": [ + "Ethernet26/1" + ], + "2x200G": [ + "Ethernet26/1", + "Ethernet26/5" + ], + "4x100G": [ + "Ethernet26/1", + "Ethernet26/3", + "Ethernet26/5", + "Ethernet26/7" + ], + "8x50G": [ + "Ethernet26/1", + "Ethernet26/2", + "Ethernet26/3", + "Ethernet26/4", + "Ethernet26/5", + "Ethernet26/6", + "Ethernet26/7", + "Ethernet26/8" + ] + } + }, + "Ethernet208": { + "index": "27,27,27,27,27,27,27,27", + "lanes": "337,338,339,340,341,342,343,344", + "breakout_modes": { + "1x400G": [ + "Ethernet27/1" + ], + "2x200G": [ + "Ethernet27/1", + "Ethernet27/5" + ], + "4x100G": [ + "Ethernet27/1", + "Ethernet27/3", + "Ethernet27/5", + "Ethernet27/7" + ], + "8x50G": [ + "Ethernet27/1", + "Ethernet27/2", + "Ethernet27/3", + "Ethernet27/4", + "Ethernet27/5", + "Ethernet27/6", + "Ethernet27/7", + "Ethernet27/8" + ] + } + }, + "Ethernet216": { + "index": "28,28,28,28,28,28,28,28", + "lanes": "345,346,347,348,349,350,351,352", + "breakout_modes": { + "1x400G": [ + "Ethernet28/1" + ], + "2x200G": [ + "Ethernet28/1", + "Ethernet28/5" + ], + "4x100G": [ + "Ethernet28/1", + "Ethernet28/3", + "Ethernet28/5", + "Ethernet28/7" + ], + "8x50G": [ + "Ethernet28/1", + "Ethernet28/2", + "Ethernet28/3", + "Ethernet28/4", + "Ethernet28/5", + "Ethernet28/6", + "Ethernet28/7", + "Ethernet28/8" + ] + } + }, + "Ethernet224": { + "index": "29,29,29,29,29,29,29,29", + "lanes": "353,354,355,356,357,358,359,360", + "breakout_modes": { + "1x400G": [ + "Ethernet29/1" + ], + "2x200G": [ + "Ethernet29/1", + "Ethernet29/5" + ], + "4x100G": [ + "Ethernet29/1", + "Ethernet29/3", + "Ethernet29/5", + "Ethernet29/7" + ], + "8x50G": [ + "Ethernet29/1", + "Ethernet29/2", + "Ethernet29/3", + "Ethernet29/4", + "Ethernet29/5", + "Ethernet29/6", + "Ethernet29/7", + "Ethernet29/8" + ] + } + }, + "Ethernet232": { + "index": "30,30,30,30,30,30,30,30", + "lanes": "361,362,363,364,365,366,367,368", + "breakout_modes": { + "1x400G": [ + "Ethernet30/1" + ], + "2x200G": [ + "Ethernet30/1", + "Ethernet30/5" + ], + "4x100G": [ + "Ethernet30/1", + "Ethernet30/3", + "Ethernet30/5", + "Ethernet30/7" + ], + "8x50G": [ + "Ethernet30/1", + "Ethernet30/2", + "Ethernet30/3", + "Ethernet30/4", + "Ethernet30/5", + "Ethernet30/6", + "Ethernet30/7", + "Ethernet30/8" + ] + } + }, + "Ethernet240": { + "index": "31,31,31,31,31,31,31,31", + "lanes": "369,370,371,372,373,374,375,376", + "breakout_modes": { + "1x400G": [ + "Ethernet31/1" + ], + "2x200G": [ + "Ethernet31/1", + "Ethernet31/5" + ], + "4x100G": [ + "Ethernet31/1", + "Ethernet31/3", + "Ethernet31/5", + "Ethernet31/7" + ], + "8x50G": [ + "Ethernet31/1", + "Ethernet31/2", + "Ethernet31/3", + "Ethernet31/4", + "Ethernet31/5", + "Ethernet31/6", + "Ethernet31/7", + "Ethernet31/8" + ] + } + }, + "Ethernet248": { + "index": "32,32,32,32,32,32,32,32", + "lanes": "377,378,379,380,381,382,383,384", + "breakout_modes": { + "1x400G": [ + "Ethernet32/1" + ], + "2x200G": [ + "Ethernet32/1", + "Ethernet32/5" + ], + "4x100G": [ + "Ethernet32/1", + "Ethernet32/3", + "Ethernet32/5", + "Ethernet32/7" + ], + "8x50G": [ + "Ethernet32/1", + "Ethernet32/2", + "Ethernet32/3", + "Ethernet32/4", + "Ethernet32/5", + "Ethernet32/6", + "Ethernet32/7", + "Ethernet32/8" + ] + } + }, + "Ethernet256": { + "index": "33,33,33,33,33,33,33,33", + "lanes": "97,98,99,100,101,102,103,104", + "breakout_modes": { + "1x400G": [ + "Ethernet33/1" + ], + "2x200G": [ + "Ethernet33/1", + "Ethernet33/5" + ], + "4x100G": [ + "Ethernet33/1", + "Ethernet33/3", + "Ethernet33/5", + "Ethernet33/7" + ], + "8x50G": [ + "Ethernet33/1", + "Ethernet33/2", + "Ethernet33/3", + "Ethernet33/4", + "Ethernet33/5", + "Ethernet33/6", + "Ethernet33/7", + "Ethernet33/8" + ] + } + }, + "Ethernet264": { + "index": "34,34,34,34,34,34,34,34", + "lanes": "105,106,107,108,109,110,111,112", + "breakout_modes": { + "1x400G": [ + "Ethernet34/1" + ], + "2x200G": [ + "Ethernet34/1", + "Ethernet34/5" + ], + "4x100G": [ + "Ethernet34/1", + "Ethernet34/3", + "Ethernet34/5", + "Ethernet34/7" + ], + "8x50G": [ + "Ethernet34/1", + "Ethernet34/2", + "Ethernet34/3", + "Ethernet34/4", + "Ethernet34/5", + "Ethernet34/6", + "Ethernet34/7", + "Ethernet34/8" + ] + } + }, + "Ethernet272": { + "index": "35,35,35,35,35,35,35,35", + "lanes": "113,114,115,116,117,118,119,120", + "breakout_modes": { + "1x400G": [ + "Ethernet35/1" + ], + "2x200G": [ + "Ethernet35/1", + "Ethernet35/5" + ], + "4x100G": [ + "Ethernet35/1", + "Ethernet35/3", + "Ethernet35/5", + "Ethernet35/7" + ], + "8x50G": [ + "Ethernet35/1", + "Ethernet35/2", + "Ethernet35/3", + "Ethernet35/4", + "Ethernet35/5", + "Ethernet35/6", + "Ethernet35/7", + "Ethernet35/8" + ] + } + }, + "Ethernet280": { + "index": "36,36,36,36,36,36,36,36", + "lanes": "121,122,123,124,125,126,127,128", + "breakout_modes": { + "1x400G": [ + "Ethernet36/1" + ], + "2x200G": [ + "Ethernet36/1", + "Ethernet36/5" + ], + "4x100G": [ + "Ethernet36/1", + "Ethernet36/3", + "Ethernet36/5", + "Ethernet36/7" + ], + "8x50G": [ + "Ethernet36/1", + "Ethernet36/2", + "Ethernet36/3", + "Ethernet36/4", + "Ethernet36/5", + "Ethernet36/6", + "Ethernet36/7", + "Ethernet36/8" + ] + } + }, + "Ethernet288": { + "index": "37,37,37,37,37,37,37,37", + "lanes": "57,58,59,60,61,62,63,64", + "breakout_modes": { + "1x400G": [ + "Ethernet37/1" + ], + "2x200G": [ + "Ethernet37/1", + "Ethernet37/5" + ], + "4x100G": [ + "Ethernet37/1", + "Ethernet37/3", + "Ethernet37/5", + "Ethernet37/7" + ], + "8x50G": [ + "Ethernet37/1", + "Ethernet37/2", + "Ethernet37/3", + "Ethernet37/4", + "Ethernet37/5", + "Ethernet37/6", + "Ethernet37/7", + "Ethernet37/8" + ] + } + }, + "Ethernet296": { + "index": "38,38,38,38,38,38,38,38", + "lanes": "65,66,67,68,69,70,71,72", + "breakout_modes": { + "1x400G": [ + "Ethernet38/1" + ], + "2x200G": [ + "Ethernet38/1", + "Ethernet38/5" + ], + "4x100G": [ + "Ethernet38/1", + "Ethernet38/3", + "Ethernet38/5", + "Ethernet38/7" + ], + "8x50G": [ + "Ethernet38/1", + "Ethernet38/2", + "Ethernet38/3", + "Ethernet38/4", + "Ethernet38/5", + "Ethernet38/6", + "Ethernet38/7", + "Ethernet38/8" + ] + } + }, + "Ethernet304": { + "index": "39,39,39,39,39,39,39,39", + "lanes": "49,50,51,52,53,54,55,56", + "breakout_modes": { + "1x400G": [ + "Ethernet39/1" + ], + "2x200G": [ + "Ethernet39/1", + "Ethernet39/5" + ], + "4x100G": [ + "Ethernet39/1", + "Ethernet39/3", + "Ethernet39/5", + "Ethernet39/7" + ], + "8x50G": [ + "Ethernet39/1", + "Ethernet39/2", + "Ethernet39/3", + "Ethernet39/4", + "Ethernet39/5", + "Ethernet39/6", + "Ethernet39/7", + "Ethernet39/8" + ] + } + }, + "Ethernet312": { + "index": "40,40,40,40,40,40,40,40", + "lanes": "81,82,83,84,85,86,87,88", + "breakout_modes": { + "1x400G": [ + "Ethernet40/1" + ], + "2x200G": [ + "Ethernet40/1", + "Ethernet40/5" + ], + "4x100G": [ + "Ethernet40/1", + "Ethernet40/3", + "Ethernet40/5", + "Ethernet40/7" + ], + "8x50G": [ + "Ethernet40/1", + "Ethernet40/2", + "Ethernet40/3", + "Ethernet40/4", + "Ethernet40/5", + "Ethernet40/6", + "Ethernet40/7", + "Ethernet40/8" + ] + } + }, + "Ethernet320": { + "index": "41,41,41,41,41,41,41,41", + "lanes": "41,42,43,44,45,46,47,48", + "breakout_modes": { + "1x400G": [ + "Ethernet41/1" + ], + "2x200G": [ + "Ethernet41/1", + "Ethernet41/5" + ], + "4x100G": [ + "Ethernet41/1", + "Ethernet41/3", + "Ethernet41/5", + "Ethernet41/7" + ], + "8x50G": [ + "Ethernet41/1", + "Ethernet41/2", + "Ethernet41/3", + "Ethernet41/4", + "Ethernet41/5", + "Ethernet41/6", + "Ethernet41/7", + "Ethernet41/8" + ] + } + }, + "Ethernet328": { + "index": "42,42,42,42,42,42,42,42", + "lanes": "73,74,75,76,77,78,79,80", + "breakout_modes": { + "1x400G": [ + "Ethernet42/1" + ], + "2x200G": [ + "Ethernet42/1", + "Ethernet42/5" + ], + "4x100G": [ + "Ethernet42/1", + "Ethernet42/3", + "Ethernet42/5", + "Ethernet42/7" + ], + "8x50G": [ + "Ethernet42/1", + "Ethernet42/2", + "Ethernet42/3", + "Ethernet42/4", + "Ethernet42/5", + "Ethernet42/6", + "Ethernet42/7", + "Ethernet42/8" + ] + } + }, + "Ethernet336": { + "index": "43,43,43,43,43,43,43,43", + "lanes": "33,34,35,36,37,38,39,40", + "breakout_modes": { + "1x400G": [ + "Ethernet43/1" + ], + "2x200G": [ + "Ethernet43/1", + "Ethernet43/5" + ], + "4x100G": [ + "Ethernet43/1", + "Ethernet43/3", + "Ethernet43/5", + "Ethernet43/7" + ], + "8x50G": [ + "Ethernet43/1", + "Ethernet43/2", + "Ethernet43/3", + "Ethernet43/4", + "Ethernet43/5", + "Ethernet43/6", + "Ethernet43/7", + "Ethernet43/8" + ] + } + }, + "Ethernet344": { + "index": "44,44,44,44,44,44,44,44", + "lanes": "89,90,91,92,93,94,95,96", + "breakout_modes": { + "1x400G": [ + "Ethernet44/1" + ], + "2x200G": [ + "Ethernet44/1", + "Ethernet44/5" + ], + "4x100G": [ + "Ethernet44/1", + "Ethernet44/3", + "Ethernet44/5", + "Ethernet44/7" + ], + "8x50G": [ + "Ethernet44/1", + "Ethernet44/2", + "Ethernet44/3", + "Ethernet44/4", + "Ethernet44/5", + "Ethernet44/6", + "Ethernet44/7", + "Ethernet44/8" + ] + } + }, + "Ethernet352": { + "index": "45,45,45,45,45,45,45,45", + "lanes": "25,26,27,28,29,30,31,32", + "breakout_modes": { + "1x400G": [ + "Ethernet45/1" + ], + "2x200G": [ + "Ethernet45/1", + "Ethernet45/5" + ], + "4x100G": [ + "Ethernet45/1", + "Ethernet45/3", + "Ethernet45/5", + "Ethernet45/7" + ], + "8x50G": [ + "Ethernet45/1", + "Ethernet45/2", + "Ethernet45/3", + "Ethernet45/4", + "Ethernet45/5", + "Ethernet45/6", + "Ethernet45/7", + "Ethernet45/8" + ] + } + }, + "Ethernet360": { + "index": "46,46,46,46,46,46,46,46", + "lanes": "17,18,19,20,21,22,23,24", + "breakout_modes": { + "1x400G": [ + "Ethernet46/1" + ], + "2x200G": [ + "Ethernet46/1", + "Ethernet46/5" + ], + "4x100G": [ + "Ethernet46/1", + "Ethernet46/3", + "Ethernet46/5", + "Ethernet46/7" + ], + "8x50G": [ + "Ethernet46/1", + "Ethernet46/2", + "Ethernet46/3", + "Ethernet46/4", + "Ethernet46/5", + "Ethernet46/6", + "Ethernet46/7", + "Ethernet46/8" + ] + } + }, + "Ethernet368": { + "index": "47,47,47,47,47,47,47,47", + "lanes": "1,2,3,4,5,6,7,8", + "breakout_modes": { + "1x400G": [ + "Ethernet47/1" + ], + "2x200G": [ + "Ethernet47/1", + "Ethernet47/5" + ], + "4x100G": [ + "Ethernet47/1", + "Ethernet47/3", + "Ethernet47/5", + "Ethernet47/7" + ], + "8x50G": [ + "Ethernet47/1", + "Ethernet47/2", + "Ethernet47/3", + "Ethernet47/4", + "Ethernet47/5", + "Ethernet47/6", + "Ethernet47/7", + "Ethernet47/8" + ] + } + }, + "Ethernet376": { + "index": "48,48,48,48,48,48,48,48", + "lanes": "9,10,11,12,13,14,15,16", + "breakout_modes": { + "1x400G": [ + "Ethernet48/1" + ], + "2x200G": [ + "Ethernet48/1", + "Ethernet48/5" + ], + "4x100G": [ + "Ethernet48/1", + "Ethernet48/3", + "Ethernet48/5", + "Ethernet48/7" + ], + "8x50G": [ + "Ethernet48/1", + "Ethernet48/2", + "Ethernet48/3", + "Ethernet48/4", + "Ethernet48/5", + "Ethernet48/6", + "Ethernet48/7", + "Ethernet48/8" + ] + } + }, + "Ethernet384": { + "index": "49,49,49,49,49,49,49,49", + "lanes": "497,498,499,500,501,502,503,504", + "breakout_modes": { + "1x400G": [ + "Ethernet49/1" + ], + "2x200G": [ + "Ethernet49/1", + "Ethernet49/5" + ], + "4x100G": [ + "Ethernet49/1", + "Ethernet49/3", + "Ethernet49/5", + "Ethernet49/7" + ], + "8x50G": [ + "Ethernet49/1", + "Ethernet49/2", + "Ethernet49/3", + "Ethernet49/4", + "Ethernet49/5", + "Ethernet49/6", + "Ethernet49/7", + "Ethernet49/8" + ] + } + }, + "Ethernet392": { + "index": "50,50,50,50,50,50,50,50", + "lanes": "505,506,507,508,509,510,511,512", + "breakout_modes": { + "1x400G": [ + "Ethernet50/1" + ], + "2x200G": [ + "Ethernet50/1", + "Ethernet50/5" + ], + "4x100G": [ + "Ethernet50/1", + "Ethernet50/3", + "Ethernet50/5", + "Ethernet50/7" + ], + "8x50G": [ + "Ethernet50/1", + "Ethernet50/2", + "Ethernet50/3", + "Ethernet50/4", + "Ethernet50/5", + "Ethernet50/6", + "Ethernet50/7", + "Ethernet50/8" + ] + } + }, + "Ethernet400": { + "index": "51,51,51,51,51,51,51,51", + "lanes": "489,490,491,492,493,494,495,496", + "breakout_modes": { + "1x400G": [ + "Ethernet51/1" + ], + "2x200G": [ + "Ethernet51/1", + "Ethernet51/5" + ], + "4x100G": [ + "Ethernet51/1", + "Ethernet51/3", + "Ethernet51/5", + "Ethernet51/7" + ], + "8x50G": [ + "Ethernet51/1", + "Ethernet51/2", + "Ethernet51/3", + "Ethernet51/4", + "Ethernet51/5", + "Ethernet51/6", + "Ethernet51/7", + "Ethernet51/8" + ] + } + }, + "Ethernet408": { + "index": "52,52,52,52,52,52,52,52", + "lanes": "481,482,483,484,485,486,487,488", + "breakout_modes": { + "1x400G": [ + "Ethernet52/1" + ], + "2x200G": [ + "Ethernet52/1", + "Ethernet52/5" + ], + "4x100G": [ + "Ethernet52/1", + "Ethernet52/3", + "Ethernet52/5", + "Ethernet52/7" + ], + "8x50G": [ + "Ethernet52/1", + "Ethernet52/2", + "Ethernet52/3", + "Ethernet52/4", + "Ethernet52/5", + "Ethernet52/6", + "Ethernet52/7", + "Ethernet52/8" + ] + } + }, + "Ethernet416": { + "index": "53,53,53,53,53,53,53,53", + "lanes": "473,474,475,476,477,478,479,480", + "breakout_modes": { + "1x400G": [ + "Ethernet53/1" + ], + "2x200G": [ + "Ethernet53/1", + "Ethernet53/5" + ], + "4x100G": [ + "Ethernet53/1", + "Ethernet53/3", + "Ethernet53/5", + "Ethernet53/7" + ], + "8x50G": [ + "Ethernet53/1", + "Ethernet53/2", + "Ethernet53/3", + "Ethernet53/4", + "Ethernet53/5", + "Ethernet53/6", + "Ethernet53/7", + "Ethernet53/8" + ] + } + }, + "Ethernet424": { + "index": "54,54,54,54,54,54,54,54", + "lanes": "417,418,419,420,421,422,423,424", + "breakout_modes": { + "1x400G": [ + "Ethernet54/1" + ], + "2x200G": [ + "Ethernet54/1", + "Ethernet54/5" + ], + "4x100G": [ + "Ethernet54/1", + "Ethernet54/3", + "Ethernet54/5", + "Ethernet54/7" + ], + "8x50G": [ + "Ethernet54/1", + "Ethernet54/2", + "Ethernet54/3", + "Ethernet54/4", + "Ethernet54/5", + "Ethernet54/6", + "Ethernet54/7", + "Ethernet54/8" + ] + } + }, + "Ethernet432": { + "index": "55,55,55,55,55,55,55,55", + "lanes": "465,466,467,468,469,470,471,472", + "breakout_modes": { + "1x400G": [ + "Ethernet55/1" + ], + "2x200G": [ + "Ethernet55/1", + "Ethernet55/5" + ], + "4x100G": [ + "Ethernet55/1", + "Ethernet55/3", + "Ethernet55/5", + "Ethernet55/7" + ], + "8x50G": [ + "Ethernet55/1", + "Ethernet55/2", + "Ethernet55/3", + "Ethernet55/4", + "Ethernet55/5", + "Ethernet55/6", + "Ethernet55/7", + "Ethernet55/8" + ] + } + }, + "Ethernet440": { + "index": "56,56,56,56,56,56,56,56", + "lanes": "433,434,435,436,437,438,439,440", + "breakout_modes": { + "1x400G": [ + "Ethernet56/1" + ], + "2x200G": [ + "Ethernet56/1", + "Ethernet56/5" + ], + "4x100G": [ + "Ethernet56/1", + "Ethernet56/3", + "Ethernet56/5", + "Ethernet56/7" + ], + "8x50G": [ + "Ethernet56/1", + "Ethernet56/2", + "Ethernet56/3", + "Ethernet56/4", + "Ethernet56/5", + "Ethernet56/6", + "Ethernet56/7", + "Ethernet56/8" + ] + } + }, + "Ethernet448": { + "index": "57,57,57,57,57,57,57,57", + "lanes": "457,458,459,460,461,462,463,464", + "breakout_modes": { + "1x400G": [ + "Ethernet57/1" + ], + "2x200G": [ + "Ethernet57/1", + "Ethernet57/5" + ], + "4x100G": [ + "Ethernet57/1", + "Ethernet57/3", + "Ethernet57/5", + "Ethernet57/7" + ], + "8x50G": [ + "Ethernet57/1", + "Ethernet57/2", + "Ethernet57/3", + "Ethernet57/4", + "Ethernet57/5", + "Ethernet57/6", + "Ethernet57/7", + "Ethernet57/8" + ] + } + }, + "Ethernet456": { + "index": "58,58,58,58,58,58,58,58", + "lanes": "425,426,427,428,429,430,431,432", + "breakout_modes": { + "1x400G": [ + "Ethernet58/1" + ], + "2x200G": [ + "Ethernet58/1", + "Ethernet58/5" + ], + "4x100G": [ + "Ethernet58/1", + "Ethernet58/3", + "Ethernet58/5", + "Ethernet58/7" + ], + "8x50G": [ + "Ethernet58/1", + "Ethernet58/2", + "Ethernet58/3", + "Ethernet58/4", + "Ethernet58/5", + "Ethernet58/6", + "Ethernet58/7", + "Ethernet58/8" + ] + } + }, + "Ethernet464": { + "index": "59,59,59,59,59,59,59,59", + "lanes": "449,450,451,452,453,454,455,456", + "breakout_modes": { + "1x400G": [ + "Ethernet59/1" + ], + "2x200G": [ + "Ethernet59/1", + "Ethernet59/5" + ], + "4x100G": [ + "Ethernet59/1", + "Ethernet59/3", + "Ethernet59/5", + "Ethernet59/7" + ], + "8x50G": [ + "Ethernet59/1", + "Ethernet59/2", + "Ethernet59/3", + "Ethernet59/4", + "Ethernet59/5", + "Ethernet59/6", + "Ethernet59/7", + "Ethernet59/8" + ] + } + }, + "Ethernet472": { + "index": "60,60,60,60,60,60,60,60", + "lanes": "441,442,443,444,445,446,447,448", + "breakout_modes": { + "1x400G": [ + "Ethernet60/1" + ], + "2x200G": [ + "Ethernet60/1", + "Ethernet60/5" + ], + "4x100G": [ + "Ethernet60/1", + "Ethernet60/3", + "Ethernet60/5", + "Ethernet60/7" + ], + "8x50G": [ + "Ethernet60/1", + "Ethernet60/2", + "Ethernet60/3", + "Ethernet60/4", + "Ethernet60/5", + "Ethernet60/6", + "Ethernet60/7", + "Ethernet60/8" + ] + } + }, + "Ethernet480": { + "index": "61,61,61,61,61,61,61,61", + "lanes": "385,386,387,388,389,390,391,392", + "breakout_modes": { + "1x400G": [ + "Ethernet61/1" + ], + "2x200G": [ + "Ethernet61/1", + "Ethernet61/5" + ], + "4x100G": [ + "Ethernet61/1", + "Ethernet61/3", + "Ethernet61/5", + "Ethernet61/7" + ], + "8x50G": [ + "Ethernet61/1", + "Ethernet61/2", + "Ethernet61/3", + "Ethernet61/4", + "Ethernet61/5", + "Ethernet61/6", + "Ethernet61/7", + "Ethernet61/8" + ] + } + }, + "Ethernet488": { + "index": "62,62,62,62,62,62,62,62", + "lanes": "401,402,403,404,405,406,407,408", + "breakout_modes": { + "1x400G": [ + "Ethernet62/1" + ], + "2x200G": [ + "Ethernet62/1", + "Ethernet62/5" + ], + "4x100G": [ + "Ethernet62/1", + "Ethernet62/3", + "Ethernet62/5", + "Ethernet62/7" + ], + "8x50G": [ + "Ethernet62/1", + "Ethernet62/2", + "Ethernet62/3", + "Ethernet62/4", + "Ethernet62/5", + "Ethernet62/6", + "Ethernet62/7", + "Ethernet62/8" + ] + } + }, + "Ethernet496": { + "index": "63,63,63,63,63,63,63,63", + "lanes": "393,394,395,396,397,398,399,400", + "breakout_modes": { + "1x400G": [ + "Ethernet63/1" + ], + "2x200G": [ + "Ethernet63/1", + "Ethernet63/5" + ], + "4x100G": [ + "Ethernet63/1", + "Ethernet63/3", + "Ethernet63/5", + "Ethernet63/7" + ], + "8x50G": [ + "Ethernet63/1", + "Ethernet63/2", + "Ethernet63/3", + "Ethernet63/4", + "Ethernet63/5", + "Ethernet63/6", + "Ethernet63/7", + "Ethernet63/8" + ] + } + }, + "Ethernet504": { + "index": "64,64,64,64,64,64,64,64", + "lanes": "409,410,411,412,413,414,415,416", + "breakout_modes": { + "1x400G": [ + "Ethernet64/1" + ], + "2x200G": [ + "Ethernet64/1", + "Ethernet64/5" + ], + "4x100G": [ + "Ethernet64/1", + "Ethernet64/3", + "Ethernet64/5", + "Ethernet64/7" + ], + "8x50G": [ + "Ethernet64/1", + "Ethernet64/2", + "Ethernet64/3", + "Ethernet64/4", + "Ethernet64/5", + "Ethernet64/6", + "Ethernet64/7", + "Ethernet64/8" + ] + } + }, + "Ethernet512": { + "index": "65", + "lanes": "513", + "breakout_modes": { + "1x10G": [ + "Ethernet65" + ] + } + }, + "Ethernet513": { + "index": "66", + "lanes": "515", + "breakout_modes": { + "1x10G": [ + "Ethernet66" + ] + } + } + }, "asic_sensors": { "poll_interval": "10", "poll_admin_status": "enable" diff --git a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t0.j2 b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t0.j2 index 4f04d24906ae..02e40e583605 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t0.j2 +++ b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t0.j2 @@ -2,7 +2,7 @@ {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} - {%- for port_idx in range(0,128,4) %} + {%- for port_idx in range(0,256,8) %} {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} {%- endfor %} {%- endmacro %} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t1.j2 b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t1.j2 index 4f04d24906ae..02e40e583605 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t1.j2 +++ b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/buffers_defaults_t1.j2 @@ -2,7 +2,7 @@ {%- macro generate_port_lists(PORT_ALL) %} {# Generate list of ports #} - {%- for port_idx in range(0,128,4) %} + {%- for port_idx in range(0,256,8) %} {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} {%- endfor %} {%- endmacro %} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/hwsku.json b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/hwsku.json new file mode 100644 index 000000000000..253a78518e2e --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/hwsku.json @@ -0,0 +1,103 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G" + }, + "Ethernet8": { + "default_brkout_mode": "1x400G" + }, + "Ethernet16": { + "default_brkout_mode": "1x400G" + }, + "Ethernet24": { + "default_brkout_mode": "1x400G" + }, + "Ethernet32": { + "default_brkout_mode": "1x400G" + }, + "Ethernet40": { + "default_brkout_mode": "1x400G" + }, + "Ethernet48": { + "default_brkout_mode": "1x400G" + }, + "Ethernet56": { + "default_brkout_mode": "1x400G" + }, + "Ethernet64": { + "default_brkout_mode": "1x400G" + }, + "Ethernet72": { + "default_brkout_mode": "1x400G" + }, + "Ethernet80": { + "default_brkout_mode": "1x400G" + }, + "Ethernet88": { + "default_brkout_mode": "1x400G" + }, + "Ethernet96": { + "default_brkout_mode": "1x400G" + }, + "Ethernet104": { + "default_brkout_mode": "1x400G" + }, + "Ethernet112": { + "default_brkout_mode": "1x400G" + }, + "Ethernet120": { + "default_brkout_mode": "1x400G" + }, + "Ethernet128": { + "default_brkout_mode": "1x400G" + }, + "Ethernet136": { + "default_brkout_mode": "1x400G" + }, + "Ethernet144": { + "default_brkout_mode": "1x400G" + }, + "Ethernet152": { + "default_brkout_mode": "1x400G" + }, + "Ethernet160": { + "default_brkout_mode": "1x400G" + }, + "Ethernet168": { + "default_brkout_mode": "1x400G" + }, + "Ethernet176": { + "default_brkout_mode": "1x400G" + }, + "Ethernet184": { + "default_brkout_mode": "1x400G" + }, + "Ethernet192": { + "default_brkout_mode": "1x400G" + }, + "Ethernet200": { + "default_brkout_mode": "1x400G" + }, + "Ethernet208": { + "default_brkout_mode": "1x400G" + }, + "Ethernet216": { + "default_brkout_mode": "1x400G" + }, + "Ethernet224": { + "default_brkout_mode": "1x400G" + }, + "Ethernet232": { + "default_brkout_mode": "1x400G" + }, + "Ethernet240": { + "default_brkout_mode": "1x400G" + }, + "Ethernet248": { + "default_brkout_mode": "1x400G" + }, + "Ethernet256": { + "default_brkout_mode": "1x10G" + } + } +} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/media_settings.json b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/media_settings.json index 3e6dc7bb8e60..05454b77dfd2 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/media_settings.json +++ b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/media_settings.json @@ -2391,4 +2391,4 @@ } } } -} \ No newline at end of file +} diff --git a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/port_config.ini b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/port_config.ini index 9430d33642f0..76192e775e81 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/port_config.ini +++ b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/Nokia-IXR7220-H4-32D/port_config.ini @@ -1,35 +1,34 @@ -# name lanes alias index speed -Ethernet0 17,18,19,20,21,22,23,24 fourhundredGigE1/1 1 400000 -Ethernet4 25,26,27,28,29,30,31,32 fourhundredGigE1/2 2 400000 -Ethernet8 1,2,3,4,5,6,7,8 fourhundredGigE1/3 3 400000 -Ethernet12 9,10,11,12,13,14,15,16 fourhundredGigE1/4 4 400000 -Ethernet16 49,50,51,52,53,54,55,56 fourhundredGigE1/5 5 400000 -Ethernet20 57,58,59,60,61,62,63,64 fourhundredGigE1/6 6 400000 -Ethernet24 33,34,35,36,37,38,39,40 fourhundredGigE1/7 7 400000 -Ethernet28 41,42,43,44,45,46,47,48 fourhundredGigE1/8 8 400000 -Ethernet32 81,82,83,84,85,86,87,88 fourhundredGigE1/9 9 400000 -Ethernet36 89,90,91,92,93,94,95,96 fourhundredGigE1/10 10 400000 -Ethernet40 65,66,67,68,69,70,71,72 fourhundredGigE1/11 11 400000 -Ethernet44 73,74,75,76,77,78,79,80 fourhundredGigE1/12 12 400000 -Ethernet48 113,114,115,116,117,118,119,120 fourhundredGigE1/13 13 400000 -Ethernet52 121,122,123,124,125,126,127,128 fourhundredGigE1/14 14 400000 -Ethernet56 97,98,99,100,101,102,103,104 fourhundredGigE1/15 15 400000 -Ethernet60 105,106,107,108,109,110,111,112 fourhundredGigE1/16 16 400000 -Ethernet64 385,386,387,388,389,390,391,392 fourhundredGigE1/17 17 400000 -Ethernet68 393,394,395,396,397,398,399,400 fourhundredGigE1/18 18 400000 -Ethernet72 401,402,403,404,405,406,407,408 fourhundredGigE1/19 19 400000 -Ethernet76 409,410,411,412,413,414,415,416 fourhundredGigE1/20 20 400000 -Ethernet80 417,418,419,420,421,422,423,424 fourhundredGigE1/21 21 400000 -Ethernet84 425,426,427,428,429,430,431,432 fourhundredGigE1/22 22 400000 -Ethernet88 433,434,435,436,437,438,439,440 fourhundredGigE1/23 23 400000 -Ethernet92 441,442,443,444,445,446,447,448 fourhundredGigE1/24 24 400000 -Ethernet96 449,450,451,452,453,454,455,456 fourhundredGigE1/25 25 400000 -Ethernet100 457,458,459,460,461,462,463,464 fourhundredGigE1/26 26 400000 -Ethernet104 465,466,467,468,469,470,471,472 fourhundredGigE1/27 27 400000 -Ethernet108 473,474,475,476,477,478,479,480 fourhundredGigE1/28 28 400000 -Ethernet112 481,482,483,484,485,486,487,488 fourhundredGigE1/29 29 400000 -Ethernet116 489,490,491,492,493,494,495,496 fourhundredGigE1/30 30 400000 -Ethernet120 497,498,499,500,501,502,503,504 fourhundredGigE1/31 31 400000 -Ethernet124 505,506,507,508,509,510,511,512 fourhundredGigE1/32 32 400000 -Ethernet128 513 tenGigE1/33 33 10000 - +# name lanes alias index speed fec +Ethernet0 17,18,19,20,21,22,23,24 Ethernet1/1 1 400000 rs +Ethernet8 25,26,27,28,29,30,31,32 Ethernet2/1 2 400000 rs +Ethernet16 1,2,3,4,5,6,7,8 Ethernet3/1 3 400000 rs +Ethernet24 9,10,11,12,13,14,15,16 Ethernet4/1 4 400000 rs +Ethernet32 49,50,51,52,53,54,55,56 Ethernet5/1 5 400000 rs +Ethernet40 57,58,59,60,61,62,63,64 Ethernet6/1 6 400000 rs +Ethernet48 33,34,35,36,37,38,39,40 Ethernet7/1 7 400000 rs +Ethernet56 41,42,43,44,45,46,47,48 Ethernet8/1 8 400000 rs +Ethernet64 81,82,83,84,85,86,87,88 Ethernet9/1 9 400000 rs +Ethernet72 89,90,91,92,93,94,95,96 Ethernet10/1 10 400000 rs +Ethernet80 65,66,67,68,69,70,71,72 Ethernet11/1 11 400000 rs +Ethernet88 73,74,75,76,77,78,79,80 Ethernet12/1 12 400000 rs +Ethernet96 113,114,115,116,117,118,119,120 Ethernet13/1 13 400000 rs +Ethernet104 121,122,123,124,125,126,127,128 Ethernet14/1 14 400000 rs +Ethernet112 97,98,99,100,101,102,103,104 Ethernet15/1 15 400000 rs +Ethernet120 105,106,107,108,109,110,111,112 Ethernet16/1 16 400000 rs +Ethernet128 385,386,387,388,389,390,391,392 Ethernet17/1 17 400000 rs +Ethernet136 393,394,395,396,397,398,399,400 Ethernet18/1 18 400000 rs +Ethernet144 401,402,403,404,405,406,407,408 Ethernet19/1 19 400000 rs +Ethernet152 409,410,411,412,413,414,415,416 Ethernet20/1 20 400000 rs +Ethernet160 417,418,419,420,421,422,423,424 Ethernet21/1 21 400000 rs +Ethernet168 425,426,427,428,429,430,431,432 Ethernet22/1 22 400000 rs +Ethernet176 433,434,435,436,437,438,439,440 Ethernet23/1 23 400000 rs +Ethernet184 441,442,443,444,445,446,447,448 Ethernet24/1 24 400000 rs +Ethernet192 449,450,451,452,453,454,455,456 Ethernet25/1 25 400000 rs +Ethernet200 457,458,459,460,461,462,463,464 Ethernet26/1 26 400000 rs +Ethernet208 465,466,467,468,469,470,471,472 Ethernet27/1 27 400000 rs +Ethernet216 473,474,475,476,477,478,479,480 Ethernet28/1 28 400000 rs +Ethernet224 481,482,483,484,485,486,487,488 Ethernet29/1 29 400000 rs +Ethernet232 489,490,491,492,493,494,495,496 Ethernet30/1 30 400000 rs +Ethernet240 497,498,499,500,501,502,503,504 Ethernet31/1 31 400000 rs +Ethernet248 505,506,507,508,509,510,511,512 Ethernet32/1 32 400000 rs +Ethernet256 513 Ethernet33 33 10000 none diff --git a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/platform.json b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/platform.json index 99562f3deb5a..05c9831c6f43 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/platform.json +++ b/device/nokia/x86_64-nokia_ixr7220_h4_32d-r0/platform.json @@ -447,8 +447,945 @@ } ] }, - "interfaces": {}, - + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1,1,1,1,1", + "lanes": "17,18,19,20,21,22,23,24", + "breakout_modes": { + "1x400G": [ + "Ethernet1/1" + ], + "2x200G": [ + "Ethernet1/1", + "Ethernet1/5" + ], + "4x100G": [ + "Ethernet1/1", + "Ethernet1/3", + "Ethernet1/5", + "Ethernet1/7" + ], + "8x50G": [ + "Ethernet1/1", + "Ethernet1/2", + "Ethernet1/3", + "Ethernet1/4", + "Ethernet1/5", + "Ethernet1/6", + "Ethernet1/7", + "Ethernet1/8" + ] + } + }, + "Ethernet8": { + "index": "2,2,2,2,2,2,2,2", + "lanes": "25,26,27,28,29,30,31,32", + "breakout_modes": { + "1x400G": [ + "Ethernet2/1" + ], + "2x200G": [ + "Ethernet2/1", + "Ethernet2/5" + ], + "4x100G": [ + "Ethernet2/1", + "Ethernet2/3", + "Ethernet2/5", + "Ethernet2/7" + ], + "8x50G": [ + "Ethernet2/1", + "Ethernet2/2", + "Ethernet2/3", + "Ethernet2/4", + "Ethernet2/5", + "Ethernet2/6", + "Ethernet2/7", + "Ethernet2/8" + ] + } + }, + "Ethernet16": { + "index": "3,3,3,3,3,3,3,3", + "lanes": "1,2,3,4,5,6,7,8", + "breakout_modes": { + "1x400G": [ + "Ethernet3/1" + ], + "2x200G": [ + "Ethernet3/1", + "Ethernet3/5" + ], + "4x100G": [ + "Ethernet3/1", + "Ethernet3/3", + "Ethernet3/5", + "Ethernet3/7" + ], + "8x50G": [ + "Ethernet3/1", + "Ethernet3/2", + "Ethernet3/3", + "Ethernet3/4", + "Ethernet3/5", + "Ethernet3/6", + "Ethernet3/7", + "Ethernet3/8" + ] + } + }, + "Ethernet24": { + "index": "4,4,4,4,4,4,4,4", + "lanes": "9,10,11,12,13,14,15,16", + "breakout_modes": { + "1x400G": [ + "Ethernet4/1" + ], + "2x200G": [ + "Ethernet4/1", + "Ethernet4/5" + ], + "4x100G": [ + "Ethernet4/1", + "Ethernet4/3", + "Ethernet4/5", + "Ethernet4/7" + ], + "8x50G": [ + "Ethernet4/1", + "Ethernet4/2", + "Ethernet4/3", + "Ethernet4/4", + "Ethernet4/5", + "Ethernet4/6", + "Ethernet4/7", + "Ethernet4/8" + ] + } + }, + "Ethernet32": { + "index": "5,5,5,5,5,5,5,5", + "lanes": "49,50,51,52,53,54,55,56", + "breakout_modes": { + "1x400G": [ + "Ethernet5/1" + ], + "2x200G": [ + "Ethernet5/1", + "Ethernet5/5" + ], + "4x100G": [ + "Ethernet5/1", + "Ethernet5/3", + "Ethernet5/5", + "Ethernet5/7" + ], + "8x50G": [ + "Ethernet5/1", + "Ethernet5/2", + "Ethernet5/3", + "Ethernet5/4", + "Ethernet5/5", + "Ethernet5/6", + "Ethernet5/7", + "Ethernet5/8" + ] + } + }, + "Ethernet40": { + "index": "6,6,6,6,6,6,6,6", + "lanes": "57,58,59,60,61,62,63,64", + "breakout_modes": { + "1x400G": [ + "Ethernet6/1" + ], + "2x200G": [ + "Ethernet6/1", + "Ethernet6/5" + ], + "4x100G": [ + "Ethernet6/1", + "Ethernet6/3", + "Ethernet6/5", + "Ethernet6/7" + ], + "8x50G": [ + "Ethernet6/1", + "Ethernet6/2", + "Ethernet6/3", + "Ethernet6/4", + "Ethernet6/5", + "Ethernet6/6", + "Ethernet6/7", + "Ethernet6/8" + ] + } + }, + "Ethernet48": { + "index": "7,7,7,7,7,7,7,7", + "lanes": "33,34,35,36,37,38,39,40", + "breakout_modes": { + "1x400G": [ + "Ethernet7/1" + ], + "2x200G": [ + "Ethernet7/1", + "Ethernet7/5" + ], + "4x100G": [ + "Ethernet7/1", + "Ethernet7/3", + "Ethernet7/5", + "Ethernet7/7" + ], + "8x50G": [ + "Ethernet7/1", + "Ethernet7/2", + "Ethernet7/3", + "Ethernet7/4", + "Ethernet7/5", + "Ethernet7/6", + "Ethernet7/7", + "Ethernet7/8" + ] + } + }, + "Ethernet56": { + "index": "8,8,8,8,8,8,8,8", + "lanes": "41,42,43,44,45,46,47,48", + "breakout_modes": { + "1x400G": [ + "Ethernet8/1" + ], + "2x200G": [ + "Ethernet8/1", + "Ethernet8/5" + ], + "4x100G": [ + "Ethernet8/1", + "Ethernet8/3", + "Ethernet8/5", + "Ethernet8/7" + ], + "8x50G": [ + "Ethernet8/1", + "Ethernet8/2", + "Ethernet8/3", + "Ethernet8/4", + "Ethernet8/5", + "Ethernet8/6", + "Ethernet8/7", + "Ethernet8/8" + ] + } + }, + "Ethernet64": { + "index": "9,9,9,9,9,9,9,9", + "lanes": "81,82,83,84,85,86,87,88", + "breakout_modes": { + "1x400G": [ + "Ethernet9/1" + ], + "2x200G": [ + "Ethernet9/1", + "Ethernet9/5" + ], + "4x100G": [ + "Ethernet9/1", + "Ethernet9/3", + "Ethernet9/5", + "Ethernet9/7" + ], + "8x50G": [ + "Ethernet9/1", + "Ethernet9/2", + "Ethernet9/3", + "Ethernet9/4", + "Ethernet9/5", + "Ethernet9/6", + "Ethernet9/7", + "Ethernet9/8" + ] + } + }, + "Ethernet72": { + "index": "10,10,10,10,10,10,10,10", + "lanes": "89,90,91,92,93,94,95,96", + "breakout_modes": { + "1x400G": [ + "Ethernet10/1" + ], + "2x200G": [ + "Ethernet10/1", + "Ethernet10/5" + ], + "4x100G": [ + "Ethernet10/1", + "Ethernet10/3", + "Ethernet10/5", + "Ethernet10/7" + ], + "8x50G": [ + "Ethernet10/1", + "Ethernet10/2", + "Ethernet10/3", + "Ethernet10/4", + "Ethernet10/5", + "Ethernet10/6", + "Ethernet10/7", + "Ethernet10/8" + ] + } + }, + "Ethernet80": { + "index": "11,11,11,11,11,11,11,11", + "lanes": "65,66,67,68,69,70,71,72", + "breakout_modes": { + "1x400G": [ + "Ethernet11/1" + ], + "2x200G": [ + "Ethernet11/1", + "Ethernet11/5" + ], + "4x100G": [ + "Ethernet11/1", + "Ethernet11/3", + "Ethernet11/5", + "Ethernet11/7" + ], + "8x50G": [ + "Ethernet11/1", + "Ethernet11/2", + "Ethernet11/3", + "Ethernet11/4", + "Ethernet11/5", + "Ethernet11/6", + "Ethernet11/7", + "Ethernet11/8" + ] + } + }, + "Ethernet88": { + "index": "12,12,12,12,12,12,12,12", + "lanes": "73,74,75,76,77,78,79,80", + "breakout_modes": { + "1x400G": [ + "Ethernet12/1" + ], + "2x200G": [ + "Ethernet12/1", + "Ethernet12/5" + ], + "4x100G": [ + "Ethernet12/1", + "Ethernet12/3", + "Ethernet12/5", + "Ethernet12/7" + ], + "8x50G": [ + "Ethernet12/1", + "Ethernet12/2", + "Ethernet12/3", + "Ethernet12/4", + "Ethernet12/5", + "Ethernet12/6", + "Ethernet12/7", + "Ethernet12/8" + ] + } + }, + "Ethernet96": { + "index": "13,13,13,13,13,13,13,13", + "lanes": "113,114,115,116,117,118,119,120", + "breakout_modes": { + "1x400G": [ + "Ethernet13/1" + ], + "2x200G": [ + "Ethernet13/1", + "Ethernet13/5" + ], + "4x100G": [ + "Ethernet13/1", + "Ethernet13/3", + "Ethernet13/5", + "Ethernet13/7" + ], + "8x50G": [ + "Ethernet13/1", + "Ethernet13/2", + "Ethernet13/3", + "Ethernet13/4", + "Ethernet13/5", + "Ethernet13/6", + "Ethernet13/7", + "Ethernet13/8" + ] + } + }, + "Ethernet104": { + "index": "14,14,14,14,14,14,14,14", + "lanes": "121,122,123,124,125,126,127,128", + "breakout_modes": { + "1x400G": [ + "Ethernet14/1" + ], + "2x200G": [ + "Ethernet14/1", + "Ethernet14/5" + ], + "4x100G": [ + "Ethernet14/1", + "Ethernet14/3", + "Ethernet14/5", + "Ethernet14/7" + ], + "8x50G": [ + "Ethernet14/1", + "Ethernet14/2", + "Ethernet14/3", + "Ethernet14/4", + "Ethernet14/5", + "Ethernet14/6", + "Ethernet14/7", + "Ethernet14/8" + ] + } + }, + "Ethernet112": { + "index": "15,15,15,15,15,15,15,15", + "lanes": "97,98,99,100,101,102,103,104", + "breakout_modes": { + "1x400G": [ + "Ethernet15/1" + ], + "2x200G": [ + "Ethernet15/1", + "Ethernet15/5" + ], + "4x100G": [ + "Ethernet15/1", + "Ethernet15/3", + "Ethernet15/5", + "Ethernet15/7" + ], + "8x50G": [ + "Ethernet15/1", + "Ethernet15/2", + "Ethernet15/3", + "Ethernet15/4", + "Ethernet15/5", + "Ethernet15/6", + "Ethernet15/7", + "Ethernet15/8" + ] + } + }, + "Ethernet120": { + "index": "16,16,16,16,16,16,16,16", + "lanes": "105,106,107,108,109,110,111,112", + "breakout_modes": { + "1x400G": [ + "Ethernet16/1" + ], + "2x200G": [ + "Ethernet16/1", + "Ethernet16/5" + ], + "4x100G": [ + "Ethernet16/1", + "Ethernet16/3", + "Ethernet16/5", + "Ethernet16/7" + ], + "8x50G": [ + "Ethernet16/1", + "Ethernet16/2", + "Ethernet16/3", + "Ethernet16/4", + "Ethernet16/5", + "Ethernet16/6", + "Ethernet16/7", + "Ethernet16/8" + ] + } + }, + "Ethernet128": { + "index": "17,17,17,17,17,17,17,17", + "lanes": "385,386,387,388,389,390,391,392", + "breakout_modes": { + "1x400G": [ + "Ethernet17/1" + ], + "2x200G": [ + "Ethernet17/1", + "Ethernet17/5" + ], + "4x100G": [ + "Ethernet17/1", + "Ethernet17/3", + "Ethernet17/5", + "Ethernet17/7" + ], + "8x50G": [ + "Ethernet17/1", + "Ethernet17/2", + "Ethernet17/3", + "Ethernet17/4", + "Ethernet17/5", + "Ethernet17/6", + "Ethernet17/7", + "Ethernet17/8" + ] + } + }, + "Ethernet136": { + "index": "18,18,18,18,18,18,18,18", + "lanes": "393,394,395,396,397,398,399,400", + "breakout_modes": { + "1x400G": [ + "Ethernet18/1" + ], + "2x200G": [ + "Ethernet18/1", + "Ethernet18/5" + ], + "4x100G": [ + "Ethernet18/1", + "Ethernet18/3", + "Ethernet18/5", + "Ethernet18/7" + ], + "8x50G": [ + "Ethernet18/1", + "Ethernet18/2", + "Ethernet18/3", + "Ethernet18/4", + "Ethernet18/5", + "Ethernet18/6", + "Ethernet18/7", + "Ethernet18/8" + ] + } + }, + "Ethernet144": { + "index": "19,19,19,19,19,19,19,19", + "lanes": "401,402,403,404,405,406,407,408", + "breakout_modes": { + "1x400G": [ + "Ethernet19/1" + ], + "2x200G": [ + "Ethernet19/1", + "Ethernet19/5" + ], + "4x100G": [ + "Ethernet19/1", + "Ethernet19/3", + "Ethernet19/5", + "Ethernet19/7" + ], + "8x50G": [ + "Ethernet19/1", + "Ethernet19/2", + "Ethernet19/3", + "Ethernet19/4", + "Ethernet19/5", + "Ethernet19/6", + "Ethernet19/7", + "Ethernet19/8" + ] + } + }, + "Ethernet152": { + "index": "20,20,20,20,20,20,20,20", + "lanes": "409,410,411,412,413,414,415,416", + "breakout_modes": { + "1x400G": [ + "Ethernet20/1" + ], + "2x200G": [ + "Ethernet20/1", + "Ethernet20/5" + ], + "4x100G": [ + "Ethernet20/1", + "Ethernet20/3", + "Ethernet20/5", + "Ethernet20/7" + ], + "8x50G": [ + "Ethernet20/1", + "Ethernet20/2", + "Ethernet20/3", + "Ethernet20/4", + "Ethernet20/5", + "Ethernet20/6", + "Ethernet20/7", + "Ethernet20/8" + ] + } + }, + "Ethernet160": { + "index": "21,21,21,21,21,21,21,21", + "lanes": "417,418,419,420,421,422,423,424", + "breakout_modes": { + "1x400G": [ + "Ethernet21/1" + ], + "2x200G": [ + "Ethernet21/1", + "Ethernet21/5" + ], + "4x100G": [ + "Ethernet21/1", + "Ethernet21/3", + "Ethernet21/5", + "Ethernet21/7" + ], + "8x50G": [ + "Ethernet21/1", + "Ethernet21/2", + "Ethernet21/3", + "Ethernet21/4", + "Ethernet21/5", + "Ethernet21/6", + "Ethernet21/7", + "Ethernet21/8" + ] + } + }, + "Ethernet168": { + "index": "22,22,22,22,22,22,22,22", + "lanes": "425,426,427,428,429,430,431,432", + "breakout_modes": { + "1x400G": [ + "Ethernet22/1" + ], + "2x200G": [ + "Ethernet22/1", + "Ethernet22/5" + ], + "4x100G": [ + "Ethernet22/1", + "Ethernet22/3", + "Ethernet22/5", + "Ethernet22/7" + ], + "8x50G": [ + "Ethernet22/1", + "Ethernet22/2", + "Ethernet22/3", + "Ethernet22/4", + "Ethernet22/5", + "Ethernet22/6", + "Ethernet22/7", + "Ethernet22/8" + ] + } + }, + "Ethernet176": { + "index": "23,23,23,23,23,23,23,23", + "lanes": "433,434,435,436,437,438,439,440", + "breakout_modes": { + "1x400G": [ + "Ethernet23/1" + ], + "2x200G": [ + "Ethernet23/1", + "Ethernet23/5" + ], + "4x100G": [ + "Ethernet23/1", + "Ethernet23/3", + "Ethernet23/5", + "Ethernet23/7" + ], + "8x50G": [ + "Ethernet23/1", + "Ethernet23/2", + "Ethernet23/3", + "Ethernet23/4", + "Ethernet23/5", + "Ethernet23/6", + "Ethernet23/7", + "Ethernet23/8" + ] + } + }, + "Ethernet184": { + "index": "24,24,24,24,24,24,24,24", + "lanes": "441,442,443,444,445,446,447,448", + "breakout_modes": { + "1x400G": [ + "Ethernet24/1" + ], + "2x200G": [ + "Ethernet24/1", + "Ethernet24/5" + ], + "4x100G": [ + "Ethernet24/1", + "Ethernet24/3", + "Ethernet24/5", + "Ethernet24/7" + ], + "8x50G": [ + "Ethernet24/1", + "Ethernet24/2", + "Ethernet24/3", + "Ethernet24/4", + "Ethernet24/5", + "Ethernet24/6", + "Ethernet24/7", + "Ethernet24/8" + ] + } + }, + "Ethernet192": { + "index": "25,25,25,25,25,25,25,25", + "lanes": "449,450,451,452,453,454,455,456", + "breakout_modes": { + "1x400G": [ + "Ethernet25/1" + ], + "2x200G": [ + "Ethernet25/1", + "Ethernet25/5" + ], + "4x100G": [ + "Ethernet25/1", + "Ethernet25/3", + "Ethernet25/5", + "Ethernet25/7" + ], + "8x50G": [ + "Ethernet25/1", + "Ethernet25/2", + "Ethernet25/3", + "Ethernet25/4", + "Ethernet25/5", + "Ethernet25/6", + "Ethernet25/7", + "Ethernet25/8" + ] + } + }, + "Ethernet200": { + "index": "26,26,26,26,26,26,26,26", + "lanes": "457,458,459,460,461,462,463,464", + "breakout_modes": { + "1x400G": [ + "Ethernet26/1" + ], + "2x200G": [ + "Ethernet26/1", + "Ethernet26/5" + ], + "4x100G": [ + "Ethernet26/1", + "Ethernet26/3", + "Ethernet26/5", + "Ethernet26/7" + ], + "8x50G": [ + "Ethernet26/1", + "Ethernet26/2", + "Ethernet26/3", + "Ethernet26/4", + "Ethernet26/5", + "Ethernet26/6", + "Ethernet26/7", + "Ethernet26/8" + ] + } + }, + "Ethernet208": { + "index": "27,27,27,27,27,27,27,27", + "lanes": "465,466,467,468,469,470,471,472", + "breakout_modes": { + "1x400G": [ + "Ethernet27/1" + ], + "2x200G": [ + "Ethernet27/1", + "Ethernet27/5" + ], + "4x100G": [ + "Ethernet27/1", + "Ethernet27/3", + "Ethernet27/5", + "Ethernet27/7" + ], + "8x50G": [ + "Ethernet27/1", + "Ethernet27/2", + "Ethernet27/3", + "Ethernet27/4", + "Ethernet27/5", + "Ethernet27/6", + "Ethernet27/7", + "Ethernet27/8" + ] + } + }, + "Ethernet216": { + "index": "28,28,28,28,28,28,28,28", + "lanes": "473,474,475,476,477,478,479,480", + "breakout_modes": { + "1x400G": [ + "Ethernet28/1" + ], + "2x200G": [ + "Ethernet28/1", + "Ethernet28/5" + ], + "4x100G": [ + "Ethernet28/1", + "Ethernet28/3", + "Ethernet28/5", + "Ethernet28/7" + ], + "8x50G": [ + "Ethernet28/1", + "Ethernet28/2", + "Ethernet28/3", + "Ethernet28/4", + "Ethernet28/5", + "Ethernet28/6", + "Ethernet28/7", + "Ethernet28/8" + ] + } + }, + "Ethernet224": { + "index": "29,29,29,29,29,29,29,29", + "lanes": "481,482,483,484,485,486,487,488", + "breakout_modes": { + "1x400G": [ + "Ethernet29/1" + ], + "2x200G": [ + "Ethernet29/1", + "Ethernet29/5" + ], + "4x100G": [ + "Ethernet29/1", + "Ethernet29/3", + "Ethernet29/5", + "Ethernet29/7" + ], + "8x50G": [ + "Ethernet29/1", + "Ethernet29/2", + "Ethernet29/3", + "Ethernet29/4", + "Ethernet29/5", + "Ethernet29/6", + "Ethernet29/7", + "Ethernet29/8" + ] + } + }, + "Ethernet232": { + "index": "30,30,30,30,30,30,30,30", + "lanes": "489,490,491,492,493,494,495,496", + "breakout_modes": { + "1x400G": [ + "Ethernet30/1" + ], + "2x200G": [ + "Ethernet30/1", + "Ethernet30/5" + ], + "4x100G": [ + "Ethernet30/1", + "Ethernet30/3", + "Ethernet30/5", + "Ethernet30/7" + ], + "8x50G": [ + "Ethernet30/1", + "Ethernet30/2", + "Ethernet30/3", + "Ethernet30/4", + "Ethernet30/5", + "Ethernet30/6", + "Ethernet30/7", + "Ethernet30/8" + ] + } + }, + "Ethernet240": { + "index": "31,31,31,31,31,31,31,31", + "lanes": "497,498,499,500,501,502,503,504", + "breakout_modes": { + "1x400G": [ + "Ethernet31/1" + ], + "2x200G": [ + "Ethernet31/1", + "Ethernet31/5" + ], + "4x100G": [ + "Ethernet31/1", + "Ethernet31/3", + "Ethernet31/5", + "Ethernet31/7" + ], + "8x50G": [ + "Ethernet31/1", + "Ethernet31/2", + "Ethernet31/3", + "Ethernet31/4", + "Ethernet31/5", + "Ethernet31/6", + "Ethernet31/7", + "Ethernet31/8" + ] + } + }, + "Ethernet248": { + "index": "32,32,32,32,32,32,32,32", + "lanes": "505,506,507,508,509,510,511,512", + "breakout_modes": { + "1x400G": [ + "Ethernet32/1" + ], + "2x200G": [ + "Ethernet32/1", + "Ethernet32/5" + ], + "4x100G": [ + "Ethernet32/1", + "Ethernet32/3", + "Ethernet32/5", + "Ethernet32/7" + ], + "8x50G": [ + "Ethernet32/1", + "Ethernet32/2", + "Ethernet32/3", + "Ethernet32/4", + "Ethernet32/5", + "Ethernet32/6", + "Ethernet32/7", + "Ethernet32/8" + ] + } + }, + "Ethernet256": { + "index": "33", + "lanes": "513", + "breakout_modes": { + "1x10G": [ + "Ethernet33" + ] + } + } + }, "asic_sensors": { "poll_interval": "10", "poll_admin_status": "enable" diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffer_ports.j2 b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffer_ports.j2 new file mode 100644 index 000000000000..25a254905a53 --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffer_ports.j2 @@ -0,0 +1,7 @@ +{%- macro generate_port_lists(PORT_ALL) %} + {# Generate list of ports #} + {%- for port_idx in range(0, 512, 8) %} + {%- if PORT_ALL.append("Ethernet%d" % (port_idx)) %}{%- endif %} + {%- endfor %} + {% if PORT_ALL.append("Ethernet513") %}{% endif %} +{%- endmacro %} diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers.json.j2 b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers.json.j2 new file mode 100644 index 000000000000..0b1cb2c541b6 --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers.json.j2 @@ -0,0 +1,2 @@ +{%- set default_topo = 't1' %} +{%- include 'buffers_config.j2' %} diff --git a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t0.j2 b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers_defaults_t0.j2 similarity index 60% rename from device/marvell/arm64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t0.j2 rename to device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers_defaults_t0.j2 index fee16b580d70..e28dd965a51b 100644 --- a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/FALCON16X25G/buffers_defaults_t0.j2 +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers_defaults_t0.j2 @@ -1,35 +1,35 @@ +{%- set default_cable = '5m' %} -{%- set default_cable = '40m' %} +{%- include 'buffer_ports.j2' %} {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { "ingress_lossless_pool": { - "size": "11500000", + "size": "161176208", "type": "ingress", - "mode": "dynamic" + "mode": "dynamic", + "xoff": "29520896" }, - "egress_pool": { - "size": "11500000", + "egress_lossless_pool": { + "size": "161176208", "type": "egress", - "mode": "static" + "mode": "dynamic" } }, "BUFFER_PROFILE": { "ingress_lossy_profile": { "pool":"ingress_lossless_pool", "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"330000", - "static_th":"0" + "dynamic_th":"-1" }, "egress_lossy_profile": { - "pool":"egress_pool", + "pool":"egress_lossless_pool", + "size":"0", + "dynamic_th":"-4" + }, + "egress_lossless_profile": { + "pool":"egress_lossless_pool", "size":"0", - "mode": "dynamic", "dynamic_th":"3" } }, diff --git a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t1.j2 b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers_defaults_t1.j2 similarity index 60% rename from device/marvell/arm64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t1.j2 rename to device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers_defaults_t1.j2 index f056413e8283..e28dd965a51b 100644 --- a/device/marvell/arm64-marvell_db98cx8580_16cd-r0/FALCON32X25G/buffers_defaults_t1.j2 +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/buffers_defaults_t1.j2 @@ -1,35 +1,35 @@ +{%- set default_cable = '5m' %} -{%- set default_cable = '40m' %} +{%- include 'buffer_ports.j2' %} {%- macro generate_buffer_pool_and_profiles() %} "BUFFER_POOL": { "ingress_lossless_pool": { - "size": "11500000", + "size": "161176208", "type": "ingress", - "mode": "dynamic" + "mode": "dynamic", + "xoff": "29520896" }, - "egress_pool": { - "size": "11500000", + "egress_lossless_pool": { + "size": "161176208", "type": "egress", - "mode": "static" + "mode": "dynamic" } }, "BUFFER_PROFILE": { "ingress_lossy_profile": { "pool":"ingress_lossless_pool", "size":"0", - "dynamic_th":"3" - }, - "egress_lossless_profile": { - "pool":"egress_pool", - "mode": "static", - "size":"170000", - "static_th":"0" + "dynamic_th":"-1" }, "egress_lossy_profile": { - "pool":"egress_pool", + "pool":"egress_lossless_pool", + "size":"0", + "dynamic_th":"-4" + }, + "egress_lossless_profile": { + "pool":"egress_lossless_pool", "size":"0", - "mode": "dynamic", "dynamic_th":"3" } }, diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/h5_64Dx400g.yml b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/h5_64dx400g.yml similarity index 89% rename from device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/h5_64Dx400g.yml rename to device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/h5_64dx400g.yml index a3efe8918d0e..878ceacffd4b 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/h5_64Dx400g.yml +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/h5_64dx400g.yml @@ -1,8 +1,48 @@ # -# $Copyright: (c) 2022-2023 Delta Electronics, INC. -# Delta Electronics, INC. Proprietary and Confidential. All rights reserved. +# $Copyright: (c) 2022 Broadcom. +# Broadcom Proprietary and Confidential. All rights reserved.$ +# +# BCM78900 64x800g port configuration. +# +# configuration yaml file +# device: +# : +# : +# ? +# : +# : +# ... +# : +# : +# : +# : +# ... +# : # +--- +bcm_device: + 0: + global: + pktio_mode: 1 + vlan_flooding_l2mc_num_reserved: 0 + ipv6_lpm_128b_enable: 1 + shared_block_mask_section: uc_bc + skip_protocol_default_entries: 1 + # LTSW uses value 1 for ALPM combined mode + l3_alpm_template: 1 + l3_alpm_hit_skip: 1 + sai_feat_tail_timestamp : 1 + sai_port_phy_time_sync_en : 1 + sai_field_group_auto_prioritize: 1 + #l3_intf_vlan_split_egress for MTU at L3IF + l3_intf_vlan_split_egress : 1 + pfc_deadlock_seq_control : 1 + sai_tunnel_support: 2 + bcm_tunnel_term_compatible_mode: 1 + l3_ecmp_member_first_lkup_mem_size: 12288 + default_cpu_tx_queue: 7 + sai_l3_byte1_udf_disable: 1 --- device: 0: @@ -775,6 +815,18 @@ device: TX_LANE_MAP: 0x34702561 RX_POLARITY_FLIP: 0x6A TX_POLARITY_FLIP: 0x84 + ? + PC_PM_ID: 65 + CORE_INDEX: 0 + : + RX_LANE_MAP_AUTO: 0 + TX_LANE_MAP_AUTO: 0 + RX_POLARITY_FLIP_AUTO: 0 + TX_POLARITY_FLIP_AUTO: 0 + RX_LANE_MAP: 0x3210 + TX_LANE_MAP: 0x3210 + RX_POLARITY_FLIP: 0x04 + TX_POLARITY_FLIP: 0x00 ... --- device: @@ -1042,14 +1094,6 @@ device: : PC_PHYS_PORT_ID: 505 # mgmt port - ? - PORT_ID: 76 - : - PC_PHYS_PORT_ID: 513 - ? - PORT_ID: 164 - : - PC_PHYS_PORT_ID: 514 ? PORT_ID: 186 : @@ -1104,18 +1148,92 @@ device: [330, 331], [341, 342]] : - ENABLE: 1 + ENABLE: 0 SPEED: 400000 - NUM_LANES: 8 + NUM_LANES: 4 FEC_MODE: PC_FEC_RS544_2XN MAX_FRAME_SIZE: 9416 - LINK_TRAINING: 1 + LINK_TRAINING: 0 ? - PORT_ID: [76, 164, 186, 274] + PORT_ID: [274, 186] : - ENABLE: 1 + ENABLE: 0 SPEED: 10000 NUM_LANES: 1 MAX_FRAME_SIZE: 9416 ... +--- +bcm_device: + 0: + global: + ftem_mem_entries: 65536 +... +--- +device: + 0: + # Per pipe flex counter configuration + CTR_EFLEX_CONFIG: + CTR_ING_EFLEX_OPERMODE_PIPEUNIQUE: 0 + CTR_EGR_EFLEX_OPERMODE_PIPEUNIQUE: 0 + + # IFP mode + FP_CONFIG: + FP_ING_OPERMODE: GLOBAL_PIPE_AWARE +... +--- +device: + 0: + DEVICE_CONFIG: + AUTOLOAD_BOARD_SETTINGS: 0 +... +--- +device: + 0: + TM_THD_CONFIG: + THRESHOLD_MODE: LOSSY_AND_LOSSLESS +... +--- +device: + 0: + TM_ING_PORT_PRI_GRP: + ? + PORT_ID: [[1, 2], + [11, 12], + [22, 23], + [33, 34], + [44, 45], + [55, 56], + [66, 67], + [77, 78], + [88, 89], + [99, 100], + [110, 111], + [121, 122], + [132, 133], + [143, 144], + [154, 155], + [165, 166], + [176, 177], + 186, + [187, 188], + [198, 199], + [209, 210], + [220, 221], + [231, 232], + [242, 243], + [253, 254], + [264, 265], + 274, + [275, 276], + [286, 287], + [297, 298], + [308, 309], + [319, 320], + [330, 331], + [341, 342]] + TM_PRI_GRP_ID: [3,4] + : + PFC: 1 + LOSSLESS: 1 +... diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/hwsku.json b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/hwsku.json new file mode 100644 index 000000000000..a186d539b50c --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/hwsku.json @@ -0,0 +1,203 @@ +{ + "interfaces": { + "Ethernet0": { + "default_brkout_mode": "1x400G" + }, + "Ethernet8": { + "default_brkout_mode": "1x400G" + }, + "Ethernet16": { + "default_brkout_mode": "1x400G" + }, + "Ethernet24": { + "default_brkout_mode": "1x400G" + }, + "Ethernet32": { + "default_brkout_mode": "1x400G" + }, + "Ethernet40": { + "default_brkout_mode": "1x400G" + }, + "Ethernet48": { + "default_brkout_mode": "1x400G" + }, + "Ethernet56": { + "default_brkout_mode": "1x400G" + }, + "Ethernet64": { + "default_brkout_mode": "1x400G" + }, + "Ethernet72": { + "default_brkout_mode": "1x400G" + }, + "Ethernet80": { + "default_brkout_mode": "1x400G" + }, + "Ethernet88": { + "default_brkout_mode": "1x400G" + }, + "Ethernet96": { + "default_brkout_mode": "1x400G" + }, + "Ethernet104": { + "default_brkout_mode": "1x400G" + }, + "Ethernet112": { + "default_brkout_mode": "1x400G" + }, + "Ethernet120": { + "default_brkout_mode": "1x400G" + }, + "Ethernet128": { + "default_brkout_mode": "1x400G" + }, + "Ethernet136": { + "default_brkout_mode": "1x400G" + }, + "Ethernet144": { + "default_brkout_mode": "1x400G" + }, + "Ethernet152": { + "default_brkout_mode": "1x400G" + }, + "Ethernet160": { + "default_brkout_mode": "1x400G" + }, + "Ethernet168": { + "default_brkout_mode": "1x400G" + }, + "Ethernet176": { + "default_brkout_mode": "1x400G" + }, + "Ethernet184": { + "default_brkout_mode": "1x400G" + }, + "Ethernet192": { + "default_brkout_mode": "1x400G" + }, + "Ethernet200": { + "default_brkout_mode": "1x400G" + }, + "Ethernet208": { + "default_brkout_mode": "1x400G" + }, + "Ethernet216": { + "default_brkout_mode": "1x400G" + }, + "Ethernet224": { + "default_brkout_mode": "1x400G" + }, + "Ethernet232": { + "default_brkout_mode": "1x400G" + }, + "Ethernet240": { + "default_brkout_mode": "1x400G" + }, + "Ethernet248": { + "default_brkout_mode": "1x400G" + }, + "Ethernet256": { + "default_brkout_mode": "1x400G" + }, + "Ethernet264": { + "default_brkout_mode": "1x400G" + }, + "Ethernet272": { + "default_brkout_mode": "1x400G" + }, + "Ethernet280": { + "default_brkout_mode": "1x400G" + }, + "Ethernet288": { + "default_brkout_mode": "1x400G" + }, + "Ethernet296": { + "default_brkout_mode": "1x400G" + }, + "Ethernet304": { + "default_brkout_mode": "1x400G" + }, + "Ethernet312": { + "default_brkout_mode": "1x400G" + }, + "Ethernet320": { + "default_brkout_mode": "1x400G" + }, + "Ethernet328": { + "default_brkout_mode": "1x400G" + }, + "Ethernet336": { + "default_brkout_mode": "1x400G" + }, + "Ethernet344": { + "default_brkout_mode": "1x400G" + }, + "Ethernet352": { + "default_brkout_mode": "1x400G" + }, + "Ethernet360": { + "default_brkout_mode": "1x400G" + }, + "Ethernet368": { + "default_brkout_mode": "1x400G" + }, + "Ethernet376": { + "default_brkout_mode": "1x400G" + }, + "Ethernet384": { + "default_brkout_mode": "1x400G" + }, + "Ethernet392": { + "default_brkout_mode": "1x400G" + }, + "Ethernet400": { + "default_brkout_mode": "1x400G" + }, + "Ethernet408": { + "default_brkout_mode": "1x400G" + }, + "Ethernet416": { + "default_brkout_mode": "1x400G" + }, + "Ethernet424": { + "default_brkout_mode": "1x400G" + }, + "Ethernet432": { + "default_brkout_mode": "1x400G" + }, + "Ethernet440": { + "default_brkout_mode": "1x400G" + }, + "Ethernet448": { + "default_brkout_mode": "1x400G" + }, + "Ethernet456": { + "default_brkout_mode": "1x400G" + }, + "Ethernet464": { + "default_brkout_mode": "1x400G" + }, + "Ethernet472": { + "default_brkout_mode": "1x400G" + }, + "Ethernet480": { + "default_brkout_mode": "1x400G" + }, + "Ethernet488": { + "default_brkout_mode": "1x400G" + }, + "Ethernet496": { + "default_brkout_mode": "1x400G" + }, + "Ethernet504": { + "default_brkout_mode": "1x400G" + }, + "Ethernet512": { + "default_brkout_mode": "1x10G" + }, + "Ethernet513": { + "default_brkout_mode": "1x10G" + } + } +} + diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/media_settings.json b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/media_settings.json new file mode 100644 index 000000000000..07e8f2f46dc2 --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/media_settings.json @@ -0,0 +1,8240 @@ +{ + "PORT_MEDIA_SETTINGS": { + "1": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "2": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "3": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "4": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "5": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "6": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "7": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "8": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "9": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x88", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "10": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "11": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "12": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "13": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x0", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "14": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "15": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "16": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "17": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "18": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x90", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "19": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x0", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "20": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "21": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "22": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "23": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x0", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "24": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "25": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "26": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "27": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "28": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "29": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "30": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "31": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "32": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "33": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x7C", + "lane1": "0x7C", + "lane2": "0x7C", + "lane3": "0x7C", + "lane4": "0x7C", + "lane5": "0x7C", + "lane6": "0x7C", + "lane7": "0x7C" + }, + "post1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "34": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x7C", + "lane1": "0x7C", + "lane2": "0x7C", + "lane3": "0x7C", + "lane4": "0x7C", + "lane5": "0x7C", + "lane6": "0x7C", + "lane7": "0x7C" + }, + "post1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "35": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x7C", + "lane1": "0x7C", + "lane2": "0x7C", + "lane3": "0x7C", + "lane4": "0x7C", + "lane5": "0x7C", + "lane6": "0x7C", + "lane7": "0x7C" + }, + "post1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "36": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x7C", + "lane1": "0x7C", + "lane2": "0x7C", + "lane3": "0x7C", + "lane4": "0x7C", + "lane5": "0x7C", + "lane6": "0x7C", + "lane7": "0x7C" + }, + "post1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "37": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x7C", + "lane1": "0x7C", + "lane2": "0x7C", + "lane3": "0x7C", + "lane4": "0x7C", + "lane5": "0x7C", + "lane6": "0x7C", + "lane7": "0x7C" + }, + "post1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "38": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x7C", + "lane1": "0x7C", + "lane2": "0x7C", + "lane3": "0x7C", + "lane4": "0x7C", + "lane5": "0x7C", + "lane6": "0x7C", + "lane7": "0x7C" + }, + "post1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "39": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "40": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "41": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "42": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "43": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "44": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "45": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x94", + "lane1": "0x94", + "lane2": "0x94", + "lane3": "0x94", + "lane4": "0x94", + "lane5": "0x94", + "lane6": "0x94", + "lane7": "0x94" + }, + "post1": { + "lane0": "0xFFFFFFF4", + "lane1": "0xFFFFFFF4", + "lane2": "0xFFFFFFF4", + "lane3": "0xFFFFFFF4", + "lane4": "0xFFFFFFF4", + "lane5": "0xFFFFFFF4", + "lane6": "0xFFFFFFF4", + "lane7": "0xFFFFFFF4" + }, + "post2": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "46": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x94", + "lane1": "0x94", + "lane2": "0x94", + "lane3": "0x94", + "lane4": "0x94", + "lane5": "0x94", + "lane6": "0x94", + "lane7": "0x94" + }, + "post1": { + "lane0": "0xFFFFFFF4", + "lane1": "0xFFFFFFF4", + "lane2": "0xFFFFFFF4", + "lane3": "0xFFFFFFF4", + "lane4": "0xFFFFFFF4", + "lane5": "0xFFFFFFF4", + "lane6": "0xFFFFFFF4", + "lane7": "0xFFFFFFF4" + }, + "post2": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "47": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x94", + "lane1": "0x94", + "lane2": "0x94", + "lane3": "0x94", + "lane4": "0x94", + "lane5": "0x94", + "lane6": "0x94", + "lane7": "0x94" + }, + "post1": { + "lane0": "0xFFFFFFF4", + "lane1": "0xFFFFFFF4", + "lane2": "0xFFFFFFF4", + "lane3": "0xFFFFFFF4", + "lane4": "0xFFFFFFF4", + "lane5": "0xFFFFFFF4", + "lane6": "0xFFFFFFF4", + "lane7": "0xFFFFFFF4" + }, + "post2": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "48": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "49": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "50": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE0", + "lane1": "0xFFFFFFE0", + "lane2": "0xFFFFFFE0", + "lane3": "0xFFFFFFE0", + "lane4": "0xFFFFFFE0", + "lane5": "0xFFFFFFE0", + "lane6": "0xFFFFFFE0", + "lane7": "0xFFFFFFE0" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "51": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "52": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "53": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "54": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "55": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "56": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "57": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "58": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "59": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0xFFFFFFF0", + "lane1": "0xFFFFFFF0", + "lane2": "0xFFFFFFF0", + "lane3": "0xFFFFFFF0", + "lane4": "0xFFFFFFF0", + "lane5": "0xFFFFFFF0", + "lane6": "0xFFFFFFF0", + "lane7": "0xFFFFFFF0" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "60": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "61": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "62": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x8C", + "lane1": "0x8C", + "lane2": "0x8C", + "lane3": "0x8C", + "lane4": "0x8C", + "lane5": "0x8C", + "lane6": "0x8C", + "lane7": "0x8C" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE8", + "lane1": "0xFFFFFFE8", + "lane2": "0xFFFFFFE8", + "lane3": "0xFFFFFFE8", + "lane4": "0xFFFFFFE8", + "lane5": "0xFFFFFFE8", + "lane6": "0xFFFFFFE8", + "lane7": "0xFFFFFFE8" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "63": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "64": { + "Default": { + "speed:400GAUI-8|400G": { + "main": { + "lane0": "0x84", + "lane1": "0x84", + "lane2": "0x84", + "lane3": "0x84", + "lane4": "0x84", + "lane5": "0x84", + "lane6": "0x84", + "lane7": "0x84" + }, + "post1": { + "lane0": "0xFFFFFFEC", + "lane1": "0xFFFFFFEC", + "lane2": "0xFFFFFFEC", + "lane3": "0xFFFFFFEC", + "lane4": "0xFFFFFFEC", + "lane5": "0xFFFFFFEC", + "lane6": "0xFFFFFFEC", + "lane7": "0xFFFFFFEC" + }, + "post2": { + "lane0": "0xFFFFFFF8", + "lane1": "0xFFFFFFF8", + "lane2": "0xFFFFFFF8", + "lane3": "0xFFFFFFF8", + "lane4": "0xFFFFFFF8", + "lane5": "0xFFFFFFF8", + "lane6": "0xFFFFFFF8", + "lane7": "0xFFFFFFF8" + }, + "pre1": { + "lane0": "0xFFFFFFFC", + "lane1": "0xFFFFFFFC", + "lane2": "0xFFFFFFFC", + "lane3": "0xFFFFFFFC", + "lane4": "0xFFFFFFFC", + "lane5": "0xFFFFFFFC", + "lane6": "0xFFFFFFFC", + "lane7": "0xFFFFFFFC" + }, + "pre2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + }, + "speed:800GAUI-8|800G|100GAUI-1-L": { + "main": { + "lane0": "0x88", + "lane1": "0x88", + "lane2": "0x88", + "lane3": "0x88", + "lane4": "0x88", + "lane5": "0x88", + "lane6": "0x88", + "lane7": "0x88" + }, + "post1": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "post2": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + }, + "pre1": { + "lane0": "0xFFFFFFE4", + "lane1": "0xFFFFFFE4", + "lane2": "0xFFFFFFE4", + "lane3": "0xFFFFFFE4", + "lane4": "0xFFFFFFE4", + "lane5": "0xFFFFFFE4", + "lane6": "0xFFFFFFE4", + "lane7": "0xFFFFFFE4" + }, + "pre2": { + "lane0": "0x4", + "lane1": "0x4", + "lane2": "0x4", + "lane3": "0x4", + "lane4": "0x4", + "lane5": "0x4", + "lane6": "0x4", + "lane7": "0x4" + }, + "pre3": { + "lane0": "0x0", + "lane1": "0x0", + "lane2": "0x0", + "lane3": "0x0", + "lane4": "0x0", + "lane5": "0x0", + "lane6": "0x0", + "lane7": "0x0" + } + } + } + }, + "65": { + "Default": { + "main": { + "lane0": "0x11" + }, + "post1": { + "lane0": "0x4" + }, + "post2": { + "lane0": "0x0" + }, + "post3": { + "lane0": "0x0" + }, + "pre1": { + "lane0": "0x1" + }, + "pre2": { + "lane0": "0x0" + } + } + }, + "66": { + "Default": { + "main": { + "lane0": "0x11" + }, + "post1": { + "lane0": "0x5" + }, + "post2": { + "lane0": "0x0" + }, + "post3": { + "lane0": "0x0" + }, + "pre1": { + "lane0": "0x1" + }, + "pre2": { + "lane0": "0x0" + } + } + } + } +} \ No newline at end of file diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/pg_profile_lookup.ini b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/pg_profile_lookup.ini new file mode 100644 index 000000000000..4dc3bdd5d22f --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/pg_profile_lookup.ini @@ -0,0 +1,24 @@ +# PG lossless profiles. +# speed cable size xon xoff threshold xon_offset + 10000 5m 1248 2288 35776 0 2288 + 25000 5m 1248 2288 53248 0 2288 + 40000 5m 1248 2288 66560 0 2288 + 50000 5m 1248 2288 90272 0 2288 + 100000 5m 1248 2288 165568 0 2288 + 400000 5m 1248 2288 307848 0 2288 + 800000 5m 1248 2288 572516 0 2288 + 10000 40m 1248 2288 37024 0 2288 + 25000 40m 1248 2288 53248 0 2288 + 40000 40m 1248 2288 71552 0 2288 + 50000 40m 1248 2288 96096 0 2288 + 100000 40m 1248 2288 177632 0 2288 + 400000 40m 1248 2288 330200 0 2288 + 800000 40m 1248 2288 614172 0 2288 + 10000 300m 1248 2288 46176 0 2288 + 25000 300m 1248 2288 79040 0 2288 + 40000 300m 1248 2288 108160 0 2288 + 50000 300m 1248 2288 141856 0 2288 + 100000 300m 1248 2288 268736 0 2288 + 400000 300m 1248 2288 499618 0 2288 + 800000 300m 1248 2288 929132 0 2288 + \ No newline at end of file diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/port_config.ini b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/port_config.ini index 40e197e5fc26..ce4a10693634 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/port_config.ini +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/port_config.ini @@ -1,68 +1,67 @@ -# name lanes alias index speed -Ethernet0 17,18,19,20,21,22,23,24 fourhundredGigE1/1 1 400000 -Ethernet4 25,26,27,28,29,30,31,32 fourhundredGigE1/2 2 400000 -Ethernet8 1,2,3,4,5,6,7,8 fourhundredGigE1/3 3 400000 -Ethernet12 9,10,11,12,13,14,15,16 fourhundredGigE1/4 4 400000 -Ethernet16 49,50,51,52,53,54,55,56 fourhundredGigE1/5 5 400000 -Ethernet20 57,58,59,60,61,62,63,64 fourhundredGigE1/6 6 400000 -Ethernet24 33,34,35,36,37,38,39,40 fourhundredGigE1/7 7 400000 -Ethernet28 41,42,43,44,45,46,47,48 fourhundredGigE1/8 8 400000 -Ethernet32 81,82,83,84,85,86,87,88 fourhundredGigE1/9 9 400000 -Ethernet36 89,90,91,92,93,94,95,96 fourhundredGigE1/10 10 400000 -Ethernet40 65,66,67,68,69,70,71,72 fourhundredGigE1/11 11 400000 -Ethernet44 73,74,75,76,77,78,79,80 fourhundredGigE1/12 12 400000 -Ethernet48 113,114,115,116,117,118,119,120 fourhundredGigE1/13 13 400000 -Ethernet52 121,122,123,124,125,126,127,128 fourhundredGigE1/14 14 400000 -Ethernet56 97,98,99,100,101,102,103,104 fourhundredGigE1/15 15 400000 -Ethernet60 105,106,107,108,109,110,111,112 fourhundredGigE1/16 16 400000 -Ethernet64 129,130,131,132,133,134,135,136 fourhundredGigE1/17 17 400000 -Ethernet68 137,138,139,140,141,142,143,144 fourhundredGigE1/18 18 400000 -Ethernet72 145,146,147,148,149,150,151,152 fourhundredGigE1/19 19 400000 -Ethernet76 153,154,155,156,157,158,159,160 fourhundredGigE1/20 20 400000 -Ethernet80 161,162,163,164,165,166,167,168 fourhundredGigE1/21 21 400000 -Ethernet84 169,170,171,172,173,174,175,176 fourhundredGigE1/22 22 400000 -Ethernet88 177,178,179,180,181,182,183,184 fourhundredGigE1/23 23 400000 -Ethernet92 185,186,187,188,189,190,191,192 fourhundredGigE1/24 24 400000 -Ethernet96 193,194,195,196,197,198,199,200 fourhundredGigE1/25 25 400000 -Ethernet100 201,202,203,204,205,206,207,208 fourhundredGigE1/26 26 400000 -Ethernet104 209,210,211,212,213,214,215,216 fourhundredGigE1/27 27 400000 -Ethernet108 217,218,219,220,221,222,223,224 fourhundredGigE1/28 28 400000 -Ethernet112 225,226,227,228,229,230,231,232 fourhundredGigE1/29 29 400000 -Ethernet116 233,234,235,236,237,238,239,240 fourhundredGigE1/30 30 400000 -Ethernet120 241,242,243,244,245,246,247,248 fourhundredGigE1/31 31 400000 -Ethernet124 249,250,251,252,253,254,255,256 fourhundredGigE1/32 32 400000 -Ethernet128 257,258,259,260,261,262,263,264 fourhundredGigE1/33 33 400000 -Ethernet132 265,266,267,268,269,270,271,272 fourhundredGigE1/34 34 400000 -Ethernet136 273,274,275,276,277,278,279,280 fourhundredGigE1/35 35 400000 -Ethernet140 281,282,283,284,285,286,287,288 fourhundredGigE1/36 36 400000 -Ethernet144 289,290,291,292,293,294,295,296 fourhundredGigE1/37 37 400000 -Ethernet148 297,298,299,300,301,302,303,304 fourhundredGigE1/38 38 400000 -Ethernet152 305,306,307,308,309,310,311,312 fourhundredGigE1/39 39 400000 -Ethernet156 313,314,315,316,317,318,319,320 fourhundredGigE1/40 40 400000 -Ethernet160 321,322,323,324,325,326,327,328 fourhundredGigE1/41 41 400000 -Ethernet164 329,330,331,332,333,334,335,336 fourhundredGigE1/42 42 400000 -Ethernet168 337,338,339,340,341,342,343,344 fourhundredGigE1/43 43 400000 -Ethernet172 345,346,347,348,349,350,351,352 fourhundredGigE1/44 44 400000 -Ethernet176 353,354,355,356,357,358,359,360 fourhundredGigE1/45 45 400000 -Ethernet180 361,362,363,364,365,366,367,368 fourhundredGigE1/46 46 400000 -Ethernet184 369,370,371,372,373,374,375,376 fourhundredGigE1/47 47 400000 -Ethernet188 377,378,379,380,381,382,383,384 fourhundredGigE1/48 48 400000 -Ethernet192 385,386,387,388,389,390,391,392 fourhundredGigE1/49 49 400000 -Ethernet196 393,394,395,396,397,398,399,400 fourhundredGigE1/50 50 400000 -Ethernet200 401,402,403,404,405,406,407,408 fourhundredGigE1/51 51 400000 -Ethernet204 409,410,411,412,413,414,415,416 fourhundredGigE1/52 52 400000 -Ethernet208 417,418,419,420,421,422,423,424 fourhundredGigE1/53 53 400000 -Ethernet212 425,426,427,428,429,430,431,432 fourhundredGigE1/54 54 400000 -Ethernet216 433,434,435,436,437,438,439,440 fourhundredGigE1/55 55 400000 -Ethernet220 441,442,443,444,445,446,447,448 fourhundredGigE1/56 56 400000 -Ethernet224 449,450,451,452,453,454,455,456 fourhundredGigE1/57 57 400000 -Ethernet228 457,458,459,460,461,462,463,464 fourhundredGigE1/58 58 400000 -Ethernet232 465,466,467,468,469,470,471,472 fourhundredGigE1/59 59 400000 -Ethernet236 473,474,475,476,477,478,479,480 fourhundredGigE1/60 60 400000 -Ethernet240 481,482,483,484,485,486,487,488 fourhundredGigE1/61 61 400000 -Ethernet244 489,490,491,492,493,494,495,496 fourhundredGigE1/62 62 400000 -Ethernet248 497,498,499,500,501,502,503,504 fourhundredGigE1/63 63 400000 -Ethernet252 505,506,507,508,509,510,511,512 fourhundredGigE1/64 64 400000 -Ethernet256 513 tenGigE1/65 65 10000 -Ethernet257 514 tenGigE1/66 66 10000 - +# name lanes alias index speed fec +Ethernet0 1,2,3,4,5,6,7,8 Ethernet1/1 1 400000 rs +Ethernet8 17,18,19,20,21,22,23,24 Ethernet2/1 2 400000 rs +Ethernet16 33,34,35,36,37,38,39,40 Ethernet3/1 3 400000 rs +Ethernet24 49,50,51,52,53,54,55,56 Ethernet4/1 4 400000 rs +Ethernet32 65,66,67,68,69,70,71,72 Ethernet5/1 5 400000 rs +Ethernet40 81,82,83,84,85,86,87,88 Ethernet6/1 6 400000 rs +Ethernet48 97,98,99,100,101,102,103,104 Ethernet7/1 7 400000 rs +Ethernet56 113,114,115,116,117,118,119,120 Ethernet8/1 8 400000 rs +Ethernet64 129,130,131,132,133,134,135,136 Ethernet9/1 9 400000 rs +Ethernet72 145,146,147,148,149,150,151,152 Ethernet10/1 10 400000 rs +Ethernet80 161,162,163,164,165,166,167,168 Ethernet11/1 11 400000 rs +Ethernet88 177,178,179,180,181,182,183,184 Ethernet12/1 12 400000 rs +Ethernet96 193,194,195,196,197,198,199,200 Ethernet13/1 13 400000 rs +Ethernet104 209,210,211,212,213,214,215,216 Ethernet14/1 14 400000 rs +Ethernet112 233,234,235,236,237,238,239,240 Ethernet15/1 15 400000 rs +Ethernet120 249,250,251,252,253,254,255,256 Ethernet16/1 16 400000 rs +Ethernet128 273,274,275,276,277,278,279,280 Ethernet17/1 17 400000 rs +Ethernet136 257,258,259,260,261,262,263,264 Ethernet18/1 18 400000 rs +Ethernet144 313,314,315,316,317,318,319,320 Ethernet19/1 19 400000 rs +Ethernet152 297,298,299,300,301,302,303,304 Ethernet20/1 20 400000 rs +Ethernet160 345,346,347,348,349,350,351,352 Ethernet21/1 21 400000 rs +Ethernet168 329,330,331,332,333,334,335,336 Ethernet22/1 22 400000 rs +Ethernet176 377,378,379,380,381,382,383,384 Ethernet23/1 23 400000 rs +Ethernet184 361,362,363,364,365,366,367,368 Ethernet24/1 24 400000 rs +Ethernet192 409,410,411,412,413,414,415,416 Ethernet25/1 25 400000 rs +Ethernet200 393,394,395,396,397,398,399,400 Ethernet26/1 26 400000 rs +Ethernet208 441,442,443,444,445,446,447,448 Ethernet27/1 27 400000 rs +Ethernet216 425,426,427,428,429,430,431,432 Ethernet28/1 28 400000 rs +Ethernet224 473,474,475,476,477,478,479,480 Ethernet29/1 29 400000 rs +Ethernet232 457,458,459,460,461,462,463,464 Ethernet30/1 30 400000 rs +Ethernet240 505,506,507,508,509,510,511,512 Ethernet31/1 31 400000 rs +Ethernet248 489,490,491,492,493,494,495,496 Ethernet32/1 32 400000 rs +Ethernet256 25,26,27,28,29,30,31,32 Ethernet33/1 33 400000 rs +Ethernet264 9,10,11,12,13,14,15,16 Ethernet34/1 34 400000 rs +Ethernet272 57,58,59,60,61,62,63,64 Ethernet35/1 35 400000 rs +Ethernet280 41,42,43,44,45,46,47,48 Ethernet36/1 36 400000 rs +Ethernet288 89,90,91,92,93,94,95,96 Ethernet37/1 37 400000 rs +Ethernet296 73,74,75,76,77,78,79,80 Ethernet38/1 38 400000 rs +Ethernet304 121,122,123,124,125,126,127,128 Ethernet39/1 39 400000 rs +Ethernet312 105,106,107,108,109,110,111,112 Ethernet40/1 40 400000 rs +Ethernet320 153,154,155,156,157,158,159,160 Ethernet41/1 41 400000 rs +Ethernet328 137,138,139,140,141,142,143,144 Ethernet42/1 42 400000 rs +Ethernet336 185,186,187,188,189,190,191,192 Ethernet43/1 43 400000 rs +Ethernet344 169,170,171,172,173,174,175,176 Ethernet44/1 44 400000 rs +Ethernet352 217,218,219,220,221,222,223,224 Ethernet45/1 45 400000 rs +Ethernet360 201,202,203,204,205,206,207,208 Ethernet46/1 46 400000 rs +Ethernet368 241,242,243,244,245,246,247,248 Ethernet47/1 47 400000 rs +Ethernet376 225,226,227,228,229,230,231,232 Ethernet48/1 48 400000 rs +Ethernet384 265,266,267,268,269,270,271,272 Ethernet49/1 49 400000 rs +Ethernet392 281,282,283,284,285,286,287,288 Ethernet50/1 50 400000 rs +Ethernet400 289,290,291,292,293,294,295,296 Ethernet51/1 51 400000 rs +Ethernet408 305,306,307,308,309,310,311,312 Ethernet52/1 52 400000 rs +Ethernet416 321,322,323,324,325,326,327,328 Ethernet53/1 53 400000 rs +Ethernet424 337,338,339,340,341,342,343,344 Ethernet54/1 54 400000 rs +Ethernet432 353,354,355,356,357,358,359,360 Ethernet55/1 55 400000 rs +Ethernet440 369,370,371,372,373,374,375,376 Ethernet56/1 56 400000 rs +Ethernet448 385,386,387,388,389,390,391,392 Ethernet57/1 57 400000 rs +Ethernet456 401,402,403,404,405,406,407,408 Ethernet58/1 58 400000 rs +Ethernet464 417,418,419,420,421,422,423,424 Ethernet59/1 59 400000 rs +Ethernet472 433,434,435,436,437,438,439,440 Ethernet60/1 60 400000 rs +Ethernet480 449,450,451,452,453,454,455,456 Ethernet61/1 61 400000 rs +Ethernet488 465,466,467,468,469,470,471,472 Ethernet62/1 62 400000 rs +Ethernet496 481,482,483,484,485,486,487,488 Ethernet63/1 63 400000 rs +Ethernet504 497,498,499,500,501,502,503,504 Ethernet64/1 64 400000 rs +Ethernet512 515 Ethernet65 65 10000 none +Ethernet513 516 Ethernet66 66 10000 none diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/qos.json.j2 b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/qos.json.j2 new file mode 100644 index 000000000000..3e548325ea30 --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/Nokia-IXR7220-H5-64D/qos.json.j2 @@ -0,0 +1 @@ +{%- include 'qos_config.j2' %} diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/custom_led.bin b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/custom_led.bin new file mode 100644 index 000000000000..f78a678ddc34 Binary files /dev/null and b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/custom_led.bin differ diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/led_proc_init.soc b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/led_proc_init.soc new file mode 100644 index 000000000000..eda09a0dd1f2 --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/led_proc_init.soc @@ -0,0 +1,4 @@ +led stop +led load /usr/share/sonic/platform/custom_led.bin +led auto on +led start diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/pcie.yaml b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/pcie.yaml new file mode 100644 index 000000000000..c92cc53e646d --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/pcie.yaml @@ -0,0 +1,225 @@ +- bus: '00' + dev: '00' + fn: '0' + id: 14b5 + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Root + Complex (rev 01)' +- bus: '00' + dev: '00' + fn: '2' + id: 14b6 + name: 'IOMMU: Advanced Micro Devices, Inc. [AMD] Family 17h-19h IOMMU' +- bus: '00' + dev: '01' + fn: '0' + id: 14b7 + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy + Host Bridge (rev 01)' +- bus: '00' + dev: '01' + fn: '1' + id: 14b8 + name: 'PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge' +- bus: '00' + dev: '01' + fn: '2' + id: 14b8 + name: 'PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge' +- bus: '00' + dev: '02' + fn: '0' + id: 14b7 + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy + Host Bridge (rev 01)' +- bus: '00' + dev: '02' + fn: '1' + id: 14ba + name: 'PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe GPP Bridge' +- bus: '00' + dev: '03' + fn: '0' + id: 14b7 + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy + Host Bridge (rev 01)' +- bus: '00' + dev: '04' + fn: '0' + id: 14b7 + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy + Host Bridge (rev 01)' +- bus: '00' + dev: 08 + fn: '0' + id: 14b7 + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h PCIe Dummy + Host Bridge (rev 01)' +- bus: '00' + dev: 08 + fn: '1' + id: 14b9 + name: 'PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe + GPP Bridge (rev 10)' +- bus: '00' + dev: 08 + fn: '2' + id: 14b9 + name: 'PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe + GPP Bridge (rev 10)' +- bus: '00' + dev: 08 + fn: '3' + id: 14b9 + name: 'PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h-19h Internal PCIe + GPP Bridge (rev 10)' +- bus: '00' + dev: '14' + fn: '0' + id: 790b + name: 'SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 71)' +- bus: '00' + dev: '14' + fn: '3' + id: 790e + name: 'ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)' +- bus: '00' + dev: '18' + fn: '0' + id: '1679' + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 0' +- bus: '00' + dev: '18' + fn: '1' + id: 167a + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 1' +- bus: '00' + dev: '18' + fn: '2' + id: 167b + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 2' +- bus: '00' + dev: '18' + fn: '3' + id: 167c + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 3' +- bus: '00' + dev: '18' + fn: '4' + id: 167d + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 4' +- bus: '00' + dev: '18' + fn: '5' + id: 167e + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 5' +- bus: '00' + dev: '18' + fn: '6' + id: 167f + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 6' +- bus: '00' + dev: '18' + fn: '7' + id: '1680' + name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Rembrandt Data Fabric: Device + 18h; Function 7' +- bus: '01' + dev: '00' + fn: '0' + id: '1533' + name: 'Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev + 03)' +- bus: '02' + dev: '00' + fn: '0' + id: 9c1d + name: 'Unassigned class [ff00]: Lattice Semiconductor Corporation Device 9c1d (rev + 01)' +- bus: '03' + dev: '00' + fn: '0' + id: f900 + name: 'Ethernet controller: Broadcom Inc. and subsidiaries BCM78900 Switch ASIC + [Tomahawk5] (rev 11)' +- bus: '04' + dev: '00' + fn: '0' + id: 145a + name: 'Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD/ATI] + Dummy Function (absent graphics controller)' +- bus: '04' + dev: '00' + fn: '2' + id: '1649' + name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] VanGogh PSP/CCP' +- bus: '04' + dev: '00' + fn: '3' + id: 161d + name: 'USB controller: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller + #3' +- bus: '04' + dev: '00' + fn: '4' + id: 161e + name: 'USB controller: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller + #4' +- bus: '04' + dev: '00' + fn: '5' + id: 15e2 + name: 'Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x + Audio Coprocessor (rev 60)' +- bus: '04' + dev: '00' + fn: '6' + id: 15e3 + name: 'Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio + Controller' +- bus: '04' + dev: '00' + fn: '7' + id: 15e4 + name: 'Signal processing controller: Advanced Micro Devices, Inc. [AMD] Sensor Fusion + Hub' +- bus: '05' + dev: '00' + fn: '0' + id: '7901' + name: 'SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI + mode] (rev a1)' +- bus: '05' + dev: '00' + fn: '2' + id: '1458' + name: 'Ethernet controller: Advanced Micro Devices, Inc. [AMD] XGMAC 10GbE Controller' +- bus: '05' + dev: '00' + fn: '3' + id: '1458' + name: 'Ethernet controller: Advanced Micro Devices, Inc. [AMD] XGMAC 10GbE Controller' +- bus: '06' + dev: '00' + fn: '0' + id: 161f + name: 'USB controller: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller + #8' +- bus: '06' + dev: '00' + fn: '3' + id: 15d6 + name: 'USB controller: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller + #5' +- bus: '06' + dev: '00' + fn: '4' + id: 15d7 + name: 'USB controller: Advanced Micro Devices, Inc. [AMD] Rembrandt USB4 XHCI controller + #6' diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform.json b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform.json index b330c66ff380..4870d494c9c7 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform.json +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform.json @@ -2,6 +2,9 @@ "chassis": { "name": "7220 IXR-H5-64D", "components": [ + { + "name": "BIOS" + }, { "name": "CPUPLD" }, @@ -179,7 +182,7 @@ ], "thermals": [ { - "name": "MB Left", + "name": "CPU Board", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -194,6 +197,14 @@ "low-crit-threshold": false, "high-crit-threshold": true }, + { + "name": "PSU Top", + "controllable": false, + "low-threshold": false, + "high-threshold": true, + "low-crit-threshold": false, + "high-crit-threshold": true + }, { "name": "MB Right", "controllable": false, @@ -211,7 +222,7 @@ "high-crit-threshold": true }, { - "name": "PSU top", + "name": "MB Left", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -219,7 +230,7 @@ "high-crit-threshold": true }, { - "name": "PSU Bottom", + "name": "Fan Right", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -227,7 +238,7 @@ "high-crit-threshold": true }, { - "name": "CPU Board", + "name": "Fan Left", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -235,7 +246,7 @@ "high-crit-threshold": true }, { - "name": "Fan Left", + "name": "PSU Bottom", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -243,7 +254,7 @@ "high-crit-threshold": true }, { - "name": "Fan Right", + "name": "ASIC TH5", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -251,7 +262,7 @@ "high-crit-threshold": true }, { - "name": "MAC internal", + "name": "CPU", "controllable": false, "low-threshold": false, "high-threshold": true, @@ -441,7 +452,7 @@ "name": "QSFPDD_60" }, { - "name": "QSFPDD_64" + "name": "QSFPDD_61" }, { "name": "QSFPDD_62" @@ -460,7 +471,2074 @@ } ] }, - "interfaces": {}, + "interfaces": { + "Ethernet0": { + "index": "1,1,1,1,1,1,1,1", + "lanes": "1,2,3,4,5,6,7,8", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet1/1" + ], + "1x400G": [ + "Ethernet1/1" + ], + "2x400G": [ + "Ethernet1/1", + "Ethernet1/5" + ], + "4x200G": [ + "Ethernet1/1", + "Ethernet1/3", + "Ethernet1/5", + "Ethernet1/7" + ], + "8x100G": [ + "Ethernet1/1", + "Ethernet1/2", + "Ethernet1/3", + "Ethernet1/4", + "Ethernet1/5", + "Ethernet1/6", + "Ethernet1/7", + "Ethernet1/8" + ] + } + }, + "Ethernet8": { + "index": "2,2,2,2,2,2,2,2", + "lanes": "17,18,19,20,21,22,23,24", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet2/1" + ], + "1x400G": [ + "Ethernet2/1" + ], + "2x400G": [ + "Ethernet2/1", + "Ethernet2/5" + ], + "4x200G": [ + "Ethernet2/1", + "Ethernet2/3", + "Ethernet2/5", + "Ethernet2/7" + ], + "8x100G": [ + "Ethernet2/1", + "Ethernet2/2", + "Ethernet2/3", + "Ethernet2/4", + "Ethernet2/5", + "Ethernet2/6", + "Ethernet2/7", + "Ethernet2/8" + ] + } + }, + "Ethernet16": { + "index": "3,3,3,3,3,3,3,3", + "lanes": "33,34,35,36,37,38,39,40", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet3/1" + ], + "1x400G": [ + "Ethernet3/1" + ], + "2x400G": [ + "Ethernet3/1", + "Ethernet3/5" + ], + "4x200G": [ + "Ethernet3/1", + "Ethernet3/3", + "Ethernet3/5", + "Ethernet3/7" + ], + "8x100G": [ + "Ethernet3/1", + "Ethernet3/2", + "Ethernet3/3", + "Ethernet3/4", + "Ethernet3/5", + "Ethernet3/6", + "Ethernet3/7", + "Ethernet3/8" + ] + } + }, + "Ethernet24": { + "index": "4,4,4,4,4,4,4,4", + "lanes": "49,50,51,52,53,54,55,56", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet4/1" + ], + "1x400G": [ + "Ethernet4/1" + ], + "2x400G": [ + "Ethernet4/1", + "Ethernet4/5" + ], + "4x200G": [ + "Ethernet4/1", + "Ethernet4/3", + "Ethernet4/5", + "Ethernet4/7" + ], + "8x100G": [ + "Ethernet4/1", + "Ethernet4/2", + "Ethernet4/3", + "Ethernet4/4", + "Ethernet4/5", + "Ethernet4/6", + "Ethernet4/7", + "Ethernet4/8" + ] + } + }, + "Ethernet32": { + "index": "5,5,5,5,5,5,5,5", + "lanes": "65,66,67,68,69,70,71,72", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet5/1" + ], + "1x400G": [ + "Ethernet5/1" + ], + "2x400G": [ + "Ethernet5/1", + "Ethernet5/5" + ], + "4x200G": [ + "Ethernet5/1", + "Ethernet5/3", + "Ethernet5/5", + "Ethernet5/7" + ], + "8x100G": [ + "Ethernet5/1", + "Ethernet5/2", + "Ethernet5/3", + "Ethernet5/4", + "Ethernet5/5", + "Ethernet5/6", + "Ethernet5/7", + "Ethernet5/8" + ] + } + }, + "Ethernet40": { + "index": "6,6,6,6,6,6,6,6", + "lanes": "81,82,83,84,85,86,87,88", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet6/1" + ], + "1x400G": [ + "Ethernet6/1" + ], + "2x400G": [ + "Ethernet6/1", + "Ethernet6/5" + ], + "4x200G": [ + "Ethernet6/1", + "Ethernet6/3", + "Ethernet6/5", + "Ethernet6/7" + ], + "8x100G": [ + "Ethernet6/1", + "Ethernet6/2", + "Ethernet6/3", + "Ethernet6/4", + "Ethernet6/5", + "Ethernet6/6", + "Ethernet6/7", + "Ethernet6/8" + ] + } + }, + "Ethernet48": { + "index": "7,7,7,7,7,7,7,7", + "lanes": "97,98,99,100,101,102,103,104", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet7/1" + ], + "1x400G": [ + "Ethernet7/1" + ], + "2x400G": [ + "Ethernet7/1", + "Ethernet7/5" + ], + "4x200G": [ + "Ethernet7/1", + "Ethernet7/3", + "Ethernet7/5", + "Ethernet7/7" + ], + "8x100G": [ + "Ethernet7/1", + "Ethernet7/2", + "Ethernet7/3", + "Ethernet7/4", + "Ethernet7/5", + "Ethernet7/6", + "Ethernet7/7", + "Ethernet7/8" + ] + } + }, + "Ethernet56": { + "index": "8,8,8,8,8,8,8,8", + "lanes": "113,114,115,116,117,118,119,120", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet8/1" + ], + "1x400G": [ + "Ethernet8/1" + ], + "2x400G": [ + "Ethernet8/1", + "Ethernet8/5" + ], + "4x200G": [ + "Ethernet8/1", + "Ethernet8/3", + "Ethernet8/5", + "Ethernet8/7" + ], + "8x100G": [ + "Ethernet8/1", + "Ethernet8/2", + "Ethernet8/3", + "Ethernet8/4", + "Ethernet8/5", + "Ethernet8/6", + "Ethernet8/7", + "Ethernet8/8" + ] + } + }, + "Ethernet64": { + "index": "9,9,9,9,9,9,9,9", + "lanes": "129,130,131,132,133,134,135,136", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet9/1" + ], + "1x400G": [ + "Ethernet9/1" + ], + "2x400G": [ + "Ethernet9/1", + "Ethernet9/5" + ], + "4x200G": [ + "Ethernet9/1", + "Ethernet9/3", + "Ethernet9/5", + "Ethernet9/7" + ], + "8x100G": [ + "Ethernet9/1", + "Ethernet9/2", + "Ethernet9/3", + "Ethernet9/4", + "Ethernet9/5", + "Ethernet9/6", + "Ethernet9/7", + "Ethernet9/8" + ] + } + }, + "Ethernet72": { + "index": "10,10,10,10,10,10,10,10", + "lanes": "145,146,147,148,149,150,151,152", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet10/1" + ], + "1x400G": [ + "Ethernet10/1" + ], + "2x400G": [ + "Ethernet10/1", + "Ethernet10/5" + ], + "4x200G": [ + "Ethernet10/1", + "Ethernet10/3", + "Ethernet10/5", + "Ethernet10/7" + ], + "8x100G": [ + "Ethernet10/1", + "Ethernet10/2", + "Ethernet10/3", + "Ethernet10/4", + "Ethernet10/5", + "Ethernet10/6", + "Ethernet10/7", + "Ethernet10/8" + ] + } + }, + "Ethernet80": { + "index": "11,11,11,11,11,11,11,11", + "lanes": "161,162,163,164,165,166,167,168", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet11/1" + ], + "1x400G": [ + "Ethernet11/1" + ], + "2x400G": [ + "Ethernet11/1", + "Ethernet11/5" + ], + "4x200G": [ + "Ethernet11/1", + "Ethernet11/3", + "Ethernet11/5", + "Ethernet11/7" + ], + "8x100G": [ + "Ethernet11/1", + "Ethernet11/2", + "Ethernet11/3", + "Ethernet11/4", + "Ethernet11/5", + "Ethernet11/6", + "Ethernet11/7", + "Ethernet11/8" + ] + } + }, + "Ethernet88": { + "index": "12,12,12,12,12,12,12,12", + "lanes": "177,178,179,180,181,182,183,184", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet12/1" + ], + "1x400G": [ + "Ethernet12/1" + ], + "2x400G": [ + "Ethernet12/1", + "Ethernet12/5" + ], + "4x200G": [ + "Ethernet12/1", + "Ethernet12/3", + "Ethernet12/5", + "Ethernet12/7" + ], + "8x100G": [ + "Ethernet12/1", + "Ethernet12/2", + "Ethernet12/3", + "Ethernet12/4", + "Ethernet12/5", + "Ethernet12/6", + "Ethernet12/7", + "Ethernet12/8" + ] + } + }, + "Ethernet96": { + "index": "13,13,13,13,13,13,13,13", + "lanes": "193,194,195,196,197,198,199,200", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet13/1" + ], + "1x400G": [ + "Ethernet13/1" + ], + "2x400G": [ + "Ethernet13/1", + "Ethernet13/5" + ], + "4x200G": [ + "Ethernet13/1", + "Ethernet13/3", + "Ethernet13/5", + "Ethernet13/7" + ], + "8x100G": [ + "Ethernet13/1", + "Ethernet13/2", + "Ethernet13/3", + "Ethernet13/4", + "Ethernet13/5", + "Ethernet13/6", + "Ethernet13/7", + "Ethernet13/8" + ] + } + }, + "Ethernet104": { + "index": "14,14,14,14,14,14,14,14", + "lanes": "209,210,211,212,213,214,215,216", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet14/1" + ], + "1x400G": [ + "Ethernet14/1" + ], + "2x400G": [ + "Ethernet14/1", + "Ethernet14/5" + ], + "4x200G": [ + "Ethernet14/1", + "Ethernet14/3", + "Ethernet14/5", + "Ethernet14/7" + ], + "8x100G": [ + "Ethernet14/1", + "Ethernet14/2", + "Ethernet14/3", + "Ethernet14/4", + "Ethernet14/5", + "Ethernet14/6", + "Ethernet14/7", + "Ethernet14/8" + ] + } + }, + "Ethernet112": { + "index": "15,15,15,15,15,15,15,15", + "lanes": "233,234,235,236,237,238,239,240", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet15/1" + ], + "1x400G": [ + "Ethernet15/1" + ], + "2x400G": [ + "Ethernet15/1", + "Ethernet15/5" + ], + "4x200G": [ + "Ethernet15/1", + "Ethernet15/3", + "Ethernet15/5", + "Ethernet15/7" + ], + "8x100G": [ + "Ethernet15/1", + "Ethernet15/2", + "Ethernet15/3", + "Ethernet15/4", + "Ethernet15/5", + "Ethernet15/6", + "Ethernet15/7", + "Ethernet15/8" + ] + } + }, + "Ethernet120": { + "index": "16,16,16,16,16,16,16,16", + "lanes": "249,250,251,252,253,254,255,256", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet16/1" + ], + "1x400G": [ + "Ethernet16/1" + ], + "2x400G": [ + "Ethernet16/1", + "Ethernet16/5" + ], + "4x200G": [ + "Ethernet16/1", + "Ethernet16/3", + "Ethernet16/5", + "Ethernet16/7" + ], + "8x100G": [ + "Ethernet16/1", + "Ethernet16/2", + "Ethernet16/3", + "Ethernet16/4", + "Ethernet16/5", + "Ethernet16/6", + "Ethernet16/7", + "Ethernet16/8" + ] + } + }, + "Ethernet128": { + "index": "17,17,17,17,17,17,17,17", + "lanes": "273,274,275,276,277,278,279,280", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet17/1" + ], + "1x400G": [ + "Ethernet17/1" + ], + "2x400G": [ + "Ethernet17/1", + "Ethernet17/5" + ], + "4x200G": [ + "Ethernet17/1", + "Ethernet17/3", + "Ethernet17/5", + "Ethernet17/7" + ], + "8x100G": [ + "Ethernet17/1", + "Ethernet17/2", + "Ethernet17/3", + "Ethernet17/4", + "Ethernet17/5", + "Ethernet17/6", + "Ethernet17/7", + "Ethernet17/8" + ] + } + }, + "Ethernet136": { + "index": "18,18,18,18,18,18,18,18", + "lanes": "257,258,259,260,261,262,263,264", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet18/1" + ], + "1x400G": [ + "Ethernet18/1" + ], + "2x400G": [ + "Ethernet18/1", + "Ethernet18/5" + ], + "4x200G": [ + "Ethernet18/1", + "Ethernet18/3", + "Ethernet18/5", + "Ethernet18/7" + ], + "8x100G": [ + "Ethernet18/1", + "Ethernet18/2", + "Ethernet18/3", + "Ethernet18/4", + "Ethernet18/5", + "Ethernet18/6", + "Ethernet18/7", + "Ethernet18/8" + ] + } + }, + "Ethernet144": { + "index": "19,19,19,19,19,19,19,19", + "lanes": "313,314,315,316,317,318,319,320", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet19/1" + ], + "1x400G": [ + "Ethernet19/1" + ], + "2x400G": [ + "Ethernet19/1", + "Ethernet19/5" + ], + "4x200G": [ + "Ethernet19/1", + "Ethernet19/3", + "Ethernet19/5", + "Ethernet19/7" + ], + "8x100G": [ + "Ethernet19/1", + "Ethernet19/2", + "Ethernet19/3", + "Ethernet19/4", + "Ethernet19/5", + "Ethernet19/6", + "Ethernet19/7", + "Ethernet19/8" + ] + } + }, + "Ethernet152": { + "index": "20,20,20,20,20,20,20,20", + "lanes": "297,298,299,300,301,302,303,304", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet20/1" + ], + "1x400G": [ + "Ethernet20/1" + ], + "2x400G": [ + "Ethernet20/1", + "Ethernet20/5" + ], + "4x200G": [ + "Ethernet20/1", + "Ethernet20/3", + "Ethernet20/5", + "Ethernet20/7" + ], + "8x100G": [ + "Ethernet20/1", + "Ethernet20/2", + "Ethernet20/3", + "Ethernet20/4", + "Ethernet20/5", + "Ethernet20/6", + "Ethernet20/7", + "Ethernet20/8" + ] + } + }, + "Ethernet160": { + "index": "21,21,21,21,21,21,21,21", + "lanes": "345,346,347,348,349,350,351,352", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet21/1" + ], + "1x400G": [ + "Ethernet21/1" + ], + "2x400G": [ + "Ethernet21/1", + "Ethernet21/5" + ], + "4x200G": [ + "Ethernet21/1", + "Ethernet21/3", + "Ethernet21/5", + "Ethernet21/7" + ], + "8x100G": [ + "Ethernet21/1", + "Ethernet21/2", + "Ethernet21/3", + "Ethernet21/4", + "Ethernet21/5", + "Ethernet21/6", + "Ethernet21/7", + "Ethernet21/8" + ] + } + }, + "Ethernet168": { + "index": "22,22,22,22,22,22,22,22", + "lanes": "329,330,331,332,333,334,335,336", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet22/1" + ], + "1x400G": [ + "Ethernet22/1" + ], + "2x400G": [ + "Ethernet22/1", + "Ethernet22/5" + ], + "4x200G": [ + "Ethernet22/1", + "Ethernet22/3", + "Ethernet22/5", + "Ethernet22/7" + ], + "8x100G": [ + "Ethernet22/1", + "Ethernet22/2", + "Ethernet22/3", + "Ethernet22/4", + "Ethernet22/5", + "Ethernet22/6", + "Ethernet22/7", + "Ethernet22/8" + ] + } + }, + "Ethernet176": { + "index": "23,23,23,23,23,23,23,23", + "lanes": "377,378,379,380,381,382,383,384", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet23/1" + ], + "1x400G": [ + "Ethernet23/1" + ], + "2x400G": [ + "Ethernet23/1", + "Ethernet23/5" + ], + "4x200G": [ + "Ethernet23/1", + "Ethernet23/3", + "Ethernet23/5", + "Ethernet23/7" + ], + "8x100G": [ + "Ethernet23/1", + "Ethernet23/2", + "Ethernet23/3", + "Ethernet23/4", + "Ethernet23/5", + "Ethernet23/6", + "Ethernet23/7", + "Ethernet23/8" + ] + } + }, + "Ethernet184": { + "index": "24,24,24,24,24,24,24,24", + "lanes": "361,362,363,364,365,366,367,368", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet24/1" + ], + "1x400G": [ + "Ethernet24/1" + ], + "2x400G": [ + "Ethernet24/1", + "Ethernet24/5" + ], + "4x200G": [ + "Ethernet24/1", + "Ethernet24/3", + "Ethernet24/5", + "Ethernet24/7" + ], + "8x100G": [ + "Ethernet24/1", + "Ethernet24/2", + "Ethernet24/3", + "Ethernet24/4", + "Ethernet24/5", + "Ethernet24/6", + "Ethernet24/7", + "Ethernet24/8" + ] + } + }, + "Ethernet192": { + "index": "25,25,25,25,25,25,25,25", + "lanes": "409,410,411,412,413,414,415,416", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet25/1" + ], + "1x400G": [ + "Ethernet25/1" + ], + "2x400G": [ + "Ethernet25/1", + "Ethernet25/5" + ], + "4x200G": [ + "Ethernet25/1", + "Ethernet25/3", + "Ethernet25/5", + "Ethernet25/7" + ], + "8x100G": [ + "Ethernet25/1", + "Ethernet25/2", + "Ethernet25/3", + "Ethernet25/4", + "Ethernet25/5", + "Ethernet25/6", + "Ethernet25/7", + "Ethernet25/8" + ] + } + }, + "Ethernet200": { + "index": "26,26,26,26,26,26,26,26", + "lanes": "393,394,395,396,397,398,399,400", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet26/1" + ], + "1x400G": [ + "Ethernet26/1" + ], + "2x400G": [ + "Ethernet26/1", + "Ethernet26/5" + ], + "4x200G": [ + "Ethernet26/1", + "Ethernet26/3", + "Ethernet26/5", + "Ethernet26/7" + ], + "8x100G": [ + "Ethernet26/1", + "Ethernet26/2", + "Ethernet26/3", + "Ethernet26/4", + "Ethernet26/5", + "Ethernet26/6", + "Ethernet26/7", + "Ethernet26/8" + ] + } + }, + "Ethernet208": { + "index": "27,27,27,27,27,27,27,27", + "lanes": "441,442,443,444,445,446,447,448", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet27/1" + ], + "1x400G": [ + "Ethernet27/1" + ], + "2x400G": [ + "Ethernet27/1", + "Ethernet27/5" + ], + "4x200G": [ + "Ethernet27/1", + "Ethernet27/3", + "Ethernet27/5", + "Ethernet27/7" + ], + "8x100G": [ + "Ethernet27/1", + "Ethernet27/2", + "Ethernet27/3", + "Ethernet27/4", + "Ethernet27/5", + "Ethernet27/6", + "Ethernet27/7", + "Ethernet27/8" + ] + } + }, + "Ethernet216": { + "index": "28,28,28,28,28,28,28,28", + "lanes": "425,426,427,428,429,430,431,432", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet28/1" + ], + "1x400G": [ + "Ethernet28/1" + ], + "2x400G": [ + "Ethernet28/1", + "Ethernet28/5" + ], + "4x200G": [ + "Ethernet28/1", + "Ethernet28/3", + "Ethernet28/5", + "Ethernet28/7" + ], + "8x100G": [ + "Ethernet28/1", + "Ethernet28/2", + "Ethernet28/3", + "Ethernet28/4", + "Ethernet28/5", + "Ethernet28/6", + "Ethernet28/7", + "Ethernet28/8" + ] + } + }, + "Ethernet224": { + "index": "29,29,29,29,29,29,29,29", + "lanes": "473,474,475,476,477,478,479,480", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet29/1" + ], + "1x400G": [ + "Ethernet29/1" + ], + "2x400G": [ + "Ethernet29/1", + "Ethernet29/5" + ], + "4x200G": [ + "Ethernet29/1", + "Ethernet29/3", + "Ethernet29/5", + "Ethernet29/7" + ], + "8x100G": [ + "Ethernet29/1", + "Ethernet29/2", + "Ethernet29/3", + "Ethernet29/4", + "Ethernet29/5", + "Ethernet29/6", + "Ethernet29/7", + "Ethernet29/8" + ] + } + }, + "Ethernet232": { + "index": "30,30,30,30,30,30,30,30", + "lanes": "457,458,459,460,461,462,463,464", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet30/1" + ], + "1x400G": [ + "Ethernet30/1" + ], + "2x400G": [ + "Ethernet30/1", + "Ethernet30/5" + ], + "4x200G": [ + "Ethernet30/1", + "Ethernet30/3", + "Ethernet30/5", + "Ethernet30/7" + ], + "8x100G": [ + "Ethernet30/1", + "Ethernet30/2", + "Ethernet30/3", + "Ethernet30/4", + "Ethernet30/5", + "Ethernet30/6", + "Ethernet30/7", + "Ethernet30/8" + ] + } + }, + "Ethernet240": { + "index": "31,31,31,31,31,31,31,31", + "lanes": "505,506,507,508,509,510,511,512", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet31/1" + ], + "1x400G": [ + "Ethernet31/1" + ], + "2x400G": [ + "Ethernet31/1", + "Ethernet31/5" + ], + "4x200G": [ + "Ethernet31/1", + "Ethernet31/3", + "Ethernet31/5", + "Ethernet31/7" + ], + "8x100G": [ + "Ethernet31/1", + "Ethernet31/2", + "Ethernet31/3", + "Ethernet31/4", + "Ethernet31/5", + "Ethernet31/6", + "Ethernet31/7", + "Ethernet31/8" + ] + } + }, + "Ethernet248": { + "index": "32,32,32,32,32,32,32,32", + "lanes": "489,490,491,492,493,494,495,496", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet32/1" + ], + "1x400G": [ + "Ethernet32/1" + ], + "2x400G": [ + "Ethernet32/1", + "Ethernet32/5" + ], + "4x200G": [ + "Ethernet32/1", + "Ethernet32/3", + "Ethernet32/5", + "Ethernet32/7" + ], + "8x100G": [ + "Ethernet32/1", + "Ethernet32/2", + "Ethernet32/3", + "Ethernet32/4", + "Ethernet32/5", + "Ethernet32/6", + "Ethernet32/7", + "Ethernet32/8" + ] + } + }, + "Ethernet256": { + "index": "33,33,33,33,33,33,33,33", + "lanes": "25,26,27,28,29,30,31,32", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet33/1" + ], + "1x400G": [ + "Ethernet33/1" + ], + "2x400G": [ + "Ethernet33/1", + "Ethernet33/5" + ], + "4x200G": [ + "Ethernet33/1", + "Ethernet33/3", + "Ethernet33/5", + "Ethernet33/7" + ], + "8x100G": [ + "Ethernet33/1", + "Ethernet33/2", + "Ethernet33/3", + "Ethernet33/4", + "Ethernet33/5", + "Ethernet33/6", + "Ethernet33/7", + "Ethernet33/8" + ] + } + }, + "Ethernet264": { + "index": "34,34,34,34,34,34,34,34", + "lanes": "9,10,11,12,13,14,15,16", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet34/1" + ], + "1x400G": [ + "Ethernet34/1" + ], + "2x400G": [ + "Ethernet34/1", + "Ethernet34/5" + ], + "4x200G": [ + "Ethernet34/1", + "Ethernet34/3", + "Ethernet34/5", + "Ethernet34/7" + ], + "8x100G": [ + "Ethernet34/1", + "Ethernet34/2", + "Ethernet34/3", + "Ethernet34/4", + "Ethernet34/5", + "Ethernet34/6", + "Ethernet34/7", + "Ethernet34/8" + ] + } + }, + "Ethernet272": { + "index": "35,35,35,35,35,35,35,35", + "lanes": "57,58,59,60,61,62,63,64", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet35/1" + ], + "1x400G": [ + "Ethernet35/1" + ], + "2x400G": [ + "Ethernet35/1", + "Ethernet35/5" + ], + "4x200G": [ + "Ethernet35/1", + "Ethernet35/3", + "Ethernet35/5", + "Ethernet35/7" + ], + "8x100G": [ + "Ethernet35/1", + "Ethernet35/2", + "Ethernet35/3", + "Ethernet35/4", + "Ethernet35/5", + "Ethernet35/6", + "Ethernet35/7", + "Ethernet35/8" + ] + } + }, + "Ethernet280": { + "index": "36,36,36,36,36,36,36,36", + "lanes": "41,42,43,44,45,46,47,48", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet36/1" + ], + "1x400G": [ + "Ethernet36/1" + ], + "2x400G": [ + "Ethernet36/1", + "Ethernet36/5" + ], + "4x200G": [ + "Ethernet36/1", + "Ethernet36/3", + "Ethernet36/5", + "Ethernet36/7" + ], + "8x100G": [ + "Ethernet36/1", + "Ethernet36/2", + "Ethernet36/3", + "Ethernet36/4", + "Ethernet36/5", + "Ethernet36/6", + "Ethernet36/7", + "Ethernet36/8" + ] + } + }, + "Ethernet288": { + "index": "37,37,37,37,37,37,37,37", + "lanes": "89,90,91,92,93,94,95,96", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet37/1" + ], + "1x400G": [ + "Ethernet37/1" + ], + "2x400G": [ + "Ethernet37/1", + "Ethernet37/5" + ], + "4x200G": [ + "Ethernet37/1", + "Ethernet37/3", + "Ethernet37/5", + "Ethernet37/7" + ], + "8x100G": [ + "Ethernet37/1", + "Ethernet37/2", + "Ethernet37/3", + "Ethernet37/4", + "Ethernet37/5", + "Ethernet37/6", + "Ethernet37/7", + "Ethernet37/8" + ] + } + }, + "Ethernet296": { + "index": "38,38,38,38,38,38,38,38", + "lanes": "73,74,75,76,77,78,79,80", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet38/1" + ], + "1x400G": [ + "Ethernet38/1" + ], + "2x400G": [ + "Ethernet38/1", + "Ethernet38/5" + ], + "4x200G": [ + "Ethernet38/1", + "Ethernet38/3", + "Ethernet38/5", + "Ethernet38/7" + ], + "8x100G": [ + "Ethernet38/1", + "Ethernet38/2", + "Ethernet38/3", + "Ethernet38/4", + "Ethernet38/5", + "Ethernet38/6", + "Ethernet38/7", + "Ethernet38/8" + ] + } + }, + "Ethernet304": { + "index": "39,39,39,39,39,39,39,39", + "lanes": "121,122,123,124,125,126,127,128", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet39/1" + ], + "1x400G": [ + "Ethernet39/1" + ], + "2x400G": [ + "Ethernet39/1", + "Ethernet39/5" + ], + "4x200G": [ + "Ethernet39/1", + "Ethernet39/3", + "Ethernet39/5", + "Ethernet39/7" + ], + "8x100G": [ + "Ethernet39/1", + "Ethernet39/2", + "Ethernet39/3", + "Ethernet39/4", + "Ethernet39/5", + "Ethernet39/6", + "Ethernet39/7", + "Ethernet39/8" + ] + } + }, + "Ethernet312": { + "index": "40,40,40,40,40,40,40,40", + "lanes": "105,106,107,108,109,110,111,112", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet40/1" + ], + "1x400G": [ + "Ethernet40/1" + ], + "2x400G": [ + "Ethernet40/1", + "Ethernet40/5" + ], + "4x200G": [ + "Ethernet40/1", + "Ethernet40/3", + "Ethernet40/5", + "Ethernet40/7" + ], + "8x100G": [ + "Ethernet40/1", + "Ethernet40/2", + "Ethernet40/3", + "Ethernet40/4", + "Ethernet40/5", + "Ethernet40/6", + "Ethernet40/7", + "Ethernet40/8" + ] + } + }, + "Ethernet320": { + "index": "41,41,41,41,41,41,41,41", + "lanes": "153,154,155,156,157,158,159,160", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet41/1" + ], + "1x400G": [ + "Ethernet41/1" + ], + "2x400G": [ + "Ethernet41/1", + "Ethernet41/5" + ], + "4x200G": [ + "Ethernet41/1", + "Ethernet41/3", + "Ethernet41/5", + "Ethernet41/7" + ], + "8x100G": [ + "Ethernet41/1", + "Ethernet41/2", + "Ethernet41/3", + "Ethernet41/4", + "Ethernet41/5", + "Ethernet41/6", + "Ethernet41/7", + "Ethernet41/8" + ] + } + }, + "Ethernet328": { + "index": "42,42,42,42,42,42,42,42", + "lanes": "137,138,139,140,141,142,143,144", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet42/1" + ], + "1x400G": [ + "Ethernet42/1" + ], + "2x400G": [ + "Ethernet42/1", + "Ethernet42/5" + ], + "4x200G": [ + "Ethernet42/1", + "Ethernet42/3", + "Ethernet42/5", + "Ethernet42/7" + ], + "8x100G": [ + "Ethernet42/1", + "Ethernet42/2", + "Ethernet42/3", + "Ethernet42/4", + "Ethernet42/5", + "Ethernet42/6", + "Ethernet42/7", + "Ethernet42/8" + ] + } + }, + "Ethernet336": { + "index": "43,43,43,43,43,43,43,43", + "lanes": "185,186,187,188,189,190,191,192", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet43/1" + ], + "1x400G": [ + "Ethernet43/1" + ], + "2x400G": [ + "Ethernet43/1", + "Ethernet43/5" + ], + "4x200G": [ + "Ethernet43/1", + "Ethernet43/3", + "Ethernet43/5", + "Ethernet43/7" + ], + "8x100G": [ + "Ethernet43/1", + "Ethernet43/2", + "Ethernet43/3", + "Ethernet43/4", + "Ethernet43/5", + "Ethernet43/6", + "Ethernet43/7", + "Ethernet43/8" + ] + } + }, + "Ethernet344": { + "index": "44,44,44,44,44,44,44,44", + "lanes": "169,170,171,172,173,174,175,176", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet44/1" + ], + "1x400G": [ + "Ethernet44/1" + ], + "2x400G": [ + "Ethernet44/1", + "Ethernet44/5" + ], + "4x200G": [ + "Ethernet44/1", + "Ethernet44/3", + "Ethernet44/5", + "Ethernet44/7" + ], + "8x100G": [ + "Ethernet44/1", + "Ethernet44/2", + "Ethernet44/3", + "Ethernet44/4", + "Ethernet44/5", + "Ethernet44/6", + "Ethernet44/7", + "Ethernet44/8" + ] + } + }, + "Ethernet352": { + "index": "45,45,45,45,45,45,45,45", + "lanes": "217,218,219,220,221,222,223,224", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet45/1" + ], + "1x400G": [ + "Ethernet45/1" + ], + "2x400G": [ + "Ethernet45/1", + "Ethernet45/5" + ], + "4x200G": [ + "Ethernet45/1", + "Ethernet45/3", + "Ethernet45/5", + "Ethernet45/7" + ], + "8x100G": [ + "Ethernet45/1", + "Ethernet45/2", + "Ethernet45/3", + "Ethernet45/4", + "Ethernet45/5", + "Ethernet45/6", + "Ethernet45/7", + "Ethernet45/8" + ] + } + }, + "Ethernet360": { + "index": "46,46,46,46,46,46,46,46", + "lanes": "201,202,203,204,205,206,207,208", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet46/1" + ], + "1x400G": [ + "Ethernet46/1" + ], + "2x400G": [ + "Ethernet46/1", + "Ethernet46/5" + ], + "4x200G": [ + "Ethernet46/1", + "Ethernet46/3", + "Ethernet46/5", + "Ethernet46/7" + ], + "8x100G": [ + "Ethernet46/1", + "Ethernet46/2", + "Ethernet46/3", + "Ethernet46/4", + "Ethernet46/5", + "Ethernet46/6", + "Ethernet46/7", + "Ethernet46/8" + ] + } + }, + "Ethernet368": { + "index": "47,47,47,47,47,47,47,47", + "lanes": "241,242,243,244,245,246,247,248", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet47/1" + ], + "1x400G": [ + "Ethernet47/1" + ], + "2x400G": [ + "Ethernet47/1", + "Ethernet47/5" + ], + "4x200G": [ + "Ethernet47/1", + "Ethernet47/3", + "Ethernet47/5", + "Ethernet47/7" + ], + "8x100G": [ + "Ethernet47/1", + "Ethernet47/2", + "Ethernet47/3", + "Ethernet47/4", + "Ethernet47/5", + "Ethernet47/6", + "Ethernet47/7", + "Ethernet47/8" + ] + } + }, + "Ethernet376": { + "index": "48,48,48,48,48,48,48,48", + "lanes": "225,226,227,228,229,230,231,232", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet48/1" + ], + "1x400G": [ + "Ethernet48/1" + ], + "2x400G": [ + "Ethernet48/1", + "Ethernet48/5" + ], + "4x200G": [ + "Ethernet48/1", + "Ethernet48/3", + "Ethernet48/5", + "Ethernet48/7" + ], + "8x100G": [ + "Ethernet48/1", + "Ethernet48/2", + "Ethernet48/3", + "Ethernet48/4", + "Ethernet48/5", + "Ethernet48/6", + "Ethernet48/7", + "Ethernet48/8" + ] + } + }, + "Ethernet384": { + "index": "49,49,49,49,49,49,49,49", + "lanes": "265,266,267,268,269,270,271,272", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet49/1" + ], + "1x400G": [ + "Ethernet49/1" + ], + "2x400G": [ + "Ethernet49/1", + "Ethernet49/5" + ], + "4x200G": [ + "Ethernet49/1", + "Ethernet49/3", + "Ethernet49/5", + "Ethernet49/7" + ], + "8x100G": [ + "Ethernet49/1", + "Ethernet49/2", + "Ethernet49/3", + "Ethernet49/4", + "Ethernet49/5", + "Ethernet49/6", + "Ethernet49/7", + "Ethernet49/8" + ] + } + }, + "Ethernet392": { + "index": "50,50,50,50,50,50,50,50", + "lanes": "281,282,283,284,285,286,287,288", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet50/1" + ], + "1x400G": [ + "Ethernet50/1" + ], + "2x400G": [ + "Ethernet50/1", + "Ethernet50/5" + ], + "4x200G": [ + "Ethernet50/1", + "Ethernet50/3", + "Ethernet50/5", + "Ethernet50/7" + ], + "8x100G": [ + "Ethernet50/1", + "Ethernet50/2", + "Ethernet50/3", + "Ethernet50/4", + "Ethernet50/5", + "Ethernet50/6", + "Ethernet50/7", + "Ethernet50/8" + ] + } + }, + "Ethernet400": { + "index": "51,51,51,51,51,51,51,51", + "lanes": "289,290,291,292,293,294,295,296", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet51/1" + ], + "1x400G": [ + "Ethernet51/1" + ], + "2x400G": [ + "Ethernet51/1", + "Ethernet51/5" + ], + "4x200G": [ + "Ethernet51/1", + "Ethernet51/3", + "Ethernet51/5", + "Ethernet51/7" + ], + "8x100G": [ + "Ethernet51/1", + "Ethernet51/2", + "Ethernet51/3", + "Ethernet51/4", + "Ethernet51/5", + "Ethernet51/6", + "Ethernet51/7", + "Ethernet51/8" + ] + } + }, + "Ethernet408": { + "index": "52,52,52,52,52,52,52,52", + "lanes": "305,306,307,308,309,310,311,312", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet52/1" + ], + "1x400G": [ + "Ethernet52/1" + ], + "2x400G": [ + "Ethernet52/1", + "Ethernet52/5" + ], + "4x200G": [ + "Ethernet52/1", + "Ethernet52/3", + "Ethernet52/5", + "Ethernet52/7" + ], + "8x100G": [ + "Ethernet52/1", + "Ethernet52/2", + "Ethernet52/3", + "Ethernet52/4", + "Ethernet52/5", + "Ethernet52/6", + "Ethernet52/7", + "Ethernet52/8" + ] + } + }, + "Ethernet416": { + "index": "53,53,53,53,53,53,53,53", + "lanes": "321,322,323,324,325,326,327,328", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet53/1" + ], + "1x400G": [ + "Ethernet53/1" + ], + "2x400G": [ + "Ethernet53/1", + "Ethernet53/5" + ], + "4x200G": [ + "Ethernet53/1", + "Ethernet53/3", + "Ethernet53/5", + "Ethernet53/7" + ], + "8x100G": [ + "Ethernet53/1", + "Ethernet53/2", + "Ethernet53/3", + "Ethernet53/4", + "Ethernet53/5", + "Ethernet53/6", + "Ethernet53/7", + "Ethernet53/8" + ] + } + }, + "Ethernet424": { + "index": "54,54,54,54,54,54,54,54", + "lanes": "337,338,339,340,341,342,343,344", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet54/1" + ], + "1x400G": [ + "Ethernet54/1" + ], + "2x400G": [ + "Ethernet54/1", + "Ethernet54/5" + ], + "4x200G": [ + "Ethernet54/1", + "Ethernet54/3", + "Ethernet54/5", + "Ethernet54/7" + ], + "8x100G": [ + "Ethernet54/1", + "Ethernet54/2", + "Ethernet54/3", + "Ethernet54/4", + "Ethernet54/5", + "Ethernet54/6", + "Ethernet54/7", + "Ethernet54/8" + ] + } + }, + "Ethernet432": { + "index": "55,55,55,55,55,55,55,55", + "lanes": "353,354,355,356,357,358,359,360", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet55/1" + ], + "1x400G": [ + "Ethernet55/1" + ], + "2x400G": [ + "Ethernet55/1", + "Ethernet55/5" + ], + "4x200G": [ + "Ethernet55/1", + "Ethernet55/3", + "Ethernet55/5", + "Ethernet55/7" + ], + "8x100G": [ + "Ethernet55/1", + "Ethernet55/2", + "Ethernet55/3", + "Ethernet55/4", + "Ethernet55/5", + "Ethernet55/6", + "Ethernet55/7", + "Ethernet55/8" + ] + } + }, + "Ethernet440": { + "index": "56,56,56,56,56,56,56,56", + "lanes": "369,370,371,372,373,374,375,376", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet56/1" + ], + "1x400G": [ + "Ethernet56/1" + ], + "2x400G": [ + "Ethernet56/1", + "Ethernet56/5" + ], + "4x200G": [ + "Ethernet56/1", + "Ethernet56/3", + "Ethernet56/5", + "Ethernet56/7" + ], + "8x100G": [ + "Ethernet56/1", + "Ethernet56/2", + "Ethernet56/3", + "Ethernet56/4", + "Ethernet56/5", + "Ethernet56/6", + "Ethernet56/7", + "Ethernet56/8" + ] + } + }, + "Ethernet448": { + "index": "57,57,57,57,57,57,57,57", + "lanes": "385,386,387,388,389,390,391,392", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet57/1" + ], + "1x400G": [ + "Ethernet57/1" + ], + "2x400G": [ + "Ethernet57/1", + "Ethernet57/5" + ], + "4x200G": [ + "Ethernet57/1", + "Ethernet57/3", + "Ethernet57/5", + "Ethernet57/7" + ], + "8x100G": [ + "Ethernet57/1", + "Ethernet57/2", + "Ethernet57/3", + "Ethernet57/4", + "Ethernet57/5", + "Ethernet57/6", + "Ethernet57/7", + "Ethernet57/8" + ] + } + }, + "Ethernet456": { + "index": "58,58,58,58,58,58,58,58", + "lanes": "401,402,403,404,405,406,407,408", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet58/1" + ], + "1x400G": [ + "Ethernet58/1" + ], + "2x400G": [ + "Ethernet58/1", + "Ethernet58/5" + ], + "4x200G": [ + "Ethernet58/1", + "Ethernet58/3", + "Ethernet58/5", + "Ethernet58/7" + ], + "8x100G": [ + "Ethernet58/1", + "Ethernet58/2", + "Ethernet58/3", + "Ethernet58/4", + "Ethernet58/5", + "Ethernet58/6", + "Ethernet58/7", + "Ethernet58/8" + ] + } + }, + "Ethernet464": { + "index": "59,59,59,59,59,59,59,59", + "lanes": "417,418,419,420,421,422,423,424", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet59/1" + ], + "1x400G": [ + "Ethernet59/1" + ], + "2x400G": [ + "Ethernet59/1", + "Ethernet59/5" + ], + "4x200G": [ + "Ethernet59/1", + "Ethernet59/3", + "Ethernet59/5", + "Ethernet59/7" + ], + "8x100G": [ + "Ethernet59/1", + "Ethernet59/2", + "Ethernet59/3", + "Ethernet59/4", + "Ethernet59/5", + "Ethernet59/6", + "Ethernet59/7", + "Ethernet59/8" + ] + } + }, + "Ethernet472": { + "index": "60,60,60,60,60,60,60,60", + "lanes": "433,434,435,436,437,438,439,440", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet60/1" + ], + "1x400G": [ + "Ethernet60/1" + ], + "2x400G": [ + "Ethernet60/1", + "Ethernet60/5" + ], + "4x200G": [ + "Ethernet60/1", + "Ethernet60/3", + "Ethernet60/5", + "Ethernet60/7" + ], + "8x100G": [ + "Ethernet60/1", + "Ethernet60/2", + "Ethernet60/3", + "Ethernet60/4", + "Ethernet60/5", + "Ethernet60/6", + "Ethernet60/7", + "Ethernet60/8" + ] + } + }, + "Ethernet480": { + "index": "61,61,61,61,61,61,61,61", + "lanes": "449,450,451,452,453,454,455,456", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet61/1" + ], + "1x400G": [ + "Ethernet61/1" + ], + "2x400G": [ + "Ethernet61/1", + "Ethernet61/5" + ], + "4x200G": [ + "Ethernet61/1", + "Ethernet61/3", + "Ethernet61/5", + "Ethernet61/7" + ], + "8x100G": [ + "Ethernet61/1", + "Ethernet61/2", + "Ethernet61/3", + "Ethernet61/4", + "Ethernet61/5", + "Ethernet61/6", + "Ethernet61/7", + "Ethernet61/8" + ] + } + }, + "Ethernet488": { + "index": "62,62,62,62,62,62,62,62", + "lanes": "465,466,467,468,469,470,471,472", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet62/1" + ], + "1x400G": [ + "Ethernet62/1" + ], + "2x400G": [ + "Ethernet62/1", + "Ethernet62/5" + ], + "4x200G": [ + "Ethernet62/1", + "Ethernet62/3", + "Ethernet62/5", + "Ethernet62/7" + ], + "8x100G": [ + "Ethernet62/1", + "Ethernet62/2", + "Ethernet62/3", + "Ethernet62/4", + "Ethernet62/5", + "Ethernet62/6", + "Ethernet62/7", + "Ethernet62/8" + ] + } + }, + "Ethernet496": { + "index": "63,63,63,63,63,63,63,63", + "lanes": "481,482,483,484,485,486,487,488", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet63/1" + ], + "1x400G": [ + "Ethernet63/1" + ], + "2x400G": [ + "Ethernet63/1", + "Ethernet63/5" + ], + "4x200G": [ + "Ethernet63/1", + "Ethernet63/3", + "Ethernet63/5", + "Ethernet63/7" + ], + "8x100G": [ + "Ethernet63/1", + "Ethernet63/2", + "Ethernet63/3", + "Ethernet63/4", + "Ethernet63/5", + "Ethernet63/6", + "Ethernet63/7", + "Ethernet63/8" + ] + } + }, + "Ethernet504": { + "index": "64,64,64,64,64,64,64,64", + "lanes": "497,498,499,500,501,502,503,504", + "breakout_modes": { + "1x800G[400G]": [ + "Ethernet64/1" + ], + "1x400G": [ + "Ethernet64/1" + ], + "2x400G": [ + "Ethernet64/1", + "Ethernet64/5" + ], + "4x200G": [ + "Ethernet64/1", + "Ethernet64/3", + "Ethernet64/5", + "Ethernet64/7" + ], + "8x100G": [ + "Ethernet64/1", + "Ethernet64/2", + "Ethernet64/3", + "Ethernet64/4", + "Ethernet64/5", + "Ethernet64/6", + "Ethernet64/7", + "Ethernet64/8" + ] + } + }, + "Ethernet512": { + "index": "65", + "lanes": "515", + "breakout_modes": { + "1x10G": [ + "Ethernet65" + ] + } + }, + "Ethernet513": { + "index": "66", + "lanes": "516", + "breakout_modes": { + "1x10G": [ + "Ethernet66" + ] + } + } + }, "asic_sensors": { "poll_interval": "10", "poll_admin_status": "enable" diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform_env.conf b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform_env.conf new file mode 100644 index 000000000000..b4f7155e6b1d --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform_env.conf @@ -0,0 +1,3 @@ +SYNCD_SHM_SIZE=512m +is_ltsw_chip=1 + diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform_reboot b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform_reboot new file mode 100755 index 000000000000..836a11ed835f --- /dev/null +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/platform_reboot @@ -0,0 +1,12 @@ +#!/bin/bash + +dd=$(date "+%y%m%d%H%M%S") +i2cset -y 0 0x68 0x03 0x${dd:10:2} +i2cset -y 0 0x68 0x04 0x${dd:8:2} +i2cset -y 0 0x68 0x05 0x${dd:6:2} +i2cset -y 0 0x68 0x06 0x${dd:4:2} +i2cset -y 0 0x68 0x08 0x${dd:2:2} +i2cset -y 0 0x68 0x09 0x${dd:0:2} +i2cset -y 0 0x68 0x0F 0x38 + +exec /sbin/reboot diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/eeprom.py b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/eeprom.py index 12a1bbe5d2aa..7b357e673e96 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/eeprom.py +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/eeprom.py @@ -8,9 +8,9 @@ class board(eeprom_tlvinfo.TlvInfoDecoder): def __init__(self, name, path, cpld_root, ro): - self.eeprom_path = "/sys/class/i2c-adapter/i2c-0/0-0053/eeprom" + self.eeprom_path = "/sys/bus/i2c/devices/4-0054/eeprom" if not os.path.exists(self.eeprom_path): - file = "/sys/class/i2c-adapter/i2c-0/new_device" + file = "/sys/bus/i2c/devices/i2c-4/new_device" with open(file, 'w') as f: - f.write('24c02 0x53\n') + f.write('24c02 0x54\n') super(board, self).__init__(self.eeprom_path, 0, '', True) diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/led_control.py b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/led_control.py index eb1dbeb347a0..234e0d691ea4 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/led_control.py +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/plugins/led_control.py @@ -1,33 +1,29 @@ -# -# led_control.py -# -# Platform-specific LED control functionality for SONiC -# +""" + led_control.py + + Platform-specific LED control functionality for SONiC +""" try: from sonic_led.led_control_base import LedControlBase import os import time import syslog - import struct from mmap import * import sonic_platform.platform import sonic_platform.chassis except ImportError as e: raise ImportError(str(e) + " - required module not found") -H5_64D_FAN_DRAWERS = 4 -H5_64D_FANS_PER_DRAWER = 2 -RESOURCE = "/sys/bus/pci/devices/0000:02:00.0/resource0" -REG_FRONT_SYSLED = 0x0084 -REG_FRONT_FANLED = 0x0088 +FAN_DRAWERS = 4 +FANS_PER_DRAWER = 2 +FPGA_DIR = "/sys/kernel/sys_fpga/" def DBG_PRINT(str): syslog.openlog("nokia-led") syslog.syslog(syslog.LOG_INFO, str) syslog.closelog() - class LedControl(LedControlBase): """Platform specific LED control class""" @@ -53,6 +49,7 @@ def _read_sysfs_file(self, sysfs_file): try: with open(sysfs_file, 'r') as fd: rv = fd.read() + fd.close() except Exception as e: rv = 'ERR' @@ -69,37 +66,24 @@ def _write_sysfs_file(self, sysfs_file, value): return rv try: with open(sysfs_file, 'w') as fd: - rv = fd.write(str(value)) + rv = fd.write(value) + fd.close() except Exception as e: rv = 'ERR' return rv - def _pci_set_value(self, resource, data, offset): - fd = open(resource, O_RDWR) - mm = mmap(fd, 0) - mm.seek(offset) - mm.write(struct.pack('I', data)) - mm.close() - close(fd) - - def _pci_get_value(self, resource, offset): - fd = open(resource, O_RDWR) - mm = mmap(fd, 0) - mm.seek(offset) - read_data_stream = mm.read(4) - reg_val = struct.unpack('I', read_data_stream) - mm.close() - close(fd) - return reg_val - def _initSystemLed(self): # Front Panel System LEDs setting oldfan = 0xf # 0=amber, 1=green oldpsu = 0xf # 0=amber, 1=green # Write sys led - self._pci_set_value(RESOURCE, 1, REG_FRONT_SYSLED) + status = self._write_sysfs_file(FPGA_DIR + 'led_sys', "3") + if status == "ERR": + DBG_PRINT(" System LED NOT set correctly") + else: + DBG_PRINT(" System LED set O.K. ") # Timer loop to monitor and set front panel Status, Fan, and PSU LEDs while True: @@ -109,16 +93,20 @@ def _initSystemLed(self): if fan.get_status() == True: good_fan = good_fan + 1 - if (good_fan == H5_64D_FAN_DRAWERS * H5_64D_FANS_PER_DRAWER): - if oldfan != 0x1: - self._pci_set_value(RESOURCE, 1, REG_FRONT_FANLED) - oldfan = 0x1 - - else: - if oldfan != 0x0: - self._pci_set_value(RESOURCE, 0, REG_FRONT_FANLED) - oldfan = 0x0 - + if (good_fan == FAN_DRAWERS * FANS_PER_DRAWER): + if (os.path.isfile(FPGA_DIR + "led_fan")): + if oldfan != 0x1: + self._write_sysfs_file(FPGA_DIR + "led_fan", "1") + oldfan = 0x1 + else: + oldfan = 0xf + else: + if (os.path.isfile(FPGA_DIR + "led_fan")): + if oldfan != 0x0: + self._write_sysfs_file(FPGA_DIR + "led_fan", "2") + oldfan = 0x0 + else: + oldfan = 0xf time.sleep(6) diff --git a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/thermal_policy.json b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/thermal_policy.json index 667d82dac0a3..1d0926914f87 100644 --- a/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/thermal_policy.json +++ b/device/nokia/x86_64-nokia_ixr7220_h5_64d-r0/thermal_policy.json @@ -1,7 +1,7 @@ { "thermal_control_algorithm": { "run_at_boot_up": "false", - "fan_speed_when_suspend": "65" + "fan_speed_when_suspend": "60" }, "info_types": [ { @@ -29,7 +29,7 @@ }, { "type": "fan.all.set_speed", - "speed": "100" + "speed": "90" } ] }, @@ -43,10 +43,10 @@ "actions": [ { "type": "thermal.temp_check_and_set_all_fan_speed", - "default_speed": "40", - "threshold1_speed": "55", - "threshold2_speed": "80", - "hightemp_speed": "100" + "default_speed": "45", + "threshold1_speed": "60", + "threshold2_speed": "70", + "hightemp_speed": "90" } ] }, diff --git a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/0/jr2cp-nokia-18x100g-4x25g-config.bcm b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/0/jr2cp-nokia-18x100g-4x25g-config.bcm index 010367478088..b746a19540a7 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/0/jr2cp-nokia-18x100g-4x25g-config.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/0/jr2cp-nokia-18x100g-4x25g-config.bcm @@ -1477,6 +1477,7 @@ protocol_traps_mode.BCM8885X=IN_LIF rate_ext_mdio_divisor=16 schan_intr_enable.BCM8885X=0 schan_timeout_usec.BCM8885X=900000 +system_ref_core_clock_khz.BCM8885X=1600000 serdes_fabric_clk_freq_in.BCM8885X=1 serdes_fabric_clk_freq_out.BCM8885X=bypass serdes_nif_clk_freq_in0.BCM8885X=1 diff --git a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/1/jr2cp-nokia-18x100g-4x25g-config.bcm b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/1/jr2cp-nokia-18x100g-4x25g-config.bcm index 034b80def8ed..81e490410c8f 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/1/jr2cp-nokia-18x100g-4x25g-config.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x100G/1/jr2cp-nokia-18x100g-4x25g-config.bcm @@ -1496,6 +1496,7 @@ protocol_traps_mode.BCM8885X=IN_LIF rate_ext_mdio_divisor=16 schan_intr_enable.BCM8885X=0 schan_timeout_usec.BCM8885X=900000 +system_ref_core_clock_khz.BCM8885X=1600000 serdes_fabric_clk_freq_in.BCM8885X=1 serdes_fabric_clk_freq_out.BCM8885X=bypass serdes_nif_clk_freq_in0.BCM8885X=1 diff --git a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/0/jr2cp-nokia-18x400g-config.bcm b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/0/jr2cp-nokia-18x400g-config.bcm index 2c241bcfff4a..da3a5a7c17a0 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/0/jr2cp-nokia-18x400g-config.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/0/jr2cp-nokia-18x400g-config.bcm @@ -1497,6 +1497,7 @@ protocol_traps_mode.BCM8885X=IN_LIF rate_ext_mdio_divisor=16 schan_intr_enable.BCM8885X=0 schan_timeout_usec.BCM8885X=900000 +system_ref_core_clock_khz.BCM8885X=1600000 serdes_fabric_clk_freq_in.BCM8885X=1 serdes_fabric_clk_freq_out.BCM8885X=bypass serdes_nif_clk_freq_in0.BCM8885X=1 diff --git a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/1/jr2cp-nokia-18x400g-config.bcm b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/1/jr2cp-nokia-18x400g-config.bcm index 1ec4a9074523..2a3743d1f806 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/1/jr2cp-nokia-18x400g-config.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_36x400g-r0/Nokia-IXR7250E-36x400G/1/jr2cp-nokia-18x400g-config.bcm @@ -1497,6 +1497,7 @@ protocol_traps_mode.BCM8885X=IN_LIF rate_ext_mdio_divisor=16 schan_intr_enable.BCM8885X=0 schan_timeout_usec.BCM8885X=900000 +system_ref_core_clock_khz.BCM8885X=1600000 serdes_fabric_clk_freq_in.BCM8885X=1 serdes_fabric_clk_freq_out.BCM8885X=bypass serdes_nif_clk_freq_in0.BCM8885X=1 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/0/config-ramon-1-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/0/config-ramon-1-0.bcm index c9036f36c9ec..8e920732bd1f 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/0/config-ramon-1-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/0/config-ramon-1-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/1/config-ramon-1-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/1/config-ramon-1-1.bcm index 8c0517292d4a..2768b97881b9 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/1/config-ramon-1-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/1/config-ramon-1-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/10/config-ramon-6-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/10/config-ramon-6-0.bcm index dc5a99c09533..f4744e6b7367 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/10/config-ramon-6-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/10/config-ramon-6-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/11/config-ramon-6-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/11/config-ramon-6-1.bcm index 12f59db6b93d..4529e2a14558 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/11/config-ramon-6-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/11/config-ramon-6-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/12/config-ramon-7-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/12/config-ramon-7-0.bcm index e7769dbe80af..a5ee6b4bf501 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/12/config-ramon-7-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/12/config-ramon-7-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/13/config-ramon-7-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/13/config-ramon-7-1.bcm index 276b576485a6..160f2e3b7bc4 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/13/config-ramon-7-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/13/config-ramon-7-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/14/config-ramon-8-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/14/config-ramon-8-0.bcm index bd35d4a44eac..4537abd251c7 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/14/config-ramon-8-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/14/config-ramon-8-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/15/config-ramon-8-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/15/config-ramon-8-1.bcm index 140d21415fff..0bd17ca6aa05 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/15/config-ramon-8-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/15/config-ramon-8-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/2/config-ramon-2-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/2/config-ramon-2-0.bcm index fbcfc7a8ed07..036df9461019 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/2/config-ramon-2-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/2/config-ramon-2-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/3/config-ramon-2-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/3/config-ramon-2-1.bcm index 8c485dffa120..845d90483662 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/3/config-ramon-2-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/3/config-ramon-2-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/4/config-ramon-3-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/4/config-ramon-3-0.bcm index 7d73ac75aeec..89cdab2df45f 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/4/config-ramon-3-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/4/config-ramon-3-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/5/config-ramon-3-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/5/config-ramon-3-1.bcm index 95d9b4117409..f6ec2ab3f6de 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/5/config-ramon-3-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/5/config-ramon-3-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/6/config-ramon-4-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/6/config-ramon-4-0.bcm index ddbe158e4d5c..88c6f6a6a4aa 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/6/config-ramon-4-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/6/config-ramon-4-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/7/config-ramon-4-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/7/config-ramon-4-1.bcm index 26595b410621..457e1da59c8a 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/7/config-ramon-4-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/7/config-ramon-4-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/8/config-ramon-5-0.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/8/config-ramon-5-0.bcm index a845cc4cb0f1..8e2914602614 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/8/config-ramon-5-0.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/8/config-ramon-5-0.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/9/config-ramon-5-1.bcm b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/9/config-ramon-5-1.bcm index 953da5cc9245..42d0d1f2a302 100644 --- a/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/9/config-ramon-5-1.bcm +++ b/device/nokia/x86_64-nokia_ixr7250e_sup-r0/Nokia-IXR7250E-SUP-10/9/config-ramon-5-1.bcm @@ -36,7 +36,7 @@ serdes_fabric_clk_freq_out.BCM8879X=bypass soc_family.BCM8879X=BCM8879X srd_tx_drv_hv_disable.BCM8879X=0 system_contains_multiple_pipe_device.BCM8879X=0 -system_ref_core_clock_khz.BCM8879X=1200000 +system_ref_core_clock_khz.BCM8879X=1600000 table_dma_enable.BCM8879X=0 tdma_intr_enable.BCM8879X=0 tdma_timeout_usec.BCM8879X=5000000 diff --git a/dockers/docker-fpm-frr/base_image_files/prefix_list b/dockers/docker-fpm-frr/base_image_files/prefix_list new file mode 100755 index 000000000000..a3d09f140f27 --- /dev/null +++ b/dockers/docker-fpm-frr/base_image_files/prefix_list @@ -0,0 +1,178 @@ +#!/bin/bash + +# Function to display help message +display_help() { + echo "Usage: sudo prefix-list " + echo "" + echo "Commands:" + echo " add Add a prefix with prefix type and network." + echo " Requires: , ." + echo "" + echo " remove Remove a prefix with prefix type and network." + echo " Requires: , ." + echo "" + echo " status Display current prefix lists." + echo " No additional parameters required." + echo "" + echo "Arguments:" + echo " Type of prefix list. Allowed values: {$(printf "%s" "${supported_prefix_types[*]}" | tr ' ' '|')}." + echo " Network in CIDR format." + echo "" + echo "Options:" + echo " -h, --help Display this help message." + exit 0 +} + + +# Function to check if the user has root privileges +check_root_privileges() { + if [ "$EUID" -ne 0 ] ; then + echo "Root privileges are needed for this operation." >&2 + exit 1 + fi +} + +# Function to check if the device is supported device with type spine routers and subtype UpstreamLC +check_spine_router() { + type=$(sonic-cfggen -d -v DEVICE_METADATA.localhost.type) + sub_type=$(sonic-cfggen -d -v DEVICE_METADATA.localhost.sub_type) + + # only supported on spine routers and UpstreamLC + if [[ "$type" != "SpineRouter" || "$sub_type" != "UpstreamLC" ]]; then + echo "Operation is only supported on UpstreamLC of SpineRouter." >&2 + exit 1 + fi +} + +# Function to skip operation on chassis supervisor +skip_chassis_supervisor() { + if [ -f /etc/sonic/chassisdb.conf ]; then + echo "Skipping Operation on chassis supervisor" + exit 0 + fi +} + +# Function to validate the operation and prefix type parameters +validate_operation() { + local valid_operation=false + local valid_prefix_type=false + + for operation in "${prefix_list_operations[@]}"; do + if [[ "$1" == "$operation" ]]; then + valid_operation=true + break + fi + done + + if [ $valid_operation == false ]; then + echo "Invalid parameter $1, Operation not supported" >&2 + echo "" + display_help + exit 1 + fi + + # Check if the prefix type is supported or not if the operation is not status + if [ $1 != "status" ]; then + for prefix_type in "${supported_prefix_types[@]}"; do + if [[ "$2" == "$prefix_type" ]]; then + valid_prefix_type=true + break + fi + done + + if [ $valid_prefix_type == false ]; then + echo "Invalid parameter $2, Prefix type not supported" >&2 + echo "" + display_help + exit 1 + fi + fi +} + +# Function to handle prefix list operations for a specific ASIC +handle_prefix_list_asic() { + local asic=$1 + local operation=$2 + local PREFIX_TYPE=$3 + local network=$4 + local namespace_prefix='asic' + + if [ $operation == 'status' ] ; then + echo "BGP$asic: Current prefix lists:" + sonic-cfggen -d -v PREFIX_LIST -n $namespace_prefix$asic + else + if [ $operation == 'add' ]; then + local prefix_list_entry="{\"PREFIX_LIST\":{\"$PREFIX_TYPE|$network\":{}}}" + sonic-cfggen -a "$prefix_list_entry" -w -n $namespace_prefix$asic + logger -t $operation -p user.info "Added prefix list: $PREFIX_TYPE with network: $network" + echo "BGP$asic: Added prefix list: $PREFIX_TYPE with network: $network" + elif [ $operation == 'remove' ]; then + sonic-db-cli -n $namespace_prefix$asic CONFIG_DB DEL "PREFIX_LIST|$PREFIX_TYPE|$network" + logger -t $operation -p user.info "Removed prefix list: $PREFIX_TYPE with network: $network" + echo "BGP$asic: Removed prefix list: $PREFIX_TYPE with network: $network" + fi + fi +} + +# Function to handle prefix list operations for a single ASIC +handle_prefix_list_single() { + local operation=$1 + local PREFIX_TYPE=$2 + local network=$3 + + if [ $operation == 'status' ] ; then + echo "Current prefix lists:" + sonic-cfggen -d -v PREFIX_LIST + else + if [ $operation == 'add' ]; then + local prefix_list_entry="{\"PREFIX_LIST\":{\"$PREFIX_TYPE|$network\":{}}}" + sonic-cfggen -a "$prefix_list_entry" -w + logger -t $operation -p user.info "Added prefix list: $PREFIX_TYPE with network: $network" + echo "Added prefix list: $PREFIX_TYPE with network: $network" + elif [ $operation == 'remove' ]; then + sonic-db-cli CONFIG_DB DEL "PREFIX_LIST|$PREFIX_TYPE|$network" + logger -t $operation -p user.info "Removed prefix list: $PREFIX_TYPE with network: $network" + echo "Removed prefix list: $PREFIX_TYPE with network: $network" + fi + fi +} + +prefix_list_operations=("add" "remove" "status") +supported_prefix_types=("ANCHOR_PREFIX") +# Main script execution +if [[ "$1" == "-h" || "$1" == "--help" ]]; then + display_help +fi + +check_root_privileges +check_spine_router +skip_chassis_supervisor + +validate_operation $1 $2 + +# Read SONiC immutable variables +[ -f /etc/sonic/sonic-environment ] && . /etc/sonic/sonic-environment + +PLATFORM=${PLATFORM:-`sonic-cfggen -H -v DEVICE_METADATA.localhost.platform`} + +# Parse the device specific asic conf file, if it exists +ASIC_CONF=/usr/share/sonic/device/$PLATFORM/asic.conf +[ -f $ASIC_CONF ] && . $ASIC_CONF + +if [[ ($NUM_ASIC -gt 1) ]]; then + asic=0 + while [ $asic -lt $NUM_ASIC ] + do + sub_role=`sonic-cfggen -d -v "DEVICE_METADATA['localhost']['sub_role']" -n asic$asic` + if [ $sub_role == 'FrontEnd' ]; then + handle_prefix_list_asic $asic $1 $2 $3 + fi + asic=$((asic+1)) + done +else + handle_prefix_list_single $1 $2 $3 +fi + +if [ $1 != 'status' ]; then + echo "Please execute 'sudo config save' to preserve prefix list after reboot or config reload" +fi diff --git a/dockers/docker-fpm-frr/frr/bgpd/radian/add_radian.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/radian/add_radian.conf.j2 new file mode 100644 index 000000000000..b17de1808427 --- /dev/null +++ b/dockers/docker-fpm-frr/frr/bgpd/radian/add_radian.conf.j2 @@ -0,0 +1,11 @@ +{{ data.ipv }} prefix-list ANCHOR_CONTRIBUTING_ROUTES permit {{ data.prefix }} ge 48 +{# #} +router bgp {{ data.bgp_asn }} +{% if data.ipv == 'ip' -%} + address-family ipv4 unicast +{% else -%} + address-family ipv6 unicast +{% endif %} + aggregate-address {{ data.prefix }} route-map TAG_ANCHOR_COMMUNITY + exit +exit \ No newline at end of file diff --git a/dockers/docker-fpm-frr/frr/bgpd/radian/del_radian.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/radian/del_radian.conf.j2 new file mode 100644 index 000000000000..77374be9ae9e --- /dev/null +++ b/dockers/docker-fpm-frr/frr/bgpd/radian/del_radian.conf.j2 @@ -0,0 +1,10 @@ +no {{ data.ipv }} prefix-list ANCHOR_CONTRIBUTING_ROUTES permit {{ data.prefix }} ge 48 +router bgp {{ data.bgp_asn }} +{% if data.ipv == 'ip' -%} + address-family ipv4 unicast +{% else %} + address-family ipv6 unicast +{% endif -%} + no aggregate-address {{ data.prefix }} route-map TAG_ANCHOR_COMMUNITY + exit +exit \ No newline at end of file diff --git a/dockers/docker-fpm-frr/frr/bgpd/templates/general/peer-group.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/templates/general/peer-group.conf.j2 index 2617cc94c2d2..69477cda2e3b 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/templates/general/peer-group.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/templates/general/peer-group.conf.j2 @@ -14,6 +14,9 @@ neighbor PEER_V4 soft-reconfiguration inbound neighbor PEER_V4 route-map FROM_BGP_PEER_V4 in neighbor PEER_V4 route-map TO_BGP_PEER_V4 out +{% if CONFIG_DB__DEVICE_METADATA['localhost']['type'] == 'SpineRouter' %} + table-map SELECTIVE_ROUTE_DOWNLOAD_V4 +{% endif %} exit-address-family address-family ipv6 {% if CONFIG_DB__DEVICE_METADATA['localhost']['type'] == 'ToRRouter' %} @@ -26,6 +29,9 @@ neighbor PEER_V6 soft-reconfiguration inbound neighbor PEER_V6 route-map FROM_BGP_PEER_V6 in neighbor PEER_V6 route-map TO_BGP_PEER_V6 out +{% if CONFIG_DB__DEVICE_METADATA['localhost']['type'] == 'SpineRouter' %} + table-map SELECTIVE_ROUTE_DOWNLOAD_V6 +{% endif %} exit-address-family ! ! end of template: bgpd/templates/general/peer-group.conf.j2 diff --git a/dockers/docker-fpm-frr/frr/bgpd/templates/general/policies.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/templates/general/policies.conf.j2 index 8db76a69f848..07cea2e22e96 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/templates/general/policies.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/templates/general/policies.conf.j2 @@ -73,7 +73,8 @@ route-map FROM_BGP_PEER_V6 permit 13 {% else %} set tag {{ constants.bgp.route_eligible_for_fallback_to_default_tag }} {% endif %} - set community {{ constants.bgp.internal_fallback_community }} additive {% endif %} + set community {{ constants.bgp.internal_fallback_community }} additive +{% endif %} {% endif %} ! {% endif %} @@ -97,5 +98,44 @@ route-map TO_BGP_PEER_V6 permit 100 ! route-map CHECK_IDF_ISOLATION permit 10 ! +! +! +{% if CONFIG_DB__DEVICE_METADATA and 'localhost' in CONFIG_DB__DEVICE_METADATA and 'type' in CONFIG_DB__DEVICE_METADATA['localhost'] and 'subtype' in CONFIG_DB__DEVICE_METADATA['localhost'] %} +{% if CONFIG_DB__DEVICE_METADATA['localhost']['type'] == 'SpineRouter' and CONFIG_DB__DEVICE_METADATA['localhost']['subtype'] == 'UpstreamLC' %} +bgp community-list standard ANCHOR_ROUTE_COMMUNITY permit {{ constants.bgp.anchor_route_community }} +bgp community-list standard LOCAL_ANCHOR_ROUTE_COMMUNITY permit {{ constants.bgp.local_anchor_route_community }} +bgp community-list standard ANCHOR_CONTRIBUTING_ROUTE_COMMUNITY permit {{ constants.bgp.anchor_contributing_route_community }} +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V4 deny 10 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V4 permit 1000 +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V6 deny 10 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V6 permit 1000 +! +route-map TAG_ANCHOR_COMMUNITY permit 10 + set community {{ constants.bgp.local_anchor_route_community }} {{ constants.bgp.anchor_route_community }} additive +! +route-map TO_BGP_PEER_V6 permit 30 + match ipv6 address prefix-list ANCHOR_CONTRIBUTING_ROUTES + set community {{ constants.bgp.anchor_contributing_route_community }} additive + on-match next +! +route-map TO_BGP_PEER_V6 permit 40 + set comm-list LOCAL_ANCHOR_ROUTE_COMMUNITY delete +! +route-map TO_BGP_PEER_V4 permit 30 + match ipv6 address prefix-list ANCHOR_CONTRIBUTING_ROUTES + set community {{ constants.bgp.anchor_contributing_route_community }} additive + on-match next +! +route-map TO_BGP_PEER_V4 permit 40 + set comm-list LOCAL_ANCHOR_ROUTE_COMMUNITY delete +! +{% endif %} +{% endif %} ! end of template: bgpd/templates/general/policies.conf.j2 ! diff --git a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 index 961587c6ebb7..b1ad80c53a3d 100644 --- a/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 +++ b/dockers/docker-fpm-frr/frr/bgpd/templates/voq_chassis/policies.conf.j2 @@ -1,6 +1,7 @@ ! ! template: bgpd/templates/voq_chassis/policies.conf.j2 ! +bgp community-list standard LOCAL_ANCHOR_ROUTE_COMMUNITY permit {{ constants.bgp.local_anchor_route_community }} bgp community-list standard DEVICE_INTERNAL_COMMUNITY permit {{ constants.bgp.internal_community }} bgp community-list standard DEVICE_INTERNAL_FALLBACK_COMMUNITY permit {{ constants.bgp.internal_fallback_community }} bgp community-list standard NO_EXPORT permit no-export @@ -31,6 +32,9 @@ route-map TO_VOQ_CHASSIS_V4_PEER permit 1 match ip address prefix-list PL_LoopbackV4 set community {{ constants.bgp.internal_community }} ! +route-map TO_VOQ_CHASSIS_V4_PEER deny 15 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! route-map TO_VOQ_CHASSIS_V4_PEER permit 100 ! route-map FROM_VOQ_CHASSIS_V6_PEER permit 1 @@ -63,6 +67,9 @@ route-map TO_VOQ_CHASSIS_V6_PEER permit 1 match ipv6 address prefix-list PL_LoopbackV6 set community {{ constants.bgp.internal_community }} ! +route-map TO_VOQ_CHASSIS_V6_PEER deny 15 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! route-map TO_VOQ_CHASSIS_V6_PEER permit 100 ! ! end of template: bgpd/templates/voq_chassis/policies.conf.j2 diff --git a/dockers/docker-orchagent/orchagent.sh b/dockers/docker-orchagent/orchagent.sh index 28067db7ccf5..b0d19823f029 100755 --- a/dockers/docker-orchagent/orchagent.sh +++ b/dockers/docker-orchagent/orchagent.sh @@ -111,4 +111,10 @@ if [[ x"${MGMT_VRF_ENABLED}" == x"true" ]]; then ORCHAGENT_ARGS+=" -v mgmt" fi +# Enable ring buffer +ORCHDAEMON_RING_ENABLED=`sonic-db-cli CONFIG_DB hget "DEVICE_METADATA|localhost" "ring_thread_enabled"` +if [[ x"${ORCHDAEMON_RING_ENABLED}" == x"true" ]]; then + ORCHAGENT_ARGS+=" -R" +fi + exec /usr/bin/orchagent ${ORCHAGENT_ARGS} diff --git a/dockers/docker-orchagent/tunnel_packet_handler.py b/dockers/docker-orchagent/tunnel_packet_handler.py index 8d1b775ec9ce..39815c587780 100755 --- a/dockers/docker-orchagent/tunnel_packet_handler.py +++ b/dockers/docker-orchagent/tunnel_packet_handler.py @@ -13,6 +13,7 @@ from datetime import datetime from ipaddress import ip_interface from queue import Queue +from threading import Lock, Event, Thread from swsscommon.swsscommon import ConfigDBConnector, SonicV2Connector, \ DBConnector, Select, SubscriberStateTable @@ -29,6 +30,9 @@ STATE_DB = 'STATE_DB' APPL_DB = 'APPL_DB' +COUNTERS_DB = 'COUNTERS_DB' +TUNNEL_PKT_COUNTER_TEMPLATE = 'COUNTERS{}IPINIP_TUNNEL_CPU_PKTS' +COUNTER_KEY = 'RX_COUNT' PORTCHANNEL_INTERFACE_TABLE = 'PORTCHANNEL_INTERFACE' TUNNEL_TABLE = 'TUNNEL' PEER_SWITCH_TABLE = 'PEER_SWITCH' @@ -69,6 +73,10 @@ def __init__(self): self.config_db.connect() self.state_db = SonicV2Connector() self.state_db.connect(STATE_DB) + self.counters_db = SonicV2Connector() + self.counters_db.connect(COUNTERS_DB) + counters_db_separator = self.counters_db.get_db_separator(COUNTERS_DB) + self.tunnel_counter_table = TUNNEL_PKT_COUNTER_TEMPLATE.format(counters_db_separator) self._portchannel_intfs = None self.up_portchannels = None self.netlink_api = IPRoute() @@ -76,6 +84,7 @@ def __init__(self): self.self_ip = '' self.packet_filter = '' self.sniff_intfs = set() + self.pending_cmds = Queue() global portchannel_intfs portchannel_intfs = [name for name, _ in self.portchannel_intfs] @@ -304,6 +313,27 @@ def start_sniffer(self): while not hasattr(self.sniffer, 'stop_cb'): time.sleep(0.1) + def write_count_to_db(self): + while True: + # use a set to automatically deduplicate destination IPs + to_run = set() + + to_run.add(tuple(self.pending_cmds.get())) + pkt_count = 1 + while not self.pending_cmds.empty() and len(to_run) < 100: + to_run.add(tuple(self.pending_cmds.get())) + # we should always count each packet, but only ping for each unique IP + pkt_count += 1 + + for cmds in to_run: + logger.log_info("Running command '{}'".format(' '.join(cmds))) + subprocess.run(cmds, stdout=subprocess.DEVNULL) + try: + curr_count = int(self.counters_db.get(COUNTERS_DB, self.tunnel_counter_table, COUNTER_KEY)) + except TypeError: + curr_count = 0 + self.counters_db.set(COUNTERS_DB, self.tunnel_counter_table, COUNTER_KEY, str(curr_count + pkt_count)) + def ping_inner_dst(self, packet): """ Pings the inner destination IP for an encapsulated packet @@ -319,8 +349,7 @@ def ping_inner_dst(self, packet): cmds.append('-6') dst_ip = packet[IP].payload[inner_packet_type].dst cmds.append(dst_ip) - logger.log_info("Running command '{}'".format(' '.join(cmds))) - subprocess.run(cmds, stdout=subprocess.DEVNULL) + self.pending_cmds.put(cmds) def listen_for_tunnel_pkts(self): """ @@ -339,7 +368,6 @@ def listen_for_tunnel_pkts(self): logger.log_notice('Starting tunnel packet handler for {}' .format(self.packet_filter)) - app_db = DBConnector(APPL_DB, 0) lag_table = SubscriberStateTable(app_db, LAG_TABLE) sel = Select() @@ -355,7 +383,7 @@ def listen_for_tunnel_pkts(self): elif rc == Select.ERROR: raise Exception("Select() error") else: - lag, op, fvs = lag_table.pop() + lag, _, fvs = lag_table.pop() if self.sniffer_restart_required(lag, fvs): self.sniffer.stop() start = datetime.now() @@ -374,6 +402,8 @@ def run(self): Entry point for the TunnelPacketHandler class """ self.wait_for_portchannels() + db_thread = Thread(target=self.write_count_to_db, daemon=True) + db_thread.start() self.listen_for_tunnel_pkts() diff --git a/dockers/docker-ptf/Dockerfile.j2 b/dockers/docker-ptf/Dockerfile.j2 index 8dbc1a2ce89e..45aab2a99a38 100644 --- a/dockers/docker-ptf/Dockerfile.j2 +++ b/dockers/docker-ptf/Dockerfile.j2 @@ -91,7 +91,8 @@ RUN apt-get update \ gdb \ automake \ iproute2 \ - wireshark-common + wireshark-common \ + freeradius {% if PTF_ENV_PY_VER == "py3" %} RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 \ @@ -160,6 +161,7 @@ RUN rm -rf /debs \ && pip install pysubnettree \ && pip install paramiko \ && pip install flask \ + && pip install tornado \ && pip install exabgp==3.4.17\ && pip install pyaml \ && pip install pybrctl pyro4 rpyc yabgp \ @@ -207,6 +209,7 @@ RUN pip3 install setuptools \ && pip3 install ipaddress \ && pip3 install pysubnettree \ && pip3 install paramiko \ + && pip3 install tornado \ && pip3 install Flask \ && pip3 install exabgp \ && pip3 install pyaml \ diff --git a/dockers/docker-snmp/snmpd.conf.j2 b/dockers/docker-snmp/snmpd.conf.j2 index 796b041c9cff..35f64b314da4 100644 --- a/dockers/docker-snmp/snmpd.conf.j2 +++ b/dockers/docker-snmp/snmpd.conf.j2 @@ -26,7 +26,7 @@ {% if SNMP_AGENT_ADDRESS_CONFIG %} {% for (agentip, port, vrf) in SNMP_AGENT_ADDRESS_CONFIG %} -agentAddress {{ protocol(agentip) }}:[{{ agentip }}]{% if port %}:{{ port }}{% endif %}{% if vrf %}%{{ vrf }}{% endif %}{{ "" }} +agentAddress {{ protocol(agentip) }}:[{{ agentip }}]{% if vrf %}@{{ vrf }}{% endif %}{% if port %}:{{ port }}{% endif %}{{ "" }} {% endfor %} {% else %} agentAddress udp:161 diff --git a/dockers/docker-sonic-gnmi/gnmi-native.sh b/dockers/docker-sonic-gnmi/gnmi-native.sh index 8dae895d89df..5b9efe379a2c 100755 --- a/dockers/docker-sonic-gnmi/gnmi-native.sh +++ b/dockers/docker-sonic-gnmi/gnmi-native.sh @@ -3,6 +3,11 @@ EXIT_TELEMETRY_VARS_FILE_NOT_FOUND=1 INCORRECT_TELEMETRY_VALUE=2 TELEMETRY_VARS_FILE=/usr/share/sonic/templates/telemetry_vars.j2 +ESCAPE_QUOTE="'\''" + +extract_field() { + echo $(echo $1 | jq -r $2) +} if [ ! -f "$TELEMETRY_VARS_FILE" ]; then echo "Telemetry vars template file not found" @@ -25,30 +30,29 @@ TELEMETRY_ARGS=" -logtostderr" export CVL_SCHEMA_PATH=/usr/sbin/schema if [ -n "$CERTS" ]; then - SERVER_CRT=$(echo $CERTS | jq -r '.server_crt') - SERVER_KEY=$(echo $CERTS | jq -r '.server_key') + SERVER_CRT=$(extract_field "$CERTS" '.server_crt') + SERVER_KEY=$(extract_field "$CERTS" '.server_key') if [ -z $SERVER_CRT ] || [ -z $SERVER_KEY ]; then TELEMETRY_ARGS+=" --insecure" else TELEMETRY_ARGS+=" --server_crt $SERVER_CRT --server_key $SERVER_KEY " fi - CA_CRT=$(echo $CERTS | jq -r '.ca_crt') + CA_CRT=$(extract_field "$CERTS" '.ca_crt') if [ ! -z $CA_CRT ]; then TELEMETRY_ARGS+=" --ca_crt $CA_CRT" fi - TELEMETRY_ARGS+=" --config_table_name GNMI_CLIENT_CERT" elif [ -n "$X509" ]; then - SERVER_CRT=$(echo $X509 | jq -r '.server_crt') - SERVER_KEY=$(echo $X509 | jq -r '.server_key') + SERVER_CRT=$(extract_field "$X509" '.server_crt') + SERVER_KEY=$(extract_field "$X509" '.server_key') if [ -z $SERVER_CRT ] || [ -z $SERVER_KEY ]; then TELEMETRY_ARGS+=" --insecure" else TELEMETRY_ARGS+=" --server_crt $SERVER_CRT --server_key $SERVER_KEY " fi - CA_CRT=$(echo $X509 | jq -r '.ca_crt') + CA_CRT=$(extract_field "$X509" '.ca_crt') if [ ! -z $CA_CRT ]; then TELEMETRY_ARGS+=" --ca_crt $CA_CRT" fi @@ -60,34 +64,27 @@ fi if [ -z "$GNMI" ]; then PORT=8080 else - PORT=$(echo $GNMI | jq -r '.port') + PORT=$(extract_field "$GNMI" '.port') + if ! [[ $PORT =~ ^[0-9]+$ ]]; then + echo "Incorrect port value ${PORT}, expecting positive integers" >&2 + exit $INCORRECT_TELEMETRY_VALUE + fi fi + TELEMETRY_ARGS+=" --port $PORT" -CLIENT_AUTH=$(echo $GNMI | jq -r '.client_auth') +CLIENT_AUTH=$(extract_field "$GNMI" '.client_auth') if [ -z $CLIENT_AUTH ] || [ $CLIENT_AUTH == "false" ]; then TELEMETRY_ARGS+=" --allow_no_client_auth" fi -LOG_LEVEL=$(echo $GNMI | jq -r '.log_level') +LOG_LEVEL=$(extract_field "$GNMI" '.log_level') if [[ $LOG_LEVEL =~ ^[0-9]+$ ]]; then TELEMETRY_ARGS+=" -v=$LOG_LEVEL" else TELEMETRY_ARGS+=" -v=2" fi -if [ -nz "$GNMI" ]; then - ENABLE_CRL=$(echo $GNMI | jq -r '.enable_crl') - if [ $ENABLE_CRL == "true" ]; then - TELEMETRY_ARGS+=" --enable_crl" - fi - - CRL_EXPIRE_DURATION=$(echo $GNMI | jq -r '.crl_expire_duration') - if [ -n $CRL_EXPIRE_DURATION ]; then - TELEMETRY_ARGS+=" --crl_expire_duration $CRL_EXPIRE_DURATION" - fi -fi - # Enable ZMQ for SmartSwitch LOCALHOST_SUBTYPE=`sonic-db-cli CONFIG_DB hget "DEVICE_METADATA|localhost" "subtype"` if [[ x"${LOCALHOST_SUBTYPE}" == x"SmartSwitch" ]]; then @@ -101,7 +98,7 @@ if [[ x"${MGMT_VRF_ENABLED}" == x"true" ]]; then fi # Server will handle threshold connections consecutively -THRESHOLD_CONNECTIONS=$(echo $GNMI | jq -r '.threshold') +THRESHOLD_CONNECTIONS=$(extract_field "$GNMI" '.threshold') if [[ $THRESHOLD_CONNECTIONS =~ ^[0-9]+$ ]]; then TELEMETRY_ARGS+=" --threshold $THRESHOLD_CONNECTIONS" else @@ -114,7 +111,7 @@ else fi # Close idle connections after certain duration (in seconds) -IDLE_CONN_DURATION=$(echo $GNMI | jq -r '.idle_conn_duration') +IDLE_CONN_DURATION=$(extract_field "$GNMI" '.idle_conn_duration') if [[ $IDLE_CONN_DURATION =~ ^[0-9]+$ ]]; then TELEMETRY_ARGS+=" --idle_conn_duration $IDLE_CONN_DURATION" else @@ -126,4 +123,24 @@ else fi fi +USER_AUTH=$(extract_field "$GNMI" '.user_auth') +if [ ! -z "$USER_AUTH" ] && [ $USER_AUTH != "null" ]; then + TELEMETRY_ARGS+=" --client_auth $USER_AUTH" + + if [ $USER_AUTH == "cert" ]; then + TELEMETRY_ARGS+=" --config_table_name GNMI_CLIENT_CERT" + + ENABLE_CRL=$(echo $GNMI | jq -r '.enable_crl') + if [ $ENABLE_CRL == "true" ]; then + TELEMETRY_ARGS+=" --enable_crl" + fi + + CRL_EXPIRE_DURATION=$(extract_field "$GNMI" '.crl_expire_duration') + if [ ! -z "$CRL_EXPIRE_DURATION" ] && [ $CRL_EXPIRE_DURATION != "null" ]; then + TELEMETRY_ARGS+=" --crl_expire_duration $CRL_EXPIRE_DURATION" + fi + fi +fi + +echo "gnmi args: $TELEMETRY_ARGS" exec /usr/sbin/telemetry ${TELEMETRY_ARGS} diff --git a/dockers/docker-sonic-telemetry/telemetry.sh b/dockers/docker-sonic-telemetry/telemetry.sh index 2428922b57f6..ad1dcedd156b 100755 --- a/dockers/docker-sonic-telemetry/telemetry.sh +++ b/dockers/docker-sonic-telemetry/telemetry.sh @@ -3,6 +3,11 @@ EXIT_TELEMETRY_VARS_FILE_NOT_FOUND=1 INCORRECT_TELEMETRY_VALUE=2 TELEMETRY_VARS_FILE=/usr/share/sonic/templates/telemetry_vars.j2 +ESCAPE_QUOTE="'\''" + +extract_field() { + echo $(echo $1 | jq -r $2) +} if [ ! -f "$TELEMETRY_VARS_FILE" ]; then echo "Telemetry vars template file not found" @@ -25,31 +30,28 @@ export CVL_SCHEMA_PATH=/usr/sbin/schema export GOTRACEBACK=crash if [ -n "$CERTS" ]; then - SERVER_CRT=$(echo $CERTS | jq -r '.server_crt') - SERVER_KEY=$(echo $CERTS | jq -r '.server_key') + SERVER_CRT=$(extract_field "$CERTS" '.server_crt') + SERVER_KEY=$(extract_field "$CERTS" '.server_key') if [ -z $SERVER_CRT ] || [ -z $SERVER_KEY ]; then TELEMETRY_ARGS+=" --insecure" else TELEMETRY_ARGS+=" --server_crt $SERVER_CRT --server_key $SERVER_KEY " fi - CA_CRT=$(echo $CERTS | jq -r '.ca_crt') + CA_CRT=$(extract_field "$CERTS" '.ca_crt') if [ ! -z $CA_CRT ]; then TELEMETRY_ARGS+=" --ca_crt $CA_CRT" fi - - # Reuse GNMI_CLIENT_CERT for telemetry service - TELEMETRY_ARGS+=" --config_table_name GNMI_CLIENT_CERT" elif [ -n "$X509" ]; then - SERVER_CRT=$(echo $X509 | jq -r '.server_crt') - SERVER_KEY=$(echo $X509 | jq -r '.server_key') + SERVER_CRT=$(extract_field "$X509" '.server_crt') + SERVER_KEY=$(extract_field "$X509" '.server_key') if [ -z $SERVER_CRT ] || [ -z $SERVER_KEY ]; then TELEMETRY_ARGS+=" --insecure" else TELEMETRY_ARGS+=" --server_crt $SERVER_CRT --server_key $SERVER_KEY " fi - CA_CRT=$(echo $X509 | jq -r '.ca_crt') + CA_CRT=$(extract_field "$X509" '.ca_crt') if [ ! -z $CA_CRT ]; then TELEMETRY_ARGS+=" --ca_crt $CA_CRT" fi @@ -61,34 +63,26 @@ fi if [ -z "$GNMI" ]; then PORT=8080 else - PORT=$(echo $GNMI | jq -r '.port') + PORT=$(extract_field "$GNMI" '.port') + if ! [[ $PORT =~ ^[0-9]+$ ]]; then + echo "Incorrect port value ${PORT}, expecting positive integers" >&2 + exit $INCORRECT_TELEMETRY_VALUE + fi fi TELEMETRY_ARGS+=" --port $PORT" -CLIENT_AUTH=$(echo $GNMI | jq -r '.client_auth') +CLIENT_AUTH=$(extract_field "$GNMI" '.client_auth') if [ -z $CLIENT_AUTH ] || [ $CLIENT_AUTH == "false" ]; then TELEMETRY_ARGS+=" --allow_no_client_auth" fi -LOG_LEVEL=$(echo $GNMI | jq -r '.log_level') +LOG_LEVEL=$(extract_field "$GNMI" '.log_level') if [[ $LOG_LEVEL =~ ^[0-9]+$ ]]; then TELEMETRY_ARGS+=" -v=$LOG_LEVEL" else TELEMETRY_ARGS+=" -v=2" fi -if [ -nz "$GNMI" ]; then - ENABLE_CRL=$(echo $GNMI | jq -r '.enable_crl') - if [ $ENABLE_CRL == "true" ]; then - TELEMETRY_ARGS+=" --enable_crl" - fi - - CRL_EXPIRE_DURATION=$(echo $GNMI | jq -r '.crl_expire_duration') - if [ -n $CRL_EXPIRE_DURATION ]; then - TELEMETRY_ARGS+=" --crl_expire_duration $CRL_EXPIRE_DURATION" - fi -fi - # gNMI save-on-set behavior is disabled by default. # Save-on-set can be turned on by setting the "TELEMETRY|gnmi|save_on_set" # to "true". @@ -98,7 +92,7 @@ if [ ! -z "$SAVE_ON_SET" ]; then fi # Server will handle threshold connections consecutively -THRESHOLD_CONNECTIONS=$(echo $GNMI | jq -r '.threshold') +THRESHOLD_CONNECTIONS=$(extract_field "$GNMI" '.threshold') if [[ $THRESHOLD_CONNECTIONS =~ ^[0-9]+$ ]]; then TELEMETRY_ARGS+=" --threshold $THRESHOLD_CONNECTIONS" else @@ -111,7 +105,7 @@ else fi # Close idle connections after certain duration (in seconds) -IDLE_CONN_DURATION=$(echo $GNMI | jq -r '.idle_conn_duration') +IDLE_CONN_DURATION=$(extract_field "$GNMI" '.idle_conn_duration') if [[ $IDLE_CONN_DURATION =~ ^[0-9]+$ ]]; then TELEMETRY_ARGS+=" --idle_conn_duration $IDLE_CONN_DURATION" else @@ -124,4 +118,25 @@ else fi TELEMETRY_ARGS+=" -gnmi_native_write=false" +USER_AUTH=$(extract_field "$GNMI" '.user_auth') +if [ ! -z "$USER_AUTH" ] && [ $USER_AUTH != "null" ]; then + TELEMETRY_ARGS+=" --client_auth $USER_AUTH" + + if [ $USER_AUTH == "cert" ]; then + # Reuse GNMI_CLIENT_CERT for telemetry service + TELEMETRY_ARGS+=" --config_table_name GNMI_CLIENT_CERT" + + ENABLE_CRL=$(echo $GNMI | jq -r '.enable_crl') + if [ $ENABLE_CRL == "true" ]; then + TELEMETRY_ARGS+=" --enable_crl" + fi + + CRL_EXPIRE_DURATION=$(extract_field "$GNMI" '.crl_expire_duration') + if [ ! -z "$CRL_EXPIRE_DURATION" ] && [ $CRL_EXPIRE_DURATION != "null" ]; then + TELEMETRY_ARGS+=" --crl_expire_duration $CRL_EXPIRE_DURATION" + fi + fi +fi + +echo "telemetry args: $TELEMETRY_ARGS" exec /usr/sbin/telemetry ${TELEMETRY_ARGS} diff --git a/dockers/docker-stp/Dockerfile.j2 b/dockers/docker-stp/Dockerfile.j2 new file mode 100644 index 000000000000..38cba437527a --- /dev/null +++ b/dockers/docker-stp/Dockerfile.j2 @@ -0,0 +1,36 @@ +{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %} +FROM docker-config-engine-bookworm-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}} + +ARG docker_container_name +RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf + +## Make apt-get non-interactive +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get install -f -y \ + libdbus-1-3 \ + libdaemon0 \ + libjansson4 \ + libpython2.7 \ + libjemalloc2 \ + ebtables + +{% if docker_stp_debs.strip() -%} +# Copy locally-built Debian package dependencies +{{ copy_files("debs/", docker_stp_debs.split(' '), "/debs/") }} + +# Install locally-built Debian packages and implicitly install their dependencies +{{ install_debian_packages(docker_stp_debs.split(' ')) }} +{%- endif %} + +RUN apt-get clean -y && \ + apt-get autoclean -y && \ + apt-get autoremove -y && \ + rm -rf /debs + +COPY ["start.sh", "/usr/bin/"] +COPY ["supervisord.conf", "/etc/supervisor/conf.d/"] +COPY ["critical_processes", "/etc/supervisor"] + +ENTRYPOINT ["/usr/local/bin/supervisord"] diff --git a/dockers/docker-stp/base_image_files/stpctl b/dockers/docker-stp/base_image_files/stpctl new file mode 100644 index 000000000000..ee3420db2395 --- /dev/null +++ b/dockers/docker-stp/base_image_files/stpctl @@ -0,0 +1,5 @@ +#!/bin/bash + +# -t option needed only for shell, not for commands + +docker exec -i stp stpctl "$@" diff --git a/dockers/docker-stp/critical_processes b/dockers/docker-stp/critical_processes new file mode 100644 index 000000000000..9a96b1df216a --- /dev/null +++ b/dockers/docker-stp/critical_processes @@ -0,0 +1,2 @@ +program:stpd +program:stpmgrd diff --git a/dockers/docker-stp/start.sh b/dockers/docker-stp/start.sh new file mode 100644 index 000000000000..ab233f77c6e5 --- /dev/null +++ b/dockers/docker-stp/start.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +rm -f /var/run/rsyslogd.pid +rm -f /var/run/stpd/* +rm -f /var/run/stpmgrd/* + +supervisorctl start rsyslogd + +supervisorctl start stpd + +supervisorctl start stpmgrd diff --git a/dockers/docker-stp/supervisord.conf b/dockers/docker-stp/supervisord.conf new file mode 100644 index 000000000000..3320c11b4f4b --- /dev/null +++ b/dockers/docker-stp/supervisord.conf @@ -0,0 +1,36 @@ +[supervisord] +logfile_maxbytes=1MB +logfile_backups=2 +nodaemon=true + +[program:start.sh] +command=/usr/bin/start.sh +priority=1 +autostart=true +autorestart=false +stdout_logfile=syslog +stderr_logfile=syslog + +[program:rsyslogd] +command=/usr/sbin/rsyslogd -n +priority=2 +autostart=false +autorestart=false +stdout_logfile=syslog +stderr_logfile=syslog + +[program:stpd] +command=/usr/bin/stpd +priority=3 +autostart=false +autorestart=false +stdout_logfile=syslog +stderr_logfile=syslog + +[program:stpmgrd] +command=/usr/bin/stpmgrd +priority=3 +autostart=false +autorestart=false +stdout_logfile=syslog +stderr_logfile=syslog diff --git a/files/build/versions/dockers/docker-stp/versions-deb-bookworm b/files/build/versions/dockers/docker-stp/versions-deb-bookworm new file mode 100644 index 000000000000..8f1c23387762 --- /dev/null +++ b/files/build/versions/dockers/docker-stp/versions-deb-bookworm @@ -0,0 +1,34 @@ +gdb==13.1-3 +gdbserver==13.1-3 +libbabeltrace1==1.5.11-1+b2 +libboost-regex1.74.0==1.74.0+ds1-21 +libcbor0.8==0.8.0-2+b1 +libcurl3-gnutls==7.88.1-10+deb12u6 +libdebuginfod-common==0.188-2.1 +libdebuginfod1==0.188-2.1 +libdw1==0.188-2.1 +libedit2==3.1-20221030-2 +libevent-2.1-7==2.1.12-stable-8 +libexplain51==1.4.D001-12+b1 +libfido2-1==1.12.0-2+b1 +libglib2.0-0==2.74.6-2+deb12u3 +libgpm2==1.20.7-10+b1 +libicu72==72.1-3 +libipt2==2.0.5-1 +liblua5.1-0==5.1.5-9 +libmpfr6==4.2.0-1 +libsource-highlight-common==3.1.9-4.2 +libsource-highlight4v5==3.1.9-4.2+b3 +libssl-dev==3.0.13-1~deb12u1 +libssl3==3.0.13-1~deb12u1 +libswsscommon-dbgsym==1.0.0 +libunwind8==1.6.2-3 +lsof==4.95.0-1 +openssh-client==1:9.2p1-2+deb12u3 +openssl==3.0.13-1~deb12u1 +sensible-utils==0.0.17+nmu1 +sshpass==1.09-1+b1 +strace==6.1-0.1 +ucf==3.0043+nmu1 +vim==2:9.0.1378-2 +vim-runtime==2:9.0.1378-2 diff --git a/files/build_templates/buffers_config.j2 b/files/build_templates/buffers_config.j2 index f1247eba9928..76cab5d0f8ef 100644 --- a/files/build_templates/buffers_config.j2 +++ b/files/build_templates/buffers_config.j2 @@ -79,7 +79,9 @@ def {%- endif %} {%- endif %} {%- endfor %} - {%- if cable_len -%} + {%- if port_name in PORT_DPC -%} + {{ '0m' }} + {%- elif cable_len -%} {{ cable_len.0 }} {%- else %} {%- if 'torrouter' in switch_role.lower() and 'mgmt' not in switch_role.lower()%} diff --git a/files/build_templates/qos_config.j2 b/files/build_templates/qos_config.j2 index 631f787c799d..a7be7d596993 100644 --- a/files/build_templates/qos_config.j2 +++ b/files/build_templates/qos_config.j2 @@ -96,6 +96,18 @@ {{- generate_tc_to_pg_map_per_sku() }} {% else %} "TC_TO_PRIORITY_GROUP_MAP": { +{% if PORT_DPC %} + "AZURE_DPC": { + "0": "0", + "1": "0", + "2": "0", + "3": "0", + "4": "0", + "5": "0", + "6": "0", + "7": "7" + }, +{% endif %} "AZURE": { "0": "0", "1": "0", @@ -351,7 +363,11 @@ {% endif %} "pfcwd_sw_enable" : "3,4", {% endif %} +{% if port not in PORT_DPC %} "tc_to_pg_map" : "AZURE", +{% else %} + "tc_to_pg_map" : "AZURE_DPC", +{% endif %} "pfc_to_queue_map": "AZURE" }{% if not loop.last %},{% endif %} diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index 55f8f3cc3ed0..e959fb24f931 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -963,6 +963,8 @@ sudo LANG=C DOCKER_HOST="$DOCKER_HOST" chroot $FILESYSTEM_ROOT sonic-package-man {% for package in sonic_local_packages.strip().split() -%} {% set name, path, set_owner, enabled = package.split('|') -%} sudo LANG=C DOCKER_HOST="$DOCKER_HOST" chroot $FILESYSTEM_ROOT sonic-package-manager install --from-tarball {{ path }} {{ get_install_options(set_owner, enabled) }} +name_repo=$(basename {{name}} .gz) +sudo LANG=C DOCKER_HOST="$DOCKER_HOST" chroot $FILESYSTEM_ROOT docker tag $name_repo:latest $name_repo:"${SONIC_IMAGE_VERSION}" {% endfor -%} sudo umount $FILESYSTEM_ROOT/target diff --git a/files/build_templates/stp.service.j2 b/files/build_templates/stp.service.j2 new file mode 100644 index 000000000000..3cd5ac23d648 --- /dev/null +++ b/files/build_templates/stp.service.j2 @@ -0,0 +1,19 @@ +[Unit] +Description=STP container +Requires=updategraph.service swss.service +After=updategraph.service swss.service syncd.service +Before=ntp-config.service +BindsTo=sonic.target +After=sonic.target +StartLimitIntervalSec=1200 +StartLimitBurst=3 + +[Service] +User={{ sonicadmin_user }} +ExecStartPre=/usr/bin/{{docker_container_name}}.sh start +ExecStart=/usr/bin/{{docker_container_name}}.sh wait +ExecStop=/usr/bin/{{docker_container_name}}.sh stop +RestartSec=30 + +[Install] +WantedBy=multi-user.target diff --git a/files/dsc/install_debian.j2 b/files/dsc/install_debian.j2 index def175249764..a8397c974c98 100755 --- a/files/dsc/install_debian.j2 +++ b/files/dsc/install_debian.j2 @@ -15,7 +15,11 @@ image_dir=image-$image_version INSTALLER_PAYLOAD=fs.zip DOCKERFS_DIR=docker +{% if BUILD_REDUCE_IMAGE_SIZE == "y" -%} +FILESYSTEM_DOCKERFS=dockerfs.tar.zstd +{%- else -%} FILESYSTEM_DOCKERFS=dockerfs.tar.gz +{%- endif %} BL_CONF=boot.conf DATA_PARTUUID=6ED62003-DD8D-44B8-9538-0A2B7C7E628F diff --git a/files/image_config/constants/constants.yml b/files/image_config/constants/constants.yml index 781055ba49b2..61c28d8be466 100644 --- a/files/image_config/constants/constants.yml +++ b/files/image_config/constants/constants.yml @@ -8,6 +8,9 @@ constants: internal_fallback_community: 22222:22222 sentinel_community: 12345:12346 internal_community_match_tag: 201 + local_anchor_route_community: 12345:555 + anchor_route_community: 12345:666 + anchor_contributing_route_community: 12345:777 route_do_not_send_appdb_tag: 202 route_eligible_for_fallback_to_default_tag: 203 families: diff --git a/files/image_config/logrotate/rsyslog.j2 b/files/image_config/logrotate/rsyslog.j2 index b0a7ff7e7002..8622b23473e7 100644 --- a/files/image_config/logrotate/rsyslog.j2 +++ b/files/image_config/logrotate/rsyslog.j2 @@ -30,6 +30,7 @@ /var/log/syslog /var/log/teamd.log /var/log/telemetry.log +/var/log/stpd.log /var/log/gnmi.log /var/log/frr/bgpd.log /var/log/frr/zebra.log diff --git a/files/image_config/monit/mgmt_oper_status.py b/files/image_config/monit/mgmt_oper_status.py index d6473ecf8dec..f5783347d789 100755 --- a/files/image_config/monit/mgmt_oper_status.py +++ b/files/image_config/monit/mgmt_oper_status.py @@ -6,7 +6,6 @@ import subprocess import syslog -from sonic_py_common import multi_asic, device_info from swsscommon.swsscommon import SonicV2Connector @@ -14,25 +13,39 @@ def main(): db = SonicV2Connector(use_unix_socket_path=True) db.connect('CONFIG_DB') db.connect('STATE_DB') - mgmt_ports_keys = db.keys(db.CONFIG_DB, 'MGMT_PORT|*' ) + mgmt_ports_keys = db.keys(db.CONFIG_DB, 'MGMT_PORT|*') if not mgmt_ports_keys: syslog.syslog(syslog.LOG_DEBUG, 'No management interface found') else: try: - mgmt_ports = [key.split('MGMT_PORT|')[-1] for key in mgmt_ports_keys] + mgmt_ports = [key.split('MGMT_PORT|')[-1] for key + in mgmt_ports_keys] for port in mgmt_ports: - state_db_mgmt_port = db.keys(db.STATE_DB, 'MGMT_PORT_TABLE|*' ) + state_db_mgmt_keys = db.keys(db.STATE_DB, 'MGMT_PORT_TABLE|*') state_db_key = "MGMT_PORT_TABLE|{}".format(port) - prev_oper_status = 'unknown' - if state_db_key in state_db_mgmt_port: - prev_oper_status = db.get(db.STATE_DB, state_db_key, 'oper_status') + config_db_key = "MGMT_PORT|{}".format(port) + config_db_mgmt = db.get_all(db.CONFIG_DB, config_db_key) + state_db_mgmt = db.get_all(db.STATE_DB, state_db_key) if state_db_key in state_db_mgmt_keys else {} + + # Sync fields from CONFIG_DB MGMT_PORT table to STATE_DB MGMT_PORT_TABLE + for field in config_db_mgmt: + if field != 'oper_status': + # Update STATE_DB if port is not present or value differs from + # CONFIG_DB + if (field in state_db_mgmt and state_db_mgmt[field] != config_db_mgmt[field]) \ + or field not in state_db_mgmt: + db.set(db.STATE_DB, state_db_key, field, config_db_mgmt[field]) + + # Update oper status if modified + prev_oper_status = state_db_mgmt.get('oper_status', 'unknown') port_operstate_path = '/sys/class/net/{}/operstate'.format(port) oper_status = subprocess.run(['cat', port_operstate_path], capture_output=True, text=True) current_oper_status = oper_status.stdout.strip() if current_oper_status != prev_oper_status: db.set(db.STATE_DB, state_db_key, 'oper_status', current_oper_status) - log_level = syslog.LOG_INFO if current_oper_status == 'up' else syslog.LOG_WARNING + log_level = syslog.LOG_INFO if current_oper_status == 'up' else syslog.LOG_WARNING syslog.syslog(log_level, "mgmt_oper_status: {}".format(current_oper_status)) + except Exception as e: syslog.syslog(syslog.LOG_ERR, "mgmt_oper_status exception : {}".format(str(e))) db.set(db.STATE_DB, state_db_key, 'oper_status', 'unknown') diff --git a/files/image_config/monit/tests/test_mgmt_oper_status.py b/files/image_config/monit/tests/test_mgmt_oper_status.py index 2b2f1fbefc42..078f2605a99b 100644 --- a/files/image_config/monit/tests/test_mgmt_oper_status.py +++ b/files/image_config/monit/tests/test_mgmt_oper_status.py @@ -29,6 +29,22 @@ def test_main_with_mgmt_ports(self, mock_syslog, mock_subprocess, mock_SonicV2Co mock_db.keys.return_value = mgmt_ports_keys mock_db.set.return_value = None + def get_all_side_effect(db_name, key): + if db_name == mock_db.CONFIG_DB: + return {'admin_status': 'up', 'alias': 'mgmt', 'speed': '1000'} + elif db_name == mock_db.STATE_DB: + return {'admin_status': 'up', 'alias': 'Management'} + return {} + mock_db.get_all.side_effect = get_all_side_effect + + def keys_side_effect(db_name, key_regex): + if db_name == mock_db.CONFIG_DB: + return ['MGMT_PORT|eth0', 'MGMT_PORT|eth1'] + elif db_name == mock_db.STATE_DB: + return ['MGMT_PORT_TABLE|eth0', 'MGMT_PORT_TABLE|eth1'] + return {} + mock_db.keys.side_effect = keys_side_effect + mock_subprocess.return_value = subprocess.CompletedProcess(args=['cat', '/sys/class/net/eth0/operstate'], returncode=0, stdout='up', stderr='') mgmt_oper_status.main() @@ -38,6 +54,12 @@ def test_main_with_mgmt_ports(self, mock_syslog, mock_subprocess, mock_SonicV2Co mock_db.set.assert_any_call(mock_db.STATE_DB, 'MGMT_PORT_TABLE|eth0', 'oper_status', 'up') mock_db.set.assert_any_call(mock_db.STATE_DB, 'MGMT_PORT_TABLE|eth1', 'oper_status', 'up') + # Assert STATE_DB was updated with field that was not present in CONFIG_DB + mock_db.set.assert_any_call(mock_db.STATE_DB, 'MGMT_PORT_TABLE|eth1', 'speed', '1000') + # Assert STATE_DB was updated with alias with updated value from CONFIG_DB + mock_db.set.assert_any_call(mock_db.STATE_DB, 'MGMT_PORT_TABLE|eth1', 'alias', 'mgmt') + # Assert STATE_DB was NOT updated with field is already present and value is not modified + assert not any(call[0] == (mock_db.STATE_DB, 'MGMT_PORT_TABLE|eth1', 'admin_status', 'up') for call in mock_db.set.call_args_list) @patch('mgmt_oper_status.SonicV2Connector') @patch('mgmt_oper_status.subprocess.run') @@ -69,8 +91,8 @@ def test_main_exception_handling(self, mock_syslog, mock_subprocess, mock_SonicV mock_db.set.return_value = None mock_subprocess.side_effect = Exception("File not found") - - mgmt_oper_status.main() + with self.assertRaises(SystemExit) as cm: + mgmt_oper_status.main() mock_syslog.assert_called_with(syslog.LOG_ERR, "mgmt_oper_status exception : File not found") mock_db.set.assert_any_call(mock_db.STATE_DB, 'MGMT_PORT_TABLE|eth0', 'oper_status', 'unknown') diff --git a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf.j2 b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf.j2 index 1aa223db2197..ad05b9da7dfc 100644 --- a/files/image_config/rsyslog/rsyslog.d/00-sonic.conf.j2 +++ b/files/image_config/rsyslog/rsyslog.d/00-sonic.conf.j2 @@ -46,3 +46,11 @@ if $msg startswith " telemetry" or ($msg startswith " dialout" )then { /var/log/telemetry.log stop } + +## stpd rules +if $programname contains "stp" then { + if not ($msg contains "STP_SYSLOG") then { + /var/log/stpd.log + stop + } +} diff --git a/files/initramfs-tools/file b/files/initramfs-tools/file new file mode 100644 index 000000000000..cff6acd18fd7 --- /dev/null +++ b/files/initramfs-tools/file @@ -0,0 +1,18 @@ +#!/bin/sh +set -e +PREREQ="" +prereqs() { + echo "$PREREQ" +} +case "$1" in + prereqs) + prereqs + exit 0 + ;; +esac +. /usr/share/initramfs-tools/hook-functions +# Include file binary +copy_exec /usr/bin/file /usr/bin +# Include magic database +copy_exec /usr/lib/file/magic.mgc /etc +exit 0 diff --git a/files/initramfs-tools/pzstd b/files/initramfs-tools/pzstd new file mode 100644 index 000000000000..8775d480b62c --- /dev/null +++ b/files/initramfs-tools/pzstd @@ -0,0 +1,16 @@ +#!/bin/sh +set -e +PREREQ="" +prereqs() { + echo "$PREREQ" +} +case "$1" in + prereqs) + prereqs + exit 0 + ;; +esac +. /usr/share/initramfs-tools/hook-functions +# Include pzstd binary +copy_exec /usr/bin/pzstd /usr/bin +exit 0 diff --git a/files/initramfs-tools/union-mount.j2 b/files/initramfs-tools/union-mount.j2 index 8f8abb8f6af5..de2cb5c75961 100644 --- a/files/initramfs-tools/union-mount.j2 +++ b/files/initramfs-tools/union-mount.j2 @@ -130,9 +130,15 @@ extract_dockerfs() { echo "Extracting {{ FILESYSTEM_DOCKERFS }}" if [ -f "${rootmnt}/host/$image_dir/{{ FILESYSTEM_DOCKERFS }}" ] && [ "$secureboot" = false ]; then - # Extract dockerfs.tar.gz into /var/lib/docker unless the system booted with secureboot - # In secureboot dockerfs.tar.gz cannot be trusted as it does not have a signature - tar xz --numeric-owner -f ${rootmnt}/host/$image_dir/{{ FILESYSTEM_DOCKERFS }} -C ${rootmnt}/var/lib/docker + # Check if the file is zstd compressed + file_type=$(file -b --mime-type "${rootmnt}/host/$image_dir/{{ FILESYSTEM_DOCKERFS }}") + if [ "$file_type" = "application/zstd" ]; then + echo "Detected zstd compression, extracting with pzstd..." + pzstd -d -q ${rootmnt}/host/$image_dir/{{ FILESYSTEM_DOCKERFS }} -c | tar x --numeric-owner -C ${rootmnt}/var/lib/docker + else + echo "Using default extraction method (gzip assumed)..." + tar xz --numeric-owner -f "${rootmnt}/host/$image_dir/{{ FILESYSTEM_DOCKERFS }}" -C "${rootmnt}/var/lib/docker" + fi elif [ "$bootloader" = "aboot" ] && unzip -l "$swi_path" | grep -q {{ FILESYSTEM_DOCKERFS }}; then # Aboot swi images also support extracting dockerfs.tar.gz directly from them unzip -qp "$swi_path" {{ FILESYSTEM_DOCKERFS }} | tar xz --numeric-owner -C ${rootmnt}/var/lib/docker diff --git a/files/scripts/startup_tsa_tsb.py b/files/scripts/startup_tsa_tsb.py index 6b975f49aabb..dfbc66d8fd8f 100644 --- a/files/scripts/startup_tsa_tsb.py +++ b/files/scripts/startup_tsa_tsb.py @@ -67,12 +67,12 @@ def config_tsa(): num_asics = multi_asic.get_num_asics() tsa_ena = get_tsa_status(num_asics) if tsa_ena == True: - logger.log_info("Configuring TSA") - subprocess.check_output(['TSA']).strip() logger.log_info("Setting TSA-TSB service field in STATE_DB") subprocess.check_output([ 'sonic-db-cli', 'STATE_DB', 'HSET', 'ALL_SERVICE_STATUS|tsa_tsb_service', 'running', 'OK' ]).strip() + logger.log_info("Configuring TSA") + subprocess.check_output(['TSA']).strip() else: #check if tsa_tsb service is already running, restart the timer try: @@ -84,6 +84,8 @@ def config_tsa(): if startup_tsa_tsb_service_status == 'OK': logger.log_info("TSA-TSB service is already running, just restart the timer") + # execute TSA again: this is to overcome race condition where in its previous run, TSA configuration didnt complete on all asics + subprocess.check_output(['TSA']).strip() return True else: if num_asics > 1: diff --git a/installer/default_platform.conf b/installer/default_platform.conf index 85aeddb0e1d2..04cae5995ac1 100755 --- a/installer/default_platform.conf +++ b/installer/default_platform.conf @@ -35,7 +35,7 @@ create_partition() { # Install demo on same block device as ONIE - if [ "$install_env" != "build" ]; then + if [ "$install_env" != "build" ] && [ -z "$blk_dev" ]; then onie_dev=$(blkid | grep ONIE-BOOT | head -n 1 | awk '{print $1}' | sed -e 's/:.*$//') blk_dev=$(echo $onie_dev | sed -e 's/[1-9][0-9]*$//' | sed -e 's/\([0-9]\)\(p\)/\1/') @@ -154,13 +154,15 @@ create_demo_gpt_partition() last_part=$(echo "$all_part" | tail -n 1 | awk '{print $1}') # Find next available partition demo_part=1 - echo "$all_part" > $tmpfifo & - # Find the first available partition number - while read -r used_part; do - echo "Partition #$used_part is in use." - if [ "$used_part" -ne "$demo_part" ]; then break; fi - demo_part=`expr $demo_part + 1` - done < $tmpfifo + if [ ! -z "$all_part" ]; then + echo "$all_part" > $tmpfifo & + # Find the first available partition number + while read -r used_part; do + echo "Partition #$used_part is in use." + if [ "$used_part" -ne "$demo_part" ]; then break; fi + demo_part=`expr $demo_part + 1` + done < $tmpfifo + fi echo "Partition #$demo_part is available" # Create new partition diff --git a/platform/broadcom/one-image.mk b/platform/broadcom/one-image.mk index 8b7f159ba23c..1af454dbc3a7 100755 --- a/platform/broadcom/one-image.mk +++ b/platform/broadcom/one-image.mk @@ -105,7 +105,8 @@ $(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \ $(MICAS_M2_W6930_64QC_PLATFORM_MODULE) \ $(MICAS_M2_W6940_64OC_PLATFORM_MODULE) \ $(MICAS_M2_W6920_32QC2X_PLATFORM_MODULE) \ - $(MICAS_M2_W6510_32C_PLATFORM_MODULE) + $(MICAS_M2_W6510_32C_PLATFORM_MODULE) \ + $(MICAS_M2_W6520_48C8QC_PLATFORM_MODULE) $(SONIC_ONE_IMAGE)_LAZY_BUILD_INSTALLS = $(BRCM_OPENNSL_KERNEL) $(BRCM_DNX_OPENNSL_KERNEL) ifeq ($(INSTALL_DEBUG_TOOLS),y) diff --git a/platform/broadcom/platform-modules-micas.mk b/platform/broadcom/platform-modules-micas.mk index 7e70b5c670dc..220b9a6ac08a 100644 --- a/platform/broadcom/platform-modules-micas.mk +++ b/platform/broadcom/platform-modules-micas.mk @@ -64,3 +64,11 @@ export MICAS_M2_W6510_32C_PLATFORM_MODULE_VERSION MICAS_M2_W6510_32C_PLATFORM_MODULE = platform-modules-micas-m2-w6510-32c_$(MICAS_M2_W6510_32C_PLATFORM_MODULE_VERSION)_amd64.deb $(MICAS_M2_W6510_32C_PLATFORM_MODULE)_PLATFORM = x86_64-micas_m2-w6510-32c-r0 $(eval $(call add_extra_package,$(MICAS_M2_W6510_48V8C_PLATFORM_MODULE),$(MICAS_M2_W6510_32C_PLATFORM_MODULE))) + +## M2-W6520-48C8QC +MICAS_M2_W6520_48C8QC_PLATFORM_MODULE_VERSION = 1.0 +export MICAS_M2_W6520_48C8QC_PLATFORM_MODULE_VERSION + +MICAS_M2_W6520_48C8QC_PLATFORM_MODULE = platform-modules-micas-m2-w6520-48c8qc_$(MICAS_M2_W6520_48C8QC_PLATFORM_MODULE_VERSION)_amd64.deb +$(MICAS_M2_W6520_48C8QC_PLATFORM_MODULE)_PLATFORM = x86_64-micas_m2-w6520-48c8qc-r0 +$(eval $(call add_extra_package,$(MICAS_M2_W6510_48V8C_PLATFORM_MODULE),$(MICAS_M2_W6520_48C8QC_PLATFORM_MODULE))) diff --git a/platform/broadcom/sai-modules.mk b/platform/broadcom/sai-modules.mk index ae65a000704b..2eb459dd0d5a 100644 --- a/platform/broadcom/sai-modules.mk +++ b/platform/broadcom/sai-modules.mk @@ -10,7 +10,7 @@ $(BRCM_OPENNSL_KERNEL)_MACHINE = broadcom SONIC_DPKG_DEBS += $(BRCM_OPENNSL_KERNEL) # SAI bcm modules for DNX family ASIC -BRCM_DNX_OPENNSL_KERNEL_VERSION = 11.2.13.1-1 +BRCM_DNX_OPENNSL_KERNEL_VERSION = 12.3.2.2 BRCM_DNX_OPENNSL_KERNEL = opennsl-modules-dnx_$(BRCM_DNX_OPENNSL_KERNEL_VERSION)_amd64.deb $(BRCM_DNX_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules-dnx diff --git a/platform/broadcom/sai.mk b/platform/broadcom/sai.mk index 77c58a3588a8..371cad755495 100644 --- a/platform/broadcom/sai.mk +++ b/platform/broadcom/sai.mk @@ -1,7 +1,7 @@ LIBSAIBCM_XGS_VERSION = 12.3.2.2 -LIBSAIBCM_DNX_VERSION = 11.2.13.1-1 +LIBSAIBCM_DNX_VERSION = 12.3.2.2 LIBSAIBCM_XGS_BRANCH_NAME = SAI_12.3.0_master -LIBSAIBCM_DNX_BRANCH_NAME = SAI_11.2.0_GA +LIBSAIBCM_DNX_BRANCH_NAME = SAI_12.3.0_master LIBSAIBCM_XGS_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/sai-broadcom/$(LIBSAIBCM_XGS_BRANCH_NAME)/$(LIBSAIBCM_XGS_VERSION)/xgs" LIBSAIBCM_DNX_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/sai-broadcom/$(LIBSAIBCM_DNX_BRANCH_NAME)/$(LIBSAIBCM_DNX_VERSION)/dnx" diff --git a/platform/broadcom/saibcm-modules-dnx b/platform/broadcom/saibcm-modules-dnx index 3a1e939bc2b7..dc9e88509398 160000 --- a/platform/broadcom/saibcm-modules-dnx +++ b/platform/broadcom/saibcm-modules-dnx @@ -1 +1 @@ -Subproject commit 3a1e939bc2b7169953ebd89f2494341a34ed78f7 +Subproject commit dc9e88509398011df02db2e7efd030e796f4cb09 diff --git a/platform/broadcom/sonic-platform-modules-micas/common/modules/s3ip_sysfs/switch_driver/wb_fpga_driver.c b/platform/broadcom/sonic-platform-modules-micas/common/modules/s3ip_sysfs/switch_driver/wb_fpga_driver.c index e5c326df0eb0..d0991c60882f 100644 --- a/platform/broadcom/sonic-platform-modules-micas/common/modules/s3ip_sysfs/switch_driver/wb_fpga_driver.c +++ b/platform/broadcom/sonic-platform-modules-micas/common/modules/s3ip_sysfs/switch_driver/wb_fpga_driver.c @@ -256,11 +256,7 @@ int dfd_set_fpga_testreg(uint8_t main_dev_id, unsigned int fpga_index, unsigned main_dev_id, fpga_index, key_to_name(DFD_CFG_ITEM_FPGA_TEST_REG)); return -DFD_RV_DEV_NOTSUPPORT; } - if (info_ctrl->fpath == NULL) { - DBG_FPGA_DEBUG(DBG_VERBOSE, "main_dev_id: %u, fpga%u get fpath failed\n", main_dev_id, - fpga_index); - return -DFD_RV_INVALID_VALUE; - } + if (info_ctrl->len > FPGA_REG_WIDTH_MAX) { DBG_FPGA_DEBUG(DBG_ERROR, "main_dev_id: %u, fpga%u info_ctrl len: %d, unsupport\n", main_dev_id, fpga_index, info_ctrl->len); diff --git a/platform/broadcom/sonic-platform-modules-micas/debian/control b/platform/broadcom/sonic-platform-modules-micas/debian/control index 3df20d5b4be0..e272778df0ae 100644 --- a/platform/broadcom/sonic-platform-modules-micas/debian/control +++ b/platform/broadcom/sonic-platform-modules-micas/debian/control @@ -35,3 +35,7 @@ Description: kernel modules for platform devices such as fan, led, sfp Package: platform-modules-micas-m2-w6510-32c Architecture: amd64 Description: kernel modules for platform devices such as fan, led, sfp + +Package: platform-modules-micas-m2-w6520-48c8qc +Architecture: amd64 +Description: kernel modules for platform devices such as fan, led, sfp \ No newline at end of file diff --git a/platform/broadcom/sonic-platform-modules-micas/debian/platform-modules-micas-m2-w6520-48c8qc.install b/platform/broadcom/sonic-platform-modules-micas/debian/platform-modules-micas-m2-w6520-48c8qc.install new file mode 100644 index 000000000000..c64ce0881f0f --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/debian/platform-modules-micas-m2-w6520-48c8qc.install @@ -0,0 +1 @@ +m2-w6520-48c8qc/modules/sonic_platform-1.0-py3-none-any.whl /usr/share/sonic/device/x86_64-micas_m2-w6520-48c8qc-r0 diff --git a/platform/broadcom/sonic-platform-modules-micas/debian/platform-modules-micas-m2-w6520-48c8qc.postinst b/platform/broadcom/sonic-platform-modules-micas/debian/platform-modules-micas-m2-w6520-48c8qc.postinst new file mode 100644 index 000000000000..a8132f4f65a9 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/debian/platform-modules-micas-m2-w6520-48c8qc.postinst @@ -0,0 +1,10 @@ +#!/bin/sh +# postinst + +kernel_version=$(uname -r) + +if [ -e /boot/System.map-${kernel_version} ]; then + depmod -a -F /boot/System.map-${kernel_version} ${kernel_version} || true +fi + +#DEBHELPER# diff --git a/platform/broadcom/sonic-platform-modules-micas/debian/rule.mk b/platform/broadcom/sonic-platform-modules-micas/debian/rule.mk index 66e05fe8104c..fbcd72290ac0 100644 --- a/platform/broadcom/sonic-platform-modules-micas/debian/rule.mk +++ b/platform/broadcom/sonic-platform-modules-micas/debian/rule.mk @@ -8,5 +8,7 @@ MODULE_DIRS += m2-w6930-64qc MODULE_DIRS += m2-w6940-64oc MODULE_DIRS += m2-w6920-32qc2x MODULE_DIRS += m2-w6510-32c +MODULE_DIRS += m2-w6520-48c8qc + export MODULE_DIRS diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/Makefile b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/Makefile new file mode 100644 index 000000000000..052a5a6a0773 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/Makefile @@ -0,0 +1,25 @@ +PWD = $(shell pwd) +DIR_KERNEL_SRC = $(PWD)/modules/driver +EXTRA_CFLAGS:= -I$(M)/include +EXTRA_CFLAGS+= -Wall +SUB_BUILD_DIR = $(PWD)/build +INSTALL_DIR = $(SUB_BUILD_DIR)/$(KERNEL_SRC)/$(INSTALL_MOD_DIR) +INSTALL_SCRIPT_DIR = $(SUB_BUILD_DIR)/usr/local/bin +INSTALL_LIB_DIR = $(SUB_BUILD_DIR)/usr/lib/python3/dist-packages +INSTALL_SYSFS_CFG_DIR = $(SUB_BUILD_DIR)/etc/plat_sysfs_cfg + +all: + $(MAKE) -C $(KBUILD_OUTPUT) M=$(DIR_KERNEL_SRC) modules + @if [ ! -d ${INSTALL_DIR} ]; then mkdir -p ${INSTALL_DIR} ;fi + cp -r $(DIR_KERNEL_SRC)/*.ko $(INSTALL_DIR) + @if [ ! -d ${INSTALL_SCRIPT_DIR} ]; then mkdir -p ${INSTALL_SCRIPT_DIR} ;fi + cp -r $(PWD)/config/* $(INSTALL_SCRIPT_DIR) + @if [ ! -d ${INSTALL_LIB_DIR} ]; then mkdir -p ${INSTALL_LIB_DIR} ;fi + @if [ -d $(PWD)/hal-config/ ]; then cp -r $(PWD)/hal-config/* ${INSTALL_LIB_DIR} ;fi + @if [ ! -d ${INSTALL_SYSFS_CFG_DIR} ]; then mkdir -p ${INSTALL_SYSFS_CFG_DIR} ;fi + @if [ -d $(PWD)/plat_sysfs_cfg/ ]; then cp -r $(PWD)/plat_sysfs_cfg/* ${INSTALL_SYSFS_CFG_DIR} ;fi +clean: + rm -f ${DIR_KERNEL_SRC}/*.o ${DIR_KERNEL_SRC}/*.ko ${DIR_KERNEL_SRC}/*.mod.c ${DIR_KERNEL_SRC}/.*.cmd + rm -f ${DIR_KERNEL_SRC}/Module.markers ${DIR_KERNEL_SRC}/Module.symvers ${DIR_KERNEL_SRC}/modules.order + rm -rf ${DIR_KERNEL_SRC}/.tmp_versions + rm -rf $(SUB_BUILD_DIR) diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/config/x86_64_micas_m2_w6520_48c8qc_r0_config.py b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/config/x86_64_micas_m2_w6520_48c8qc_r0_config.py new file mode 100644 index 000000000000..45419f40e068 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/config/x86_64_micas_m2_w6520_48c8qc_r0_config.py @@ -0,0 +1,1079 @@ +#!/usr/bin/python +# -*- coding: UTF-8 -*- +from platform_common import * + +STARTMODULE = { + "hal_fanctrl": 1, + "hal_ledctrl": 1, + "avscontrol": 0, + "dev_monitor": 1, + "tty_console": 0, + "reboot_cause": 1, + "pmon_syslog": 1, + "sff_temp_polling": 1, + "generate_airflow": 0, +} + +DEV_MONITOR_PARAM = { + "polling_time": 10, + "psus": [ + { + "name": "psu1", + "present": {"gettype": "i2c", "bus": 2, "loc": 0x1d, "offset": 0x34, "presentbit": 0, "okval": 0}, + "device": [ + {"id": "psu1pmbus", "name": "wb_fsp1200", "bus": 81, "loc": 0x58, "attr": "hwmon"}, + {"id": "psu1frue2", "name": "24c02", "bus": 81, "loc": 0x50, "attr": "eeprom"}, + ], + }, + { + "name": "psu2", + "present": {"gettype": "i2c", "bus": 2, "loc": 0x1d, "offset": 0x34, "presentbit": 4, "okval": 0}, + "device": [ + {"id": "psu2pmbus", "name": "wb_fsp1200", "bus": 82, "loc": 0x58, "attr": "hwmon"}, + {"id": "psu2frue2", "name": "24c02", "bus": 82, "loc": 0x50, "attr": "eeprom"}, + ], + }, + ], + "fans": [ + { + "name": "fan1", + "present": {"gettype": "i2c", "bus": 4, "loc": 0x3d, "offset": 0x37, "presentbit": 5, "okval": 0}, + "device": [ + {"id": "fan1frue2", "name": "24c64", "bus": 75, "loc": 0x50, "attr": "eeprom"}, + ], + }, + { + "name": "fan2", + "present": {"gettype": "i2c", "bus": 4, "loc": 0x3d, "offset": 0x37, "presentbit": 4, "okval": 0}, + "device": [ + {"id": "fan2frue2", "name": "24c64", "bus": 74, "loc": 0x50, "attr": "eeprom"}, + ], + }, + { + "name": "fan3", + "present": {"gettype": "i2c", "bus": 4, "loc": 0x3d, "offset": 0x37, "presentbit": 3, "okval": 0}, + "device": [ + {"id": "fan3frue2", "name": "24c64", "bus": 73, "loc": 0x50, "attr": "eeprom"}, + ], + }, + { + "name": "fan4", + "present": {"gettype": "i2c", "bus": 4, "loc": 0x3d, "offset": 0x37, "presentbit": 2, "okval": 0}, + "device": [ + {"id": "fan4frue2", "name": "24c64", "bus": 72, "loc": 0x50, "attr": "eeprom"}, + ], + }, + { + "name": "fan5", + "present": {"gettype": "i2c", "bus": 4, "loc": 0x3d, "offset": 0x37, "presentbit": 1, "okval": 0}, + "device": [ + {"id": "fan5frue2", "name": "24c64", "bus": 71, "loc": 0x50, "attr": "eeprom"}, + ], + }, + { + "name": "fan6", + "present": {"gettype": "i2c", "bus": 4, "loc": 0x3d, "offset": 0x37, "presentbit": 0, "okval": 0}, + "device": [ + {"id": "fan6frue2", "name": "24c64", "bus": 70, "loc": 0x50, "attr": "eeprom"}, + ], + }, + ], + "others": [ + { + "name": "eeprom", + "device": [ + {"id": "eeprom_1", "name": "24c02", "bus": 1, "loc": 0x56, "attr": "eeprom"}, + ], + }, + { + "name": "lm75", + "device": [ + {"id": "lm75_1", "name": "lm75", "bus": 76, "loc": 0x48, "attr": "hwmon"}, + {"id": "lm75_2", "name": "lm75", "bus": 76, "loc": 0x49, "attr": "hwmon"}, + {"id": "lm75_3", "name": "lm75", "bus": 79, "loc": 0x4b, "attr": "hwmon"}, + {"id": "lm75_4", "name": "lm75", "bus": 80, "loc": 0x4e, "attr": "hwmon"}, + {"id": "lm75_5", "name": "lm75", "bus": 80, "loc": 0x4f, "attr": "hwmon"}, + ], + }, + { + "name": "mac_bsc", + "device": [ + {"id": "mac_bsc_1", "name": "wb_mac_bsc_td4", "bus": 84, "loc": 0x44, "attr": "hwmon"}, + ], + }, + { + "name":"tmp411", + "device":[ + {"id":"tmp411_1", "name":"tmp411","bus":79, "loc":0x4c, "attr":"hwmon"}, + {"id":"tmp411_2", "name":"tmp411","bus":80, "loc":0x4c, "attr":"hwmon"}, + ], + }, + { + "name": "ina3221", + "device": [ + {"id": "ina3221_1", "name": "ina3221", "bus": 65, "loc": 0x43, "attr": "hwmon"}, + ], + }, + { + "name": "tps53622", + "device": [ + {"id": "tps53622_1", "name": "tps53688", "bus": 65, "loc": 0x67, "attr": "hwmon"}, + {"id": "tps53622_2", "name": "tps53688", "bus": 65, "loc": 0x6c, "attr": "hwmon"}, + ], + }, + { + "name": "ucd90160", + "device": [ + {"id": "ucd90160_1", "name": "ucd90160", "bus": 64, "loc": 0x5b, "attr": "hwmon"}, + {"id": "ucd90160_2", "name": "ucd90160", "bus": 85, "loc": 0x5b, "attr": "hwmon"}, + ], + }, + ], +} + +MANUINFO_CONF = { + "bios": { + "key": "BIOS", + "head": True, + "next": "onie" + }, + "bios_vendor": { + "parent": "bios", + "key": "Vendor", + "cmd": "dmidecode -t 0 |grep Vendor", + "pattern": r".*Vendor", + "separator": ":", + "arrt_index": 1, + }, + "bios_version": { + "parent": "bios", + "key": "Version", + "cmd": "dmidecode -t 0 |grep Version", + "pattern": r".*Version", + "separator": ":", + "arrt_index": 2, + }, + "bios_date": { + "parent": "bios", + "key": "Release Date", + "cmd": "dmidecode -t 0 |grep Release", + "pattern": r".*Release Date", + "separator": ":", + "arrt_index": 3, + }, + "onie": { + "key": "ONIE", + "next": "cpu" + }, + "onie_date": { + "parent": "onie", + "key": "Build Date", + "file": "/host/machine.conf", + "pattern": r"^onie_build_date", + "separator": "=", + "arrt_index": 1, + }, + "onie_version": { + "parent": "onie", + "key": "Version", + "file": "/host/machine.conf", + "pattern": r"^onie_version", + "separator": "=", + "arrt_index": 2, + }, + + "cpu": { + "key": "CPU", + "next": "ssd" + }, + "cpu_vendor": { + "parent": "cpu", + "key": "Vendor", + "cmd": "dmidecode --type processor |grep Manufacturer", + "pattern": r".*Manufacturer", + "separator": ":", + "arrt_index": 1, + }, + "cpu_model": { + "parent": "cpu", + "key": "Device Model", + "cmd": "dmidecode --type processor | grep Version", + "pattern": r".*Version", + "separator": ":", + "arrt_index": 2, + }, + "cpu_core": { + "parent": "cpu", + "key": "Core Count", + "cmd": "dmidecode --type processor | grep \"Core Count\"", + "pattern": r".*Core Count", + "separator": ":", + "arrt_index": 3, + }, + "cpu_thread": { + "parent": "cpu", + "key": "Thread Count", + "cmd": "dmidecode --type processor | grep \"Thread Count\"", + "pattern": r".*Thread Count", + "separator": ":", + "arrt_index": 4, + }, + "ssd": { + "key": "SSD", + "next": "cpld" + }, + "ssd_model": { + "parent": "ssd", + "key": "Device Model", + "cmd": "smartctl -i /dev/sda |grep \"Device Model\"", + "pattern": r".*Device Model", + "separator": ":", + "arrt_index": 1, + }, + "ssd_fw": { + "parent": "ssd", + "key": "Firmware Version", + "cmd": "smartctl -i /dev/sda |grep \"Firmware Version\"", + "pattern": r".*Firmware Version", + "separator": ":", + "arrt_index": 2, + }, + "ssd_user_cap": { + "parent": "ssd", + "key": "User Capacity", + "cmd": "smartctl -i /dev/sda |grep \"User Capacity\"", + "pattern": r".*User Capacity", + "separator": ":", + "arrt_index": 3, + }, + + "cpld": { + "key": "CPLD", + "next": "psu" + }, + + "cpld1": { + "key": "CPLD1", + "parent": "cpld", + "arrt_index": 1, + }, + "cpld1_model": { + "key": "Device Model", + "parent": "cpld1", + "config": "LCMXO3LF-2100C-5BG256C", + "arrt_index": 1, + }, + "cpld1_vender": { + "key": "Vendor", + "parent": "cpld1", + "config": "LATTICE", + "arrt_index": 2, + }, + "cpld1_desc": { + "key": "Description", + "parent": "cpld1", + "config": "CPU_CPLD", + "arrt_index": 3, + }, + "cpld1_version": { + "key": "Firmware Version", + "parent": "cpld1", + "reg": { + "loc": "/dev/port", + "offset": 0x700, + "size": 4 + }, + "callback": "cpld_format", + "arrt_index": 4, + }, + + "cpld2": { + "key": "CPLD2", + "parent": "cpld", + "arrt_index": 2, + }, + "cpld2_model": { + "key": "Device Model", + "parent": "cpld2", + "config": "LCMXO3LF-2100C-5BG256C", + "arrt_index": 1, + }, + "cpld2_vender": { + "key": "Vendor", + "parent": "cpld2", + "config": "LATTICE", + "arrt_index": 2, + }, + "cpld2_desc": { + "key": "Description", + "parent": "cpld2", + "config": "CONNECT_BOARD_CPLD", + "arrt_index": 3, + }, + "cpld2_version": { + "key": "Firmware Version", + "parent": "cpld2", + "reg": { + "loc": "/dev/port", + "offset": 0x900, + "size": 4 + }, + "callback": "cpld_format", + "arrt_index": 4, + }, + + "cpld3": { + "key": "CPLD3", + "parent": "cpld", + "arrt_index": 3, + }, + "cpld3_model": { + "key": "Device Model", + "parent": "cpld3", + "config": "LCMXO3LF-2100C-5BG256C", + "arrt_index": 1, + }, + "cpld3_vender": { + "key": "Vendor", + "parent": "cpld3", + "config": "LATTICE", + "arrt_index": 2, + }, + "cpld3_desc": { + "key": "Description", + "parent": "cpld3", + "config": "FAN_CPLD", + "arrt_index": 3, + }, + "cpld3_version": { + "key": "Firmware Version", + "parent": "cpld3", + "i2c": { + "bus": "4", + "loc": "0x3d", + "offset": 0, + "size": 4 + }, + "callback": "cpld_format", + "arrt_index": 4, + }, + + "cpld4": { + "key": "CPLD4", + "parent": "cpld", + "arrt_index": 4, + }, + "cpld4_model": { + "key": "Device Model", + "parent": "cpld4", + "config": "LCMXO3LF-2100C-5BG256C", + "arrt_index": 1, + }, + "cpld4_vender": { + "key": "Vendor", + "parent": "cpld4", + "config": "LATTICE", + "arrt_index": 2, + }, + "cpld4_desc": { + "key": "Description", + "parent": "cpld4", + "config": "MAC_CPLDA", + "arrt_index": 3, + }, + "cpld4_version": { + "key": "Firmware Version", + "parent": "cpld4", + "i2c": { + "bus": "2", + "loc": "0x2d", + "offset": 0, + "size": 4 + }, + "callback": "cpld_format", + "arrt_index": 4, + }, + + "cpld5": { + "key": "CPLD5", + "parent": "cpld", + "arrt_index": 5, + }, + "cpld5_model": { + "key": "Device Model", + "parent": "cpld5", + "config": "LCMXO3LF-2100C-5BG256C", + "arrt_index": 1, + }, + "cpld5_vender": { + "key": "Vendor", + "parent": "cpld5", + "config": "LATTICE", + "arrt_index": 2, + }, + "cpld5_desc": { + "key": "Description", + "parent": "cpld5", + "config": "MAC_CPLDB", + "arrt_index": 3, + }, + "cpld5_version": { + "key": "Firmware Version", + "parent": "cpld5", + "i2c": { + "bus": "2", + "loc": "0x2d", + "offset": 0, + "size": 4 + }, + "callback": "cpld_format", + "arrt_index": 4, + }, + + "cpld6": { + "key": "CPLD6", + "parent": "cpld", + "arrt_index": 6, + }, + "cpld6_model": { + "key": "Device Model", + "parent": "cpld6", + "config": "LCMXO3LF-2100C-5BG256C", + "arrt_index": 1, + }, + "cpld6_vender": { + "key": "Vendor", + "parent": "cpld6", + "config": "LATTICE", + "arrt_index": 2, + }, + "cpld6_desc": { + "key": "Description", + "parent": "cpld6", + "config": "MAC_CPLDC", + "arrt_index": 3, + }, + "cpld6_version": { + "key": "Firmware Version", + "parent": "cpld6", + "i2c": { + "bus": "2", + "loc": "0x3d", + "offset": 0, + "size": 4 + }, + "callback": "cpld_format", + "arrt_index": 4, + }, + + "psu": { + "key": "PSU", + "next": "fan" + }, + + "psu1": { + "parent": "psu", + "key": "PSU1", + "arrt_index": 1, + }, + "psu1_hw_version": { + "key": "Hardware Version", + "parent": "psu1", + "extra": { + "funcname": "getPsu", + "id": "psu1", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "psu1_fw_version": { + "key": "Firmware Version", + "parent": "psu1", + "config": "NA", + "arrt_index": 2, + }, + + "psu2": { + "parent": "psu", + "key": "PSU2", + "arrt_index": 2, + }, + "psu2_hw_version": { + "key": "Hardware Version", + "parent": "psu2", + "extra": { + "funcname": "getPsu", + "id": "psu2", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "psu2_fw_version": { + "key": "Firmware Version", + "parent": "psu2", + "config": "NA", + "arrt_index": 2, + }, + + "fan": { + "key": "FAN", + "next": "i210" + }, + + "fan1": { + "key": "FAN1", + "parent": "fan", + "arrt_index": 1, + }, + "fan1_hw_version": { + "key": "Hardware Version", + "parent": "fan1", + "extra": { + "funcname": "checkFan", + "id": "fan1", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "fan1_fw_version": { + "key": "Firmware Version", + "parent": "fan1", + "config": "NA", + "arrt_index": 2, + }, + + "fan2": { + "key": "FAN2", + "parent": "fan", + "arrt_index": 2, + }, + "fan2_hw_version": { + "key": "Hardware Version", + "parent": "fan2", + "extra": { + "funcname": "checkFan", + "id": "fan2", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "fan2_fw_version": { + "key": "Firmware Version", + "parent": "fan2", + "config": "NA", + "arrt_index": 2, + }, + + "fan3": { + "key": "FAN3", + "parent": "fan", + "arrt_index": 3, + }, + "fan3_hw_version": { + "key": "Hardware Version", + "parent": "fan3", + "extra": { + "funcname": "checkFan", + "id": "fan3", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "fan3_fw_version": { + "key": "Firmware Version", + "parent": "fan3", + "config": "NA", + "arrt_index": 2, + }, + + "fan4": { + "key": "FAN4", + "parent": "fan", + "arrt_index": 4, + }, + "fan4_hw_version": { + "key": "Hardware Version", + "parent": "fan4", + "extra": { + "funcname": "checkFan", + "id": "fan4", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "fan4_fw_version": { + "key": "Firmware Version", + "parent": "fan4", + "config": "NA", + "arrt_index": 2, + }, + + "fan5": { + "key": "FAN5", + "parent": "fan", + "arrt_index": 5, + }, + "fan5_hw_version": { + "key": "Hardware Version", + "parent": "fan5", + "extra": { + "funcname": "checkFan", + "id": "fan5", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "fan5_fw_version": { + "key": "Firmware Version", + "parent": "fan5", + "config": "NA", + "arrt_index": 2, + }, + + "fan6": { + "key": "FAN6", + "parent": "fan", + "arrt_index": 6, + }, + "fan6_hw_version": { + "key": "Hardware Version", + "parent": "fan6", + "extra": { + "funcname": "checkFan", + "id": "fan6", + "key": "hw_version" + }, + "arrt_index": 1, + }, + "fan6_fw_version": { + "key": "Firmware Version", + "parent": "fan6", + "config": "NA", + "arrt_index": 2, + }, + + "i210": { + "key": "NIC", + "next": "fpga" + }, + "i210_model": { + "parent": "i210", + "config": "NA", + "key": "Device Model", + "arrt_index": 1, + }, + "i210_vendor": { + "parent": "i210", + "config": "INTEL", + "key": "Vendor", + "arrt_index": 2, + }, + "i210_version": { + "parent": "i210", + "cmd": "ethtool -i eth0", + "pattern": r"firmware-version", + "separator": ":", + "key": "Firmware Version", + "arrt_index": 3, + }, + + "fpga": { + "key": "FPGA", + }, + "fpga_model": { + "parent": "fpga", + "config": "XC7A100T-2FGG484C", + "key": "Device Model", + "arrt_index": 1, + }, + "fpga_vendor": { + "parent": "fpga", + "config": "XILINX", + "key": "Vendor", + "arrt_index": 2, + }, + "fpga_desc": { + "parent": "fpga", + "config": "NA", + "key": "Description", + "arrt_index": 3, + }, + "fpga_hw_version": { + "parent": "fpga", + "config": "NA", + "key": "Hardware Version", + "arrt_index": 4, + }, + "fpga_fw_version": { + "parent": "fpga", + "pci": { + "bus": 8, + "slot": 0, + "fn": 0, + "bar": 0, + "offset": 0 + }, + "key": "Firmware Version", + "arrt_index": 5, + }, + "fpga_date": { + "parent": "fpga", + "pci": { + "bus": 8, + "slot": 0, + "fn": 0, + "bar": 0, + "offset": 4 + }, + "key": "Build Date", + "arrt_index": 6, + }, +} + +PMON_SYSLOG_STATUS = { + "polling_time": 3, + "sffs": { + "present": {"path": ["/sys/wb_plat/sff/*/present"], "ABSENT": 0}, + "nochangedmsgflag": 0, + "nochangedmsgtime": 60, + "noprintfirsttimeflag": 1, + "alias": { + "sff1": "Ethernet1", + "sff2": "Ethernet2", + "sff3": "Ethernet3", + "sff4": "Ethernet4", + "sff5": "Ethernet5", + "sff6": "Ethernet6", + "sff7": "Ethernet7", + "sff8": "Ethernet8", + "sff9": "Ethernet9", + "sff10": "Ethernet10", + "sff11": "Ethernet11", + "sff12": "Ethernet12", + "sff13": "Ethernet13", + "sff14": "Ethernet14", + "sff15": "Ethernet15", + "sff16": "Ethernet16", + "sff17": "Ethernet17", + "sff18": "Ethernet18", + "sff19": "Ethernet19", + "sff20": "Ethernet20", + "sff21": "Ethernet21", + "sff22": "Ethernet22", + "sff23": "Ethernet23", + "sff24": "Ethernet24", + "sff25": "Ethernet25", + "sff26": "Ethernet26", + "sff27": "Ethernet27", + "sff28": "Ethernet28", + "sff29": "Ethernet29", + "sff30": "Ethernet30", + "sff31": "Ethernet31", + "sff32": "Ethernet32", + "sff33": "Ethernet33", + "sff34": "Ethernet34", + "sff35": "Ethernet35", + "sff36": "Ethernet36", + "sff37": "Ethernet37", + "sff38": "Ethernet38", + "sff39": "Ethernet39", + "sff40": "Ethernet40", + "sff41": "Ethernet41", + "sff42": "Ethernet42", + "sff43": "Ethernet43", + "sff44": "Ethernet44", + "sff45": "Ethernet45", + "sff46": "Ethernet46", + "sff47": "Ethernet47", + "sff48": "Ethernet48", + "sff49": "Ethernet49", + "sff50": "Ethernet50", + "sff51": "Ethernet51", + "sff52": "Ethernet52", + "sff53": "Ethernet53", + "sff54": "Ethernet54", + "sff55": "Ethernet55", + "sff56": "Ethernet56", + } + }, + "fans": { + "present": {"path": ["/sys/wb_plat/fan/*/present"], "ABSENT": 0}, + "status": [ + {"path": "/sys/wb_plat/fan/%s/motor0/status", 'okval': 1}, + {"path": "/sys/wb_plat/fan/%s/motor1/status", 'okval': 1}, + ], + "nochangedmsgflag": 1, + "nochangedmsgtime": 60, + "noprintfirsttimeflag": 0, + "alias": { + "fan1": "FAN1", + "fan2": "FAN2", + "fan3": "FAN3", + "fan4": "FAN4", + "fan5": "FAN5", + "fan6": "FAN6" + } + }, + "psus": { + "present": {"path": ["/sys/wb_plat/psu/*/present"], "ABSENT": 0}, + "status": [ + {"path": "/sys/wb_plat/psu/%s/output", "okval": 1}, + {"path": "/sys/wb_plat/psu/%s/alert", "okval": 0}, + ], + "nochangedmsgflag": 1, + "nochangedmsgtime": 60, + "noprintfirsttimeflag": 0, + "alias": { + "psu1": "PSU1", + "psu2": "PSU2" + } + } +} + +##################### MAC Voltage adjust#################################### +MAC_DEFAULT_PARAM = [ + { + "name": "mac_core", # AVS name + "type": 1, # 1: used default value, if rov value not in range. 0: do nothing, if rov value not in range + "default": 0x82, # default value, if rov value not in range + "sdkreg": "TOP_AVS_SEL_REG", # SDK register name + "sdktype": 0, # 0: No shift operation required, 1: shift operation required + "macregloc": 24, # Shift right 24 bits + "mask": 0xff, # Use with macregloc + "rov_source": 0, # 0: get rov value from cpld, 1: get rov value from SDK + "cpld_avs": {"bus":2, "loc":0x2d, "offset":0x3f, "gettype":"i2c"}, + "set_avs": { + "loc": "/sys/bus/i2c/devices/83-005b/avs_vout", + "gettype": "sysfs", "formula": "int((%f)*1000000)" + }, + "mac_avs_param": { + 0x72:0.90000, + 0x73:0.89375, + 0x74:0.88750, + 0x75:0.88125, + 0x76:0.87500, + 0x77:0.86875, + 0x78:0.86250, + 0x79:0.85625, + 0x7a:0.85000, + 0x7b:0.84375, + 0x7c:0.83750, + 0x7d:0.83125, + 0x7e:0.82500, + 0x7f:0.81875, + 0x80:0.81250, + 0x81:0.80625, + 0x82:0.80000, + 0x83:0.79375, + 0x84:0.78750, + 0x85:0.78125, + 0x86:0.77500, + 0x87:0.76875, + 0x88:0.76250, + 0x89:0.75625, + 0x8A:0.75000, + 0x8B:0.74375, + 0x8C:0.73750, + 0x8D:0.73125, + 0x8E:0.72500, + } + } +] + +BLACKLIST_DRIVERS = [ + {"name": "i2c_i801", "delay": 0}, +] + +DRIVERLISTS = [ + {"name": "i2c_i801", "delay": 1}, + {"name": "wb_gpio_d1500", "delay": 0}, + {"name": "i2c_dev", "delay": 0}, + {"name": "i2c_algo_bit", "delay": 0}, + {"name": "i2c_gpio", "delay": 0}, + {"name": "i2c_mux", "delay": 0}, + {"name": "wb_gpio_device", "delay": 0}, + {"name": "wb_i2c_gpio_device gpio_sda=17 gpio_scl=1 gpio_udelay=2", "delay": 0}, + {"name": "platform_common dfd_my_type=0x4101", "delay": 0}, + {"name": "wb_fpga_pcie", "delay": 0}, + {"name": "wb_pcie_dev", "delay": 0}, + {"name": "wb_pcie_dev_device", "delay": 0}, + {"name": "wb_lpc_drv", "delay": 0}, + {"name": "wb_lpc_drv_device", "delay": 0}, + {"name": "wb_io_dev", "delay": 0}, + {"name": "wb_io_dev_device", "delay": 0}, + {"name": "wb_spi_dev", "delay": 0}, + {"name": "wb_i2c_dev", "delay": 0}, + {"name": "wb_fpga_i2c_bus_drv", "delay": 0}, + {"name": "wb_fpga_i2c_bus_device", "delay": 0}, + {"name": "wb_i2c_dev_device", "delay": 0}, + {"name": "wb_fpga_pca954x_drv", "delay": 0}, + {"name": "wb_fpga_pca954x_device", "delay": 0}, + {"name": "wb_wdt", "delay": 0}, + {"name": "lm75", "delay": 0}, + {"name": "tmp401", "delay": 0}, + {"name": "optoe", "delay": 0}, + {"name": "at24", "delay": 0}, + {"name": "wb_mac_bsc", "delay": 0}, + {"name": "pmbus_core", "delay": 0}, + {"name": "wb_csu550", "delay": 0}, + {"name": "ina3221", "delay": 0}, + {"name": "tps53679", "delay": 0}, + {"name": "ucd9000", "delay": 0}, + {"name": "wb_xdpe132g5c", "delay": 0}, + {"name": "plat_dfd", "delay": 0}, + {"name": "plat_switch", "delay": 0}, + {"name": "plat_fan", "delay": 0}, + {"name": "plat_psu", "delay": 0}, + {"name": "plat_sff", "delay": 0}, + {"name": "hw_test", "delay": 0}, +] + +DEVICE = [ + {"name": "24c02", "bus": 1, "loc": 0x56}, + {"name": "wb_mac_bsc_td4", "bus": 84, "loc": 0x44}, + # fan + {"name": "24c64", "bus": 70, "loc": 0x50}, + {"name": "24c64", "bus": 71, "loc": 0x50}, + {"name": "24c64", "bus": 72, "loc": 0x50}, + {"name": "24c64", "bus": 73, "loc": 0x50}, + {"name": "24c64", "bus": 74, "loc": 0x50}, + {"name": "24c64", "bus": 75, "loc": 0x50}, + # psu + {"name": "24c02", "bus": 81, "loc": 0x50}, + {"name": "wb_fsp1200", "bus": 81, "loc": 0x58}, + {"name": "24c02", "bus": 82, "loc": 0x50}, + {"name": "wb_fsp1200", "bus": 82, "loc": 0x58}, + # temp + {"name": "lm75", "bus": 76, "loc": 0x48}, + {"name": "lm75", "bus": 76, "loc": 0x49}, + {"name": "lm75", "bus": 79, "loc": 0x4b}, + {"name": "tmp411", "bus": 79, "loc": 0x4c}, + {"name": "tmp411", "bus": 80, "loc": 0x4c}, + {"name": "lm75", "bus": 80, "loc": 0x4e}, + {"name": "lm75", "bus": 80, "loc": 0x4f}, + # dcdc + {"name": "ucd90160", "bus": 64, "loc": 0x5b}, + {"name": "ucd90160", "bus": 85, "loc": 0x5b}, + {"name": "ina3221", "bus": 65, "loc": 0x43}, + {"name": "tps53688", "bus": 65, "loc": 0x67}, + {"name": "tps53688", "bus": 65, "loc": 0x6c}, + #avs + {"name": "wb_xdpe132g5c", "bus": 83, "loc": 0x5b}, +] + +OPTOE = [ + {"name": "optoe3", "startbus": 6, "endbus": 61}, +] + +REBOOT_CTRL_PARAM = { + "cpu": {"io_addr": 0x920, "rst_val": 0xfe, "rst_delay": 0, "gettype": "io"}, + "mac": {"bus": 2, "loc": 0x1d, "offset": 0x20, "rst_val": 0xfd, "rst_delay": 0, "gettype": "i2c"}, +} + +# INIT_PARAM_PRE = [ +# {"loc": "43-005b/avs_vout_max", "value": "900000"}, +# {"loc": "43-005b/avs_vout_min", "value": "725000"}, +# ] + +INIT_PARAM = [] + +INIT_COMMAND_PRE = [] + +INIT_COMMAND = [ + # sfp power enable + "i2cset -f -y 2 0x2d 0x4c 0xff", + "i2cset -f -y 2 0x2d 0x4d 0xff", + "i2cset -f -y 2 0x2d 0x35 0xff", + "i2cset -f -y 2 0x2d 0x36 0xff", + "i2cset -f -y 2 0x1d 0x39 0xff", + "i2cset -f -y 2 0x1d 0x3a 0xff", + "i2cset -f -y 2 0x1d 0x3b 0xff", + "i2cset -f -y 2 0x3d 0x38 0xff", + "i2cset -f -y 2 0x3d 0x39 0xff", + "i2cset -f -y 2 0x3d 0x3a 0xff", + "i2cset -f -y 2 0x3d 0x3b 0xff", + # led enable + "i2cset -f -y 2 0x2d 0x3a 0xff", + "i2cset -f -y 2 0x1d 0x3c 0xff" + "i2cset -f -y 2 0x3d 0x3c 0xff" +] + +WARM_UPGRADE_PARAM = {} + +REBOOT_CAUSE_PARA = { + "reboot_cause_list": [ + { + "name": "cold_reboot", + "monitor_point": {"gettype": "io", "io_addr": 0x988, "okval": 0}, + "record": [ + {"record_type": "file", "mode": "cover", "log": "Power Loss, ", + "path": "/etc/sonic/.reboot/.previous-reboot-cause.txt"}, + {"record_type": "file", "mode": "add", "log": "Power Loss, ", + "path": "/etc/sonic/.reboot/.history-reboot-cause.txt", "file_max_size": 1 * 1024 * 1024} + ] + }, + { + "name": "wdt_reboot", + "monitor_point": {"gettype": "io", "io_addr": 0x987, "okval": 1}, + "record": [ + {"record_type": "file", "mode": "cover", "log": "Watchdog, ", + "path": "/etc/sonic/.reboot/.previous-reboot-cause.txt"}, + {"record_type": "file", "mode": "add", "log": "Watchdog, ", + "path": "/etc/sonic/.reboot/.history-reboot-cause.txt", "file_max_size":1*1024*1024} + ], + "finish_operation": [ + {"gettype": "io", "io_addr": 0x986, "value": 0x01}, + ] + }, + { + "name": "otp_switch_reboot", + "monitor_point": {"gettype": "file_exist", "judge_file": "/etc/.otp_switch_reboot_flag", "okval": True}, + "record": [ + {"record_type": "file", "mode": "cover", "log": "Thermal Overload: ASIC, ", + "path": "/etc/sonic/.reboot/.previous-reboot-cause.txt"}, + {"record_type": "file", "mode": "add", "log": "Thermal Overload: ASIC, ", + "path": "/etc/sonic/.reboot/.history-reboot-cause.txt", "file_max_size": 1 * 1024 * 1024} + ], + "finish_operation": [ + {"gettype": "cmd", "cmd": "rm -rf /etc/.otp_switch_reboot_flag"}, + ] + }, + { + "name": "otp_other_reboot", + "monitor_point": {"gettype": "file_exist", "judge_file": "/etc/.otp_other_reboot_flag", "okval": True}, + "record": [ + {"record_type": "file", "mode": "cover", "log": "Thermal Overload: Other, ", + "path": "/etc/sonic/.reboot/.previous-reboot-cause.txt"}, + {"record_type": "file", "mode": "add", "log": "Thermal Overload: Other, ", + "path": "/etc/sonic/.reboot/.history-reboot-cause.txt", "file_max_size": 1 * 1024 * 1024} + ], + "finish_operation": [ + {"gettype": "cmd", "cmd": "rm -rf /etc/.otp_other_reboot_flag"}, + ] + }, + ], + "other_reboot_cause_record": [ + {"record_type": "file", "mode": "cover", "log": "Other, ", "path": "/etc/sonic/.reboot/.previous-reboot-cause.txt"}, + {"record_type": "file", "mode": "add", "log": "Other, ", "path": "/etc/sonic/.reboot/.history-reboot-cause.txt"} + ], +} + +UPGRADE_SUMMARY = {} + +PLATFORM_E2_CONF = { + "fan": [ + {"name": "fan1", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/75-0050/eeprom"}, + {"name": "fan2", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/74-0050/eeprom"}, + {"name": "fan3", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/73-0050/eeprom"}, + {"name": "fan4", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/72-0050/eeprom"}, + {"name": "fan5", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/71-0050/eeprom"}, + {"name": "fan6", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/70-0050/eeprom"}, + ], + "psu": [ + {"name": "psu1", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/81-0050/eeprom"}, + {"name": "psu2", "e2_type": "fru", "e2_path": "/sys/bus/i2c/devices/82-0050/eeprom"}, + ], + "syseeprom": [ + {"name": "syseeprom", "e2_type": "onie_tlv", "e2_path": "/sys/bus/i2c/devices/1-0056/eeprom"}, + ], +} diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/config/x86_64_micas_m2_w6520_48c8qc_r0_port_config.py b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/config/x86_64_micas_m2_w6520_48c8qc_r0_port_config.py new file mode 100644 index 000000000000..20c461234c16 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/config/x86_64_micas_m2_w6520_48c8qc_r0_port_config.py @@ -0,0 +1,7 @@ +#!/usr/bin/python3 +# -*- coding: UTF-8 -*- + +PLATFORM_INTF_OPTOE = { + "port_num": 56, + "optoe_start_bus": 6, +} diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/hal-config/x86_64_micas_m2_w6520_48c8qc_r0_device.py b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/hal-config/x86_64_micas_m2_w6520_48c8qc_r0_device.py new file mode 100644 index 000000000000..d244516cacd3 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/hal-config/x86_64_micas_m2_w6520_48c8qc_r0_device.py @@ -0,0 +1,1247 @@ +#!/usr/bin/python3 + +psu_fan_airflow = { + "intake": ['DPS-1300AB-6 S', 'GW-CRPS1300D'], + "exhaust": [] +} + +fanairflow = { + "intake": ['M1HFAN II-F'], + "exhaust": [], +} + +psu_display_name = { + "PA1300I-F": ['GW-CRPS1300D', 'DPS-1300AB-6 S'], +} + +psutypedecode = { + 0x00: 'N/A', + 0x01: 'AC', + 0x02: 'DC', +} + +class Unit: + Temperature = "C" + Voltage = "V" + Current = "A" + Power = "W" + Speed = "RPM" + +class threshold: + PSU_TEMP_MIN = -10 * 1000 + PSU_TEMP_MAX = 60 * 1000 + + PSU_FAN_SPEED_MIN = 2000 + PSU_FAN_SPEED_MAX = 28000 + + PSU_OUTPUT_VOLTAGE_MIN = 11 * 1000 + PSU_OUTPUT_VOLTAGE_MAX = 14 * 1000 + + PSU_AC_INPUT_VOLTAGE_MIN = 200 * 1000 + PSU_AC_INPUT_VOLTAGE_MAX = 240 * 1000 + + PSU_DC_INPUT_VOLTAGE_MIN = 190 * 1000 + PSU_DC_INPUT_VOLTAGE_MAX = 290 * 1000 + + ERR_VALUE = -9999999 + + PSU_OUTPUT_POWER_MIN = 10 * 1000 * 1000 + PSU_OUTPUT_POWER_MAX = 1300 * 1000 * 1000 + + PSU_INPUT_POWER_MIN = 10 * 1000 * 1000 + PSU_INPUT_POWER_MAX = 1444 * 1000 * 1000 + + PSU_OUTPUT_CURRENT_MIN = 2 * 1000 + PSU_OUTPUT_CURRENT_MAX = 107 * 1000 + + PSU_INPUT_CURRENT_MIN = 0.2 * 1000 + PSU_INPUT_CURRENT_MAX = 7 * 1000 + + FRONT_FAN_SPEED_MAX = 25000 + REAR_FAN_SPEED_MAX = 22000 + FAN_SPEED_MIN = 2000 + +devices = { + "onie_e2": [ + { + "name": "ONIE_E2", + "e2loc": {"loc": "/sys/bus/i2c/devices/1-0056/eeprom", "way": "sysfs"}, + "airflow": "intake" + }, + ], + "psus": [ + { + "e2loc": {"loc": "/sys/bus/i2c/devices/81-0050/eeprom", "way": "sysfs"}, + "pmbusloc": {"bus": 81, "addr": 0x58, "way": "i2c"}, + "present": {"loc": "/sys/wb_plat/psu/psu1/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "name": "PSU1", + "psu_display_name": psu_display_name, + "airflow": psu_fan_airflow, + "TempStatus": {"bus": 81, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x0004}, + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": threshold.PSU_TEMP_MIN, + "Max": threshold.PSU_TEMP_MAX, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + }, + "FanStatus": {"bus": 81, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x0400}, + "FanSpeed": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/fan1_input", "way": "sysfs"}, + "Min": threshold.PSU_FAN_SPEED_MIN, + "Max": threshold.PSU_FAN_SPEED_MAX, + "Unit": Unit.Speed + }, + "psu_fan_tolerance": 40, + "InputsStatus": {"bus": 81, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x2000}, + "InputsType": {"bus": 81, "addr": 0x58, "offset": 0x80, "way": "i2c", 'psutypedecode': psutypedecode}, + "InputsVoltage": { + 'AC': { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/in1_input", "way": "sysfs"}, + "Min": threshold.PSU_AC_INPUT_VOLTAGE_MIN, + "Max": threshold.PSU_AC_INPUT_VOLTAGE_MAX, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + + }, + 'DC': { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/in1_input", "way": "sysfs"}, + "Min": threshold.PSU_DC_INPUT_VOLTAGE_MIN, + "Max": threshold.PSU_DC_INPUT_VOLTAGE_MAX, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + }, + 'other': { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/in1_input", "way": "sysfs"}, + "Min": threshold.ERR_VALUE, + "Max": threshold.ERR_VALUE, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + } + }, + "InputsCurrent": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/curr1_input", "way": "sysfs"}, + "Min": threshold.PSU_INPUT_CURRENT_MIN, + "Max": threshold.PSU_INPUT_CURRENT_MAX, + "Unit": Unit.Current, + "format": "float(float(%s)/1000)" + }, + "InputsPower": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/power1_input", "way": "sysfs"}, + "Min": threshold.PSU_INPUT_POWER_MIN, + "Max": threshold.PSU_INPUT_POWER_MAX, + "Unit": Unit.Power, + "format": "float(float(%s)/1000000)" + }, + "OutputsStatus": {"bus": 81, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x8800}, + "OutputsVoltage": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/in2_input", "way": "sysfs"}, + "Min": threshold.PSU_OUTPUT_VOLTAGE_MIN, + "Max": threshold.PSU_OUTPUT_VOLTAGE_MAX, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + }, + "OutputsCurrent": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/curr2_input", "way": "sysfs"}, + "Min": threshold.PSU_OUTPUT_CURRENT_MIN, + "Max": threshold.PSU_OUTPUT_CURRENT_MAX, + "Unit": Unit.Current, + "format": "float(float(%s)/1000)" + }, + "OutputsPower": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/power2_input", "way": "sysfs"}, + "Min": threshold.PSU_OUTPUT_POWER_MIN, + "Max": threshold.PSU_OUTPUT_POWER_MAX, + "Unit": Unit.Power, + "format": "float(float(%s)/1000000)" + }, + }, + { + "e2loc": {"loc": "/sys/bus/i2c/devices/82-0050/eeprom", "way": "sysfs"}, + "pmbusloc": {"bus": 82, "addr": 0x58, "way": "i2c"}, + "present": {"loc": "/sys/wb_plat/psu/psu2/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "name": "PSU2", + "psu_display_name": psu_display_name, + "airflow": psu_fan_airflow, + "TempStatus": {"bus": 82, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x0004}, + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": threshold.PSU_TEMP_MIN, + "Max": threshold.PSU_TEMP_MAX, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + }, + "FanStatus": {"bus": 82, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x0400}, + "FanSpeed": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/fan1_input", "way": "sysfs"}, + "Min": threshold.PSU_FAN_SPEED_MIN, + "Max": threshold.PSU_FAN_SPEED_MAX, + "Unit": Unit.Speed + }, + "psu_fan_tolerance": 40, + "InputsStatus": {"bus": 82, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x2000}, + "InputsType": {"bus": 82, "addr": 0x58, "offset": 0x80, "way": "i2c", 'psutypedecode': psutypedecode}, + "InputsVoltage": { + 'AC': { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/in1_input", "way": "sysfs"}, + "Min": threshold.PSU_AC_INPUT_VOLTAGE_MIN, + "Max": threshold.PSU_AC_INPUT_VOLTAGE_MAX, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + + }, + 'DC': { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/in1_input", "way": "sysfs"}, + "Min": threshold.PSU_DC_INPUT_VOLTAGE_MIN, + "Max": threshold.PSU_DC_INPUT_VOLTAGE_MAX, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + }, + 'other': { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/in1_input", "way": "sysfs"}, + "Min": threshold.ERR_VALUE, + "Max": threshold.ERR_VALUE, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + } + }, + "InputsCurrent": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/curr1_input", "way": "sysfs"}, + "Min": threshold.PSU_INPUT_CURRENT_MIN, + "Max": threshold.PSU_INPUT_CURRENT_MAX, + "Unit": Unit.Current, + "format": "float(float(%s)/1000)" + }, + "InputsPower": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/power1_input", "way": "sysfs"}, + "Min": threshold.PSU_INPUT_POWER_MIN, + "Max": threshold.PSU_INPUT_POWER_MAX, + "Unit": Unit.Power, + "format": "float(float(%s)/1000000)" + }, + "OutputsStatus": {"bus": 82, "addr": 0x58, "offset": 0x79, "way": "i2cword", "mask": 0x8800}, + "OutputsVoltage": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/in2_input", "way": "sysfs"}, + "Min": threshold.PSU_OUTPUT_VOLTAGE_MIN, + "Max": threshold.PSU_OUTPUT_VOLTAGE_MAX, + "Unit": Unit.Voltage, + "format": "float(float(%s)/1000)" + }, + "OutputsCurrent": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/curr2_input", "way": "sysfs"}, + "Min": threshold.PSU_OUTPUT_CURRENT_MIN, + "Max": threshold.PSU_OUTPUT_CURRENT_MAX, + "Unit": Unit.Current, + "format": "float(float(%s)/1000)" + }, + "OutputsPower": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/power2_input", "way": "sysfs"}, + "Min": threshold.PSU_OUTPUT_POWER_MIN, + "Max": threshold.PSU_OUTPUT_POWER_MAX, + "Unit": Unit.Power, + "format": "float(float(%s)/1000000)" + }, + } + ], + "temps": [ + { + "name": "BOARD_TEMP", + "temp_id": "TEMP1", + "api_name": "Board", + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/80-004e/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": -10000, + "Low": 0, + "High": 70000, + "Max": 80000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "CPU_TEMP", + "temp_id": "TEMP2", + "api_name": "CPU", + "Temperature": { + "value": {"loc": "/sys/bus/platform/devices/coretemp.0/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": 2000, + "Low": 10000, + "High": 100000, + "Max": 104000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "INLET_TEMP", + "temp_id": "TEMP3", + "api_name": "Inlet", + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/80-004f/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": -10000, + "Low": 0, + "High": 40000, + "Max": 50000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "OUTLET_TEMP", + "temp_id": "TEMP4", + "api_name": "Outlet", + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/76-0048/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": -10000, + "Low": 0, + "High": 70000, + "Max": 80000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "SWITCH_TEMP", + "temp_id": "TEMP5", + "api_name": "ASIC_TEMP", + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/84-0044/hwmon/hwmon*/temp99_input", "way": "sysfs"}, + "Min": 2000, + "Low": 10000, + "High": 100000, + "Max": 105000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "PSU1_TEMP", + "temp_id": "TEMP6", + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-81/81-0058/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": -10000, + "Low": 0, + "High": 55000, + "Max": 60000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "PSU2_TEMP", + "temp_id": "TEMP7", + "Temperature": { + "value": {"loc": "/sys/bus/i2c/devices/i2c-82/82-0058/hwmon/hwmon*/temp1_input", "way": "sysfs"}, + "Min": -10000, + "Low": 0, + "High": 55000, + "Max": 60000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + } + }, + { + "name": "SFF_TEMP", + "Temperature": { + "value": {"loc": "/tmp/highest_sff_temp", "way": "sysfs", "flock_path": "/tmp/highest_sff_temp"}, + "Min": -15000, + "Low": 0, + "High": 80000, + "Max": 100000, + "Unit": Unit.Temperature, + "format": "float(float(%s)/1000)" + }, + "invalid": -10000, + "error": -9999, + } + ], + "leds": [ + { + "name": "FRONT_SYS_LED", + "led_type": "SYS_LED", + "led": {"bus": 2, "addr": 0x2d, "offset": 0x47, "way": "i2c"}, + "led_attrs": { + "green": 0x04, "red": 0x02, "amber": 0x06, "default": 0x04, + "flash": 0xff, "light": 0xff, "off": 0, "mask": 0xff + }, + }, + { + "name": "FRONT_PSU_LED", + "led_type": "PSU_LED", + "led": {"bus": 2, "addr": 0x2d, "offset": 0x4a, "way": "i2c"}, + "led_attrs": { + "green": 0x04, "red": 0x02, "amber": 0x06, "default": 0x04, + "flash": 0xff, "light": 0xff, "off": 0, "mask": 0xff + }, + }, + { + "name": "FRONT_FAN_LED", + "led_type": "FAN_LED", + "led": {"bus": 2, "addr": 0x2d, "offset": 0x49, "way": "i2c"}, + "led_attrs": { + "green": 0x04, "red": 0x02, "amber": 0x06, "default": 0x04, + "flash": 0xff, "light": 0xff, "off": 0, "mask": 0xff + }, + }, + ], + "fans": [ + { + "name": "FAN1", + "airflow": fanairflow, + "e2loc": {'loc': '/sys/bus/i2c/devices/i2c-75/75-0050/eeprom', 'way': 'sysfs'}, + "present": {"loc": "/sys/wb_plat/fan/fan1/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "led": {"bus": 4, "addr": 0x3d, "offset": 0x41, "way": "i2c"}, + "led_attrs": { + "off": 0x0, "red_flash": 0x01, "red": 0x02, + "green_flash": 0x03, "green": 0x04, "amber_flash": 0x05, + "amber": 0x06, "mask": 0x07 + }, + "PowerMax": 38.16, + "Rotor": { + "Rotor1_config": { + "name": "Rotor1", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x65, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan1/motor0/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan1/motor0/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan1/motor0/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.FRONT_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + "Rotor2_config": { + "name": "Rotor2", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x65, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan1/motor1/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan1/motor1/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.REAR_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan1/motor1/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.REAR_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + }, + }, + { + "name": "FAN2", + "airflow": fanairflow, + "e2loc": {'loc': '/sys/bus/i2c/devices/i2c-74/74-0050/eeprom', 'way': 'sysfs'}, + "present": {"loc": "/sys/wb_plat/fan/fan2/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "led": {"bus": 4, "addr": 0x3d, "offset": 0x40, "way": "i2c"}, + "led_attrs": { + "off": 0x0, "red_flash": 0x01, "red": 0x02, + "green_flash": 0x03, "green": 0x04, "amber_flash": 0x05, + "amber": 0x06, "mask": 0x07 + }, + "PowerMax": 38.16, + "Rotor": { + "Rotor1_config": { + "name": "Rotor1", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x64, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan2/motor0/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan2/motor0/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan2/motor0/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.FRONT_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + "Rotor2_config": { + "name": "Rotor2", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x64, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan2/motor1/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan2/motor1/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.REAR_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan2/motor1/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.REAR_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + }, + }, + { + "name": "FAN3", + "airflow": fanairflow, + "e2loc": {'loc': '/sys/bus/i2c/devices/i2c-73/73-0050/eeprom', 'way': 'sysfs'}, + "present": {"loc": "/sys/wb_plat/fan/fan3/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "led": {"bus": 4, "addr": 0x3d, "offset": 0x3f, "way": "i2c"}, + "led_attrs": { + "off": 0x0, "red_flash": 0x01, "red": 0x02, + "green_flash": 0x03, "green": 0x04, "amber_flash": 0x05, + "amber": 0x06, "mask": 0x07 + }, + "PowerMax": 38.16, + "Rotor": { + "Rotor1_config": { + "name": "Rotor1", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x63, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan3/motor0/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan3/motor0/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan3/motor0/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.FRONT_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + "Rotor2_config": { + "name": "Rotor2", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x63, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan3/motor1/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan3/motor1/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.REAR_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan3/motor1/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.REAR_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + }, + }, + { + "name": "FAN4", + "airflow": fanairflow, + "e2loc": {'loc': '/sys/bus/i2c/devices/i2c-72/72-0050/eeprom', 'way': 'sysfs'}, + "present": {"loc": "/sys/wb_plat/fan/fan4/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "led": {"bus": 4, "addr": 0x3d, "offset": 0x3e, "way": "i2c"}, + "led_attrs": { + "off": 0x0, "red_flash": 0x01, "red": 0x02, + "green_flash": 0x03, "green": 0x04, "amber_flash": 0x05, + "amber": 0x06, "mask": 0x07 + }, + "PowerMax": 38.16, + "Rotor": { + "Rotor1_config": { + "name": "Rotor1", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x62, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan4/motor0/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan4/motor0/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan4/motor0/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.FRONT_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + "Rotor2_config": { + "name": "Rotor2", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x62, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan4/motor1/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan4/motor1/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.REAR_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan4/motor1/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.REAR_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + }, + }, + { + "name": "FAN5", + "airflow": fanairflow, + "e2loc": {'loc': '/sys/bus/i2c/devices/i2c-71/71-0050/eeprom', 'way': 'sysfs'}, + "present": {"loc": "/sys/wb_plat/fan/fan5/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "led": {"bus": 4, "addr": 0x3d, "offset": 0x3d, "way": "i2c"}, + "led_attrs": { + "off": 0x0, "red_flash": 0x01, "red": 0x02, + "green_flash": 0x03, "green": 0x04, "amber_flash": 0x05, + "amber": 0x06, "mask": 0x07 + }, + "PowerMax": 38.16, + "Rotor": { + "Rotor1_config": { + "name": "Rotor1", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x61, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan5/motor0/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan5/motor0/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan5/motor0/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.FRONT_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + "Rotor2_config": { + "name": "Rotor2", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x61, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan5/motor1/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan5/motor1/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.REAR_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan5/motor1/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.REAR_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + }, + }, + { + "name": "FAN6", + "airflow": fanairflow, + "e2loc": {'loc': '/sys/bus/i2c/devices/i2c-70/70-0050/eeprom', 'way': 'sysfs'}, + "present": {"loc": "/sys/wb_plat/fan/fan6/present", "way": "sysfs", "mask": 0x01, "okval": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "led": {"bus": 4, "addr": 0x3d, "offset": 0x3c, "way": "i2c"}, + "led_attrs": { + "off": 0x0, "red_flash": 0x01, "red": 0x02, + "green_flash": 0x03, "green": 0x04, "amber_flash": 0x05, + "amber": 0x06, "mask": 0x07 + }, + "PowerMax": 38.16, + "Rotor": { + "Rotor1_config": { + "name": "Rotor1", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x60, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan6/motor0/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan6/motor0/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.FRONT_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan6/motor0/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.FRONT_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + "Rotor2_config": { + "name": "Rotor2", + "Set_speed": {"bus": 4, "addr": 0x3d, "offset": 0x60, "way": "i2c"}, + "Running": {"loc": "/sys/wb_plat/fan/fan6/motor1/status", "way": "sysfs", "mask": 0x01, "is_runing": 1}, + "HwAlarm": {"loc": "/sys/wb_plat/fan/fan6/motor1/status", "way": "sysfs", "mask": 0x01, "no_alarm": 1}, + "SpeedMin": threshold.FAN_SPEED_MIN, + "SpeedMax": threshold.REAR_FAN_SPEED_MAX, + "Speed": { + "value": {"loc": "/sys/wb_plat/fan/fan6/motor1/speed", "way": "sysfs"}, + "Min": threshold.FAN_SPEED_MIN, + "Max": threshold.REAR_FAN_SPEED_MAX, + "Unit": Unit.Speed, + }, + }, + }, + }, + ], + "cplds": [ + { + "name": "CPU_CPLD", + "cpld_id": "CPLD1", + "VersionFile": {"loc": "/dev/cpld0", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for system power", + "slot": 0, + "warm": 1, + }, + { + "name": "CONNECT_BOARD_CPLD", + "cpld_id": "CPLD2", + "VersionFile": {"loc": "/dev/cpld1", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for base functions", + "slot": 0, + "warm": 1, + }, + { + "name": "MAC_CPLDA", + "cpld_id": "CPLD3", + "VersionFile": {"loc": "/dev/cpld4", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for sff modules", + "slot": 0, + "warm": 1, + }, + { + "name": "MAC_CPLDB", + "cpld_id": "CPLD4", + "VersionFile": {"loc": "/dev/cpld5", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for sff modules", + "slot": 0, + "warm": 1, + }, + { + "name": "MAC_CPLDC", + "cpld_id": "CPLD8", + "VersionFile": {"loc": "/dev/cpld7", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for sff modules", + "slot": 0, + }, + { + "name": "FAN_CPLD", + "cpld_id": "CPLD5", + "VersionFile": {"loc": "/dev/cpld6", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for fan modules", + "slot": 0, + "warm": 1, + }, + { + "name": "FPGA", + "cpld_id": "CPLD6", + "VersionFile": {"loc": "/dev/fpga0", "offset": 0, "len": 4, "way": "devfile_ascii"}, + "desc": "Used for base functions", + "slot": 0, + "format": "little_endian", + "warm": 1, + }, + { + "name": "BIOS", + "cpld_id": "CPLD7", + "VersionFile": {"cmd": "dmidecode -s bios-version", "way": "cmd"}, + "desc": "Performs initialization of hardware components during booting", + "slot": 0, + "type": "str", + "warm": 0, + }, + ], + "dcdc": [ + { + "name": "VDD5V_CLK_MCU", + "dcdc_id": "DCDC1", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in1_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 4250, + "Low": 4500, + "High": 5500, + "Max": 5750, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD3.3_CLK", + "dcdc_id": "DCDC2", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in2_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD1.0V", + "dcdc_id": "DCDC3", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in3_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 850, + "Low": 900, + "High": 1100, + "Max": 1150, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD1.8V", + "dcdc_id": "DCDC4", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in4_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1530, + "Low": 1620, + "High": 1980, + "Max": 2070, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD3.3V_A", + "dcdc_id": "DCDC5", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in5_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD1.2V", + "dcdc_id": "DCDC6", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in6_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1020, + "Low": 1080, + "High": 1320, + "Max": 1380, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD_CORE", + "dcdc_id": "DCDC7", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in7_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 600, + "Low": 650, + "High": 990, + "Max": 1100, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "ANALOG0.75V", + "dcdc_id": "DCDC8", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in8_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 615, + "Low": 640, + "High": 907, + "Max": 1000, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "MAC_VDD1.2V", + "dcdc_id": "DCDC9", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in9_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1020, + "Low": 1080, + "High": 1320, + "Max": 1380, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDDO1.8V", + "dcdc_id": "DCDC10", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in10_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1530, + "Low": 1620, + "High": 1980, + "Max": 2070, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "MAC_ANA1.2V", + "dcdc_id": "DCDC11", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in11_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1020, + "Low": 1080, + "High": 1320, + "Max": 1380, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "MAC_ANA1.8V", + "dcdc_id": "DCDC12", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in12_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1530, + "Low": 1620, + "High": 1980, + "Max": 2070, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "QSFP56_VDD3.3V_A", + "dcdc_id": "DCDC13", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in13_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "QSFP56_VDD3.3V_B", + "dcdc_id": "DCDC14", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in14_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "QSFPDD_VDD3.3V_A", + "dcdc_id": "DCDC15", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in15_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "QSFPDD_VDD3.3V_B", + "dcdc_id": "DCDC16", + "value": { + "loc": "/sys/bus/i2c/devices/85-005b/hwmon/*/in16_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD5.0V", + "dcdc_id": "DCDC17", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in1_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 4250, + "Low": 4500, + "High": 5500, + "Max": 5750, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "SW_VDD1.2V", + "dcdc_id": "DCDC18", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in2_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1020, + "Low": 1080, + "High": 1320, + "Max": 1380, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD2.5V", + "dcdc_id": "DCDC19", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in3_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2125, + "Low": 2250, + "High": 2750, + "Max": 2875, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD3.3V_B", + "dcdc_id": "DCDC20", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in4_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD12V", + "dcdc_id": "DCDC21", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in6_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 10200, + "Low": 10800, + "High": 13200, + "Max": 13800, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VDD3.3_STBY", + "dcdc_id": "DCDC22", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in7_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "SSD_VDD3.3V", + "dcdc_id": "DCDC23", + "value": { + "loc": "/sys/bus/i2c/devices/64-005b/hwmon/*/in8_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2805, + "Low": 2970, + "High": 3630, + "Max": 3795, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VCCIN_V", + "dcdc_id": "DCDC24", + "value": { + "loc": "/sys/bus/i2c/devices/65-0067/hwmon/*/in2_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1368, + "Low": 1444, + "High": 2142, + "Max": 2244, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "P1V05_V", + "dcdc_id": "DCDC25", + "value": { + "loc": "/sys/bus/i2c/devices/65-0067/hwmon/*/in3_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 882, + "Low": 931, + "High": 1176, + "Max": 1232, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VCCD_V", + "dcdc_id": "DCDC26", + "value": { + "loc": "/sys/bus/i2c/devices/65-006c/hwmon/*/in2_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 990, + "Low": 1045, + "High": 1386, + "Max": 1452, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "VCCSCSUS_V", + "dcdc_id": "DCDC27", + "value": { + "loc": "/sys/bus/i2c/devices/65-006c/hwmon/*/in3_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 855, + "Low": 903, + "High": 1208, + "Max": 1265, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "P5V_AUX_V", + "dcdc_id": "DCDC28", + "value": { + "loc": "/sys/bus/i2c/devices/65-0043/hwmon/*/in1_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 3852, + "Low": 4066, + "High": 6059, + "Max": 6347, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "P3V3_STBY_V", + "dcdc_id": "DCDC29", + "value": { + "loc": "/sys/bus/i2c/devices/65-0043/hwmon/*/in2_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 2682, + "Low": 2831, + "High": 3822, + "Max": 4004, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + { + "name": "P1V7_VCCSCFUSESUS_V", + "dcdc_id": "DCDC30", + "value": { + "loc": "/sys/bus/i2c/devices/65-0043/hwmon/*/in3_input", + "way": "sysfs", + }, + "read_times": 1, + "Min": 1377, + "Low": 1454, + "High": 1964, + "Max": 2057, + "Unit": "V", + "format": "float(float(%s)/1000)", + }, + ], + "cpu": [ + { + "name": "cpu", + "CpuResetCntReg": {"loc": "/dev/cpld1", "offset": 0x88, "len": 1, "way": "devfile_ascii"}, + "reboot_cause_path": "/etc/sonic/.reboot/.previous-reboot-cause.txt" + } + ], + "sfps": { + "ver": '1.0', + "port_index_start": 0, + "port_num": 56, + "log_level": 2, + "eeprom_retry_times": 5, + "eeprom_retry_break_sec": 0.2, + "presence_cpld": { + "dev_id": { + 4: { + "offset": { + 0x30: "41-48", + 0x31: "49-56" + }, + }, + 5: { + "offset": { + 0x30: "1-8", + 0x31: "9-13,15,22,24", + 0x32: "31,32,35" + }, + }, + 7: { + "offset": { + 0x30: "14,16-21,23", + 0x31: "25-30,33,34", + 0x32: "36-40" + }, + }, + }, + }, + "presence_val_is_present": 0, + "eeprom_path": "/sys/bus/i2c/devices/i2c-%d/%d-0050/eeprom", + "eeprom_path_key": list(range(6, 63)), + "optoe_driver_path": "/sys/bus/i2c/devices/i2c-%d/%d-0050/dev_class", + "optoe_driver_key": list(range(6, 63)), + "reset_cpld": { + "dev_id": { + 4: { + "offset": { + 0x21: "41-48", + 0x22: "49-56" + }, + }, + 5: { + "offset": { + 0x20: "1-4,6-9", + 0x21: "10-12,14,35,36", + }, + }, + 7: { + "offset": { + 0x21: "5,13,15-20", + 0x22: "21-28", + 0x23: "29-34,37,38", + 0x24: "39,40" + }, + }, + }, + }, + "reset_val_is_reset": 0, + } +} diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/hal-config/x86_64_micas_m2_w6520_48c8qc_r0_monitor.py b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/hal-config/x86_64_micas_m2_w6520_48c8qc_r0_monitor.py new file mode 100644 index 000000000000..0315a8174fe7 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/hal-config/x86_64_micas_m2_w6520_48c8qc_r0_monitor.py @@ -0,0 +1,207 @@ +# coding:utf-8 + + +monitor = { + "openloop": { + "linear": { + "name": "linear", + "flag": 0, + "pwm_min": 0x80, + "pwm_max": 0xff, + "K": 11, + "tin_min": 38, + }, + "curve": { + "name": "curve", + "flag": 1, + "pwm_min": 0x80, + "pwm_max": 0xff, + "a": 0.369, + "b": -15.657, + "c": 289, + "tin_min": 25, + }, + }, + + "pid": { + "CPU_TEMP": { + "name": "CPU_TEMP", + "flag": 1, + "type": "duty", + "pwm_min": 0x80, + "pwm_max": 0xff, + "Kp": 1.5, + "Ki": 1, + "Kd": 0.3, + "target": 80, + "value": [None, None, None], + }, + "SWITCH_TEMP": { + "name": "SWITCH_TEMP", + "flag": 1, + "type": "duty", + "pwm_min": 0x80, + "pwm_max": 0xff, + "Kp": 1.5, + "Ki": 1, + "Kd": 0.3, + "target": 90, + "value": [None, None, None], + }, + "OUTLET_TEMP": { + "name": "OUTLET_TEMP", + "flag": 1, + "type": "duty", + "pwm_min": 0x80, + "pwm_max": 0xff, + "Kp": 2, + "Ki": 0.4, + "Kd": 0.3, + "target": 65, + "value": [None, None, None], + }, + "BOARD_TEMP": { + "name": "BOARD_TEMP", + "flag": 0, + "type": "duty", + "pwm_min": 0x80, + "pwm_max": 0xff, + "Kp": 2, + "Ki": 0.4, + "Kd": 0.3, + "target": 65, + "value": [None, None, None], + }, + "SFF_TEMP": { + "name": "SFF_TEMP", + "flag": 1, + "type": "duty", + "pwm_min": 0x80, + "pwm_max": 0xff, + "Kp": 0.1, + "Ki": 0.4, + "Kd": 0, + "target": 62, + "value": [None, None, None], + }, + }, + + "temps_threshold": { + "SWITCH_TEMP": {"name": "SWITCH_TEMP", "warning": 100, "critical": 105, "invalid": -100000, "error": -99999}, + "INLET_TEMP": {"name": "INLET_TEMP", "warning": 40, "critical": 50, "fix": -3}, + "BOARD_TEMP": {"name": "BOARD_TEMP", "warning": 70, "critical": 75}, + "OUTLET_TEMP": {"name": "OUTLET_TEMP", "warning": 70, "critical": 75}, + "CPU_TEMP": {"name": "CPU_TEMP", "warning": 100, "critical": 102}, + "SFF_TEMP": {"name": "SFF_TEMP", "warning": 999, "critical": 1000, "ignore_threshold": 1, "invalid": -10000, "error": -9999}, + }, + + "fancontrol_para": { + "interval": 5, + "fan_status_interval": 0.5, + "max_pwm": 0xff, + "min_pwm": 0x80, + "abnormal_pwm": 0xff, + "warning_pwm": 0xff, + "temp_invalid_pid_pwm": 0x80, + "temp_error_pid_pwm": 0x80, + "temp_fail_num": 3, + "check_temp_fail": [ + {"temp_name": "INLET_TEMP"}, + {"temp_name": "SWITCH_TEMP"}, + {"temp_name": "CPU_TEMP"}, + ], + "temp_warning_num": 3, # temp over warning 3 times continuously + "temp_critical_num": 3, # temp over critical 3 times continuously + "temp_warning_countdown": 60, # 5 min warning speed after not warning + "temp_critical_countdown": 60, # 5 min full speed after not critical + "rotor_error_count": 2, # fan rotor error 2 times continuously + "inlet_mac_diff": 999, + "check_crit_reboot_flag": 1, + "check_crit_reboot_num": 3, + "check_crit_sleep_time": 20, + "psu_absent_fullspeed_num": 0xFF, + "fan_absent_fullspeed_num": 1, + "rotor_error_fullspeed_num": 1, + "psu_fan_control": 1, + "fan_plug_in_default_countdown": 0, # no use + "fan_plug_in_pwm": 0x80, # fan plug in pwd + "deal_fan_error": 1, + "deal_fan_error_conf": { + "countdown": 2, + "FAN1": [ + {"name": "FAN1", "pwm": 0xff}, + {"name": "FAN2", "pwm": 0x80}, + {"name": "FAN3", "pwm": 0x80}, + {"name": "FAN4", "pwm": 0x80}, + {"name": "FAN5", "pwm": 0x80}, + {"name": "FAN6", "pwm": 0x80}, + ], + "FAN2": [ + {"name": "FAN1", "pwm": 0x80}, + {"name": "FAN2", "pwm": 0xff}, + {"name": "FAN3", "pwm": 0x80}, + {"name": "FAN4", "pwm": 0x80}, + {"name": "FAN5", "pwm": 0x80}, + {"name": "FAN6", "pwm": 0x80}, + ], + "FAN3": [ + {"name": "FAN1", "pwm": 0x80}, + {"name": "FAN2", "pwm": 0x80}, + {"name": "FAN3", "pwm": 0xff}, + {"name": "FAN4", "pwm": 0x80}, + {"name": "FAN5", "pwm": 0x80}, + {"name": "FAN6", "pwm": 0x80}, + ], + "FAN4": [ + {"name": "FAN1", "pwm": 0x80}, + {"name": "FAN2", "pwm": 0x80}, + {"name": "FAN3", "pwm": 0x80}, + {"name": "FAN4", "pwm": 0xff}, + {"name": "FAN5", "pwm": 0x80}, + {"name": "FAN6", "pwm": 0x80}, + ], + "FAN5": [ + {"name": "FAN1", "pwm": 0x80}, + {"name": "FAN2", "pwm": 0x80}, + {"name": "FAN3", "pwm": 0x80}, + {"name": "FAN4", "pwm": 0x80}, + {"name": "FAN5", "pwm": 0xff}, + {"name": "FAN6", "pwm": 0x80}, + ], + "FAN6": [ + {"name": "FAN1", "pwm": 0x80}, + {"name": "FAN2", "pwm": 0x80}, + {"name": "FAN3", "pwm": 0x80}, + {"name": "FAN4", "pwm": 0x80}, + {"name": "FAN5", "pwm": 0x80}, + {"name": "FAN6", "pwm": 0xff}, + ], + }, + }, + + "ledcontrol_para": { + "interval": 5, + "checkpsu": 0, # 0: sys led don't follow psu led + "checkfan": 0, # 0: sys led don't follow fan led + "psu_amber_num": 1, + "fan_amber_num": 1, + "board_sys_led": [ + {"led_name": "FRONT_SYS_LED"}, + ], + "board_psu_led": [ + {"led_name": "FRONT_PSU_LED"}, + ], + "board_fan_led": [ + {"led_name": "FRONT_FAN_LED"}, + ], + "psu_air_flow_monitor": 0, + "fan_air_flow_monitor": 0, + "psu_air_flow_amber_num": 0, + "fan_air_flow_amber_num": 0, + }, + + "otp_reboot_judge_file": { + "otp_switch_reboot_judge_file": "/etc/.otp_switch_reboot_flag", + "otp_other_reboot_judge_file": "/etc/.otp_other_reboot_flag", + }, +} diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/Makefile b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/Makefile new file mode 100644 index 000000000000..111fbf28cbe5 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/Makefile @@ -0,0 +1,10 @@ +MAKEFILE_FILE_PATH = $(abspath $(lastword $(MAKEFILE_LIST))) +MODULES_DIR = $(abspath $(MAKEFILE_FILE_PATH)/../../../../common/modules) +EXTRA_CFLAGS+= -I$(MODULES_DIR) + +obj-m := wb_pcie_dev_device.o +obj-m += wb_fpga_pca954x_device.o +obj-m += wb_fpga_i2c_bus_device.o +obj-m += wb_lpc_drv_device.o +obj-m += wb_i2c_dev_device.o +obj-m += wb_io_dev_device.o diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_fpga_i2c_bus_device.c b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_fpga_i2c_bus_device.c new file mode 100644 index 000000000000..28674effb41e --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_fpga_i2c_bus_device.c @@ -0,0 +1,2435 @@ +/* + * An wb_fpga_i2c_bus_device driver for fpga i2c device function + * + * Copyright (C) 2024 Micas Networks Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include + +#include +#include + +static int g_wb_fpga_i2c_debug = 0; +static int g_wb_fpga_i2c_error = 0; + +module_param(g_wb_fpga_i2c_debug, int, S_IRUGO | S_IWUSR); +module_param(g_wb_fpga_i2c_error, int, S_IRUGO | S_IWUSR); + +#define WB_FPGA_I2C_DEBUG_VERBOSE(fmt, args...) do { \ + if (g_wb_fpga_i2c_debug) { \ + printk(KERN_INFO "[WB_FPGA_I2C][VER][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +#define WB_FPGA_I2C_DEBUG_ERROR(fmt, args...) do { \ + if (g_wb_fpga_i2c_error) { \ + printk(KERN_ERR "[WB_FPGA_I2C][ERR][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +static fpga_i2c_bus_device_t fpga_i2c_bus_device_data0 = { + .adap_nr = 2, + .i2c_timeout = 3000, + .i2c_scale = 0x500, + .i2c_filter = 0x504, + .i2c_stretch = 0x508, + .i2c_ext_9548_exits_flag = 0x50c, + .i2c_ext_9548_addr = 0x510, + .i2c_ext_9548_chan = 0x514, + .i2c_in_9548_chan = 0x518, + .i2c_slave = 0x51c, + .i2c_reg = 0x520, + .i2c_reg_len = 0x530, + .i2c_data_len = 0x534, + .i2c_ctrl = 0x538, + .i2c_status = 0x53c, + .i2c_data_buf = 0x580, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x80, + .i2c_reset_on = 0x00000001, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_i2c_bus_device_data1 = { + .adap_nr = 3, + .i2c_timeout = 3000, + .i2c_scale = 0x600, + .i2c_filter = 0x604, + .i2c_stretch = 0x608, + .i2c_ext_9548_exits_flag = 0x60c, + .i2c_ext_9548_addr = 0x610, + .i2c_ext_9548_chan = 0x614, + .i2c_in_9548_chan = 0x618, + .i2c_slave = 0x61c, + .i2c_reg = 0x620, + .i2c_reg_len = 0x630, + .i2c_data_len = 0x634, + .i2c_ctrl = 0x638, + .i2c_status = 0x63c, + .i2c_data_buf = 0x680, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x84, + .i2c_reset_on = 0x00000001, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_i2c_bus_device_data2 = { + .adap_nr = 4, + .i2c_timeout = 3000, + .i2c_scale = 0x700, + .i2c_filter = 0x704, + .i2c_stretch = 0x708, + .i2c_ext_9548_exits_flag = 0x70c, + .i2c_ext_9548_addr = 0x710, + .i2c_ext_9548_chan = 0x714, + .i2c_in_9548_chan = 0x718, + .i2c_slave = 0x71c, + .i2c_reg = 0x720, + .i2c_reg_len = 0x730, + .i2c_data_len = 0x734, + .i2c_ctrl = 0x738, + .i2c_status = 0x73c, + .i2c_data_buf = 0x780, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x88, + .i2c_reset_on = 0x00000001, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_i2c_bus_device_data3 = { + .adap_nr = 5, + .i2c_timeout = 3000, + .i2c_scale = 0x800, + .i2c_filter = 0x804, + .i2c_stretch = 0x808, + .i2c_ext_9548_exits_flag = 0x80c, + .i2c_ext_9548_addr = 0x810, + .i2c_ext_9548_chan = 0x814, + .i2c_in_9548_chan = 0x818, + .i2c_slave = 0x81c, + .i2c_reg = 0x820, + .i2c_reg_len = 0x830, + .i2c_data_len = 0x834, + .i2c_ctrl = 0x838, + .i2c_status = 0x83c, + .i2c_data_buf = 0x900, + .i2c_data_buf_len = 0x100, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x8c, + .i2c_reset_on = 0x00000001, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data0 = { + .adap_nr = 6, + .i2c_timeout = 3000, + .i2c_scale = 0x2c00, + .i2c_filter = 0x2c04, + .i2c_stretch = 0x2c08, + .i2c_ext_9548_exits_flag = 0x2c0c, + .i2c_ext_9548_addr = 0x2c10, + .i2c_ext_9548_chan = 0x2c14, + .i2c_in_9548_chan = 0x2c18, + .i2c_slave = 0x2c1c, + .i2c_reg = 0x2c20, + .i2c_reg_len = 0x2c30, + .i2c_data_len = 0x2c34, + .i2c_ctrl = 0x2c38, + .i2c_status = 0x2c3c, + .i2c_data_buf = 0x2c80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000001, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data1 = { + .adap_nr = 7, + .i2c_timeout = 3000, + .i2c_scale = 0x2d00, + .i2c_filter = 0x2d04, + .i2c_stretch = 0x2d08, + .i2c_ext_9548_exits_flag = 0x2d0c, + .i2c_ext_9548_addr = 0x2d10, + .i2c_ext_9548_chan = 0x2d14, + .i2c_in_9548_chan = 0x2d18, + .i2c_slave = 0x2d1c, + .i2c_reg = 0x2d20, + .i2c_reg_len = 0x2d30, + .i2c_data_len = 0x2d34, + .i2c_ctrl = 0x2d38, + .i2c_status = 0x2d3c, + .i2c_data_buf = 0x2d80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000002, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data2 = { + .adap_nr = 8, + .i2c_timeout = 3000, + .i2c_scale = 0x2e00, + .i2c_filter = 0x2e04, + .i2c_stretch = 0x2e08, + .i2c_ext_9548_exits_flag = 0x2e0c, + .i2c_ext_9548_addr = 0x2e10, + .i2c_ext_9548_chan = 0x2e14, + .i2c_in_9548_chan = 0x2e18, + .i2c_slave = 0x2e1c, + .i2c_reg = 0x2e20, + .i2c_reg_len = 0x2e30, + .i2c_data_len = 0x2e34, + .i2c_ctrl = 0x2e38, + .i2c_status = 0x2e3c, + .i2c_data_buf = 0x2e80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000004, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data3 = { + .adap_nr = 9, + .i2c_timeout = 3000, + .i2c_scale = 0x2f00, + .i2c_filter = 0x2f04, + .i2c_stretch = 0x2f08, + .i2c_ext_9548_exits_flag = 0x2f0c, + .i2c_ext_9548_addr = 0x2f10, + .i2c_ext_9548_chan = 0x2f14, + .i2c_in_9548_chan = 0x2f18, + .i2c_slave = 0x2f1c, + .i2c_reg = 0x2f20, + .i2c_reg_len = 0x2f30, + .i2c_data_len = 0x2f34, + .i2c_ctrl = 0x2f38, + .i2c_status = 0x2f3c, + .i2c_data_buf = 0x2f80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000008, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data4 = { + .adap_nr = 10, + .i2c_timeout = 3000, + .i2c_scale = 0x3000, + .i2c_filter = 0x3004, + .i2c_stretch = 0x3008, + .i2c_ext_9548_exits_flag = 0x300c, + .i2c_ext_9548_addr = 0x3010, + .i2c_ext_9548_chan = 0x3014, + .i2c_in_9548_chan = 0x3018, + .i2c_slave = 0x301c, + .i2c_reg = 0x3020, + .i2c_reg_len = 0x3030, + .i2c_data_len = 0x3034, + .i2c_ctrl = 0x3038, + .i2c_status = 0x303c, + .i2c_data_buf = 0x3080, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000010, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data5 = { + .adap_nr = 11, + .i2c_timeout = 3000, + .i2c_scale = 0x3100, + .i2c_filter = 0x3104, + .i2c_stretch = 0x3108, + .i2c_ext_9548_exits_flag = 0x310c, + .i2c_ext_9548_addr = 0x3110, + .i2c_ext_9548_chan = 0x3114, + .i2c_in_9548_chan = 0x3118, + .i2c_slave = 0x311c, + .i2c_reg = 0x3120, + .i2c_reg_len = 0x3130, + .i2c_data_len = 0x3134, + .i2c_ctrl = 0x3138, + .i2c_status = 0x313c, + .i2c_data_buf = 0x3180, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000020, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data6 = { + .adap_nr = 12, + .i2c_timeout = 3000, + .i2c_scale = 0x3200, + .i2c_filter = 0x3204, + .i2c_stretch = 0x3208, + .i2c_ext_9548_exits_flag = 0x320c, + .i2c_ext_9548_addr = 0x3210, + .i2c_ext_9548_chan = 0x3214, + .i2c_in_9548_chan = 0x3218, + .i2c_slave = 0x321c, + .i2c_reg = 0x3220, + .i2c_reg_len = 0x3230, + .i2c_data_len = 0x3234, + .i2c_ctrl = 0x3238, + .i2c_status = 0x323c, + .i2c_data_buf = 0x3280, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000040, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data7 = { + .adap_nr = 13, + .i2c_timeout = 3000, + .i2c_scale = 0x3300, + .i2c_filter = 0x3304, + .i2c_stretch = 0x3308, + .i2c_ext_9548_exits_flag = 0x330c, + .i2c_ext_9548_addr = 0x3310, + .i2c_ext_9548_chan = 0x3314, + .i2c_in_9548_chan = 0x3318, + .i2c_slave = 0x331c, + .i2c_reg = 0x3320, + .i2c_reg_len = 0x3330, + .i2c_data_len = 0x3334, + .i2c_ctrl = 0x3338, + .i2c_status = 0x333c, + .i2c_data_buf = 0x3380, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000080, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data8 = { + .adap_nr = 14, + .i2c_timeout = 3000, + .i2c_scale = 0x3400, + .i2c_filter = 0x3404, + .i2c_stretch = 0x3408, + .i2c_ext_9548_exits_flag = 0x340c, + .i2c_ext_9548_addr = 0x3410, + .i2c_ext_9548_chan = 0x3414, + .i2c_in_9548_chan = 0x3418, + .i2c_slave = 0x341c, + .i2c_reg = 0x3420, + .i2c_reg_len = 0x3430, + .i2c_data_len = 0x3434, + .i2c_ctrl = 0x3438, + .i2c_status = 0x343c, + .i2c_data_buf = 0x3480, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000100, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data9 = { + .adap_nr = 15, + .i2c_timeout = 3000, + .i2c_scale = 0x3500, + .i2c_filter = 0x3504, + .i2c_stretch = 0x3508, + .i2c_ext_9548_exits_flag = 0x350c, + .i2c_ext_9548_addr = 0x3510, + .i2c_ext_9548_chan = 0x3514, + .i2c_in_9548_chan = 0x3518, + .i2c_slave = 0x351c, + .i2c_reg = 0x3520, + .i2c_reg_len = 0x3530, + .i2c_data_len = 0x3534, + .i2c_ctrl = 0x3538, + .i2c_status = 0x353c, + .i2c_data_buf = 0x3580, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000200, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data10 = { + .adap_nr = 16, + .i2c_timeout = 3000, + .i2c_scale = 0x3600, + .i2c_filter = 0x3604, + .i2c_stretch = 0x3608, + .i2c_ext_9548_exits_flag = 0x360c, + .i2c_ext_9548_addr = 0x3610, + .i2c_ext_9548_chan = 0x3614, + .i2c_in_9548_chan = 0x3618, + .i2c_slave = 0x361c, + .i2c_reg = 0x3620, + .i2c_reg_len = 0x3630, + .i2c_data_len = 0x3634, + .i2c_ctrl = 0x3638, + .i2c_status = 0x363c, + .i2c_data_buf = 0x3680, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000400, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data11 = { + .adap_nr = 17, + .i2c_timeout = 3000, + .i2c_scale = 0x3700, + .i2c_filter = 0x3704, + .i2c_stretch = 0x3708, + .i2c_ext_9548_exits_flag = 0x370c, + .i2c_ext_9548_addr = 0x3710, + .i2c_ext_9548_chan = 0x3714, + .i2c_in_9548_chan = 0x3718, + .i2c_slave = 0x371c, + .i2c_reg = 0x3720, + .i2c_reg_len = 0x3730, + .i2c_data_len = 0x3734, + .i2c_ctrl = 0x3738, + .i2c_status = 0x373c, + .i2c_data_buf = 0x3780, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00000800, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data12 = { + .adap_nr = 18, + .i2c_timeout = 3000, + .i2c_scale = 0x3800, + .i2c_filter = 0x3804, + .i2c_stretch = 0x3808, + .i2c_ext_9548_exits_flag = 0x380c, + .i2c_ext_9548_addr = 0x3810, + .i2c_ext_9548_chan = 0x3814, + .i2c_in_9548_chan = 0x3818, + .i2c_slave = 0x381c, + .i2c_reg = 0x3820, + .i2c_reg_len = 0x3830, + .i2c_data_len = 0x3834, + .i2c_ctrl = 0x3838, + .i2c_status = 0x383c, + .i2c_data_buf = 0x3880, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00001000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data13 = { + .adap_nr = 19, + .i2c_timeout = 3000, + .i2c_scale = 0x3900, + .i2c_filter = 0x3904, + .i2c_stretch = 0x3908, + .i2c_ext_9548_exits_flag = 0x390c, + .i2c_ext_9548_addr = 0x3910, + .i2c_ext_9548_chan = 0x3914, + .i2c_in_9548_chan = 0x3918, + .i2c_slave = 0x391c, + .i2c_reg = 0x3920, + .i2c_reg_len = 0x3930, + .i2c_data_len = 0x3934, + .i2c_ctrl = 0x3938, + .i2c_status = 0x393c, + .i2c_data_buf = 0x3980, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00002000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data14 = { + .adap_nr = 20, + .i2c_timeout = 3000, + .i2c_scale = 0x3a00, + .i2c_filter = 0x3a04, + .i2c_stretch = 0x3a08, + .i2c_ext_9548_exits_flag = 0x3a0c, + .i2c_ext_9548_addr = 0x3a10, + .i2c_ext_9548_chan = 0x3a14, + .i2c_in_9548_chan = 0x3a18, + .i2c_slave = 0x3a1c, + .i2c_reg = 0x3a20, + .i2c_reg_len = 0x3a30, + .i2c_data_len = 0x3a34, + .i2c_ctrl = 0x3a38, + .i2c_status = 0x3a3c, + .i2c_data_buf = 0x3a80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00004000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data15 = { + .adap_nr = 21, + .i2c_timeout = 3000, + .i2c_scale = 0x3b00, + .i2c_filter = 0x3b04, + .i2c_stretch = 0x3b08, + .i2c_ext_9548_exits_flag = 0x3b0c, + .i2c_ext_9548_addr = 0x3b10, + .i2c_ext_9548_chan = 0x3b14, + .i2c_in_9548_chan = 0x3b18, + .i2c_slave = 0x3b1c, + .i2c_reg = 0x3b20, + .i2c_reg_len = 0x3b30, + .i2c_data_len = 0x3b34, + .i2c_ctrl = 0x3b38, + .i2c_status = 0x3b3c, + .i2c_data_buf = 0x3b80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00008000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data16 = { + .adap_nr = 22, + .i2c_timeout = 3000, + .i2c_scale = 0x3c00, + .i2c_filter = 0x3c04, + .i2c_stretch = 0x3c08, + .i2c_ext_9548_exits_flag = 0x3c0c, + .i2c_ext_9548_addr = 0x3c10, + .i2c_ext_9548_chan = 0x3c14, + .i2c_in_9548_chan = 0x3c18, + .i2c_slave = 0x3c1c, + .i2c_reg = 0x3c20, + .i2c_reg_len = 0x3c30, + .i2c_data_len = 0x3c34, + .i2c_ctrl = 0x3c38, + .i2c_status = 0x3c3c, + .i2c_data_buf = 0x3c80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00010000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data17 = { + .adap_nr = 23, + .i2c_timeout = 3000, + .i2c_scale = 0x3d00, + .i2c_filter = 0x3d04, + .i2c_stretch = 0x3d08, + .i2c_ext_9548_exits_flag = 0x3d0c, + .i2c_ext_9548_addr = 0x3d10, + .i2c_ext_9548_chan = 0x3d14, + .i2c_in_9548_chan = 0x3d18, + .i2c_slave = 0x3d1c, + .i2c_reg = 0x3d20, + .i2c_reg_len = 0x3d30, + .i2c_data_len = 0x3d34, + .i2c_ctrl = 0x3d38, + .i2c_status = 0x3d3c, + .i2c_data_buf = 0x3d80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00020000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data18 = { + .adap_nr = 24, + .i2c_timeout = 3000, + .i2c_scale = 0x3e00, + .i2c_filter = 0x3e04, + .i2c_stretch = 0x3e08, + .i2c_ext_9548_exits_flag = 0x3e0c, + .i2c_ext_9548_addr = 0x3e10, + .i2c_ext_9548_chan = 0x3e14, + .i2c_in_9548_chan = 0x3e18, + .i2c_slave = 0x3e1c, + .i2c_reg = 0x3e20, + .i2c_reg_len = 0x3e30, + .i2c_data_len = 0x3e34, + .i2c_ctrl = 0x3e38, + .i2c_status = 0x3e3c, + .i2c_data_buf = 0x3e80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00040000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data19 = { + .adap_nr = 25, + .i2c_timeout = 3000, + .i2c_scale = 0x3f00, + .i2c_filter = 0x3f04, + .i2c_stretch = 0x3f08, + .i2c_ext_9548_exits_flag = 0x3f0c, + .i2c_ext_9548_addr = 0x3f10, + .i2c_ext_9548_chan = 0x3f14, + .i2c_in_9548_chan = 0x3f18, + .i2c_slave = 0x3f1c, + .i2c_reg = 0x3f20, + .i2c_reg_len = 0x3f30, + .i2c_data_len = 0x3f34, + .i2c_ctrl = 0x3f38, + .i2c_status = 0x3f3c, + .i2c_data_buf = 0x3f80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00080000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data20 = { + .adap_nr = 26, + .i2c_timeout = 3000, + .i2c_scale = 0x4000, + .i2c_filter = 0x4004, + .i2c_stretch = 0x4008, + .i2c_ext_9548_exits_flag = 0x400c, + .i2c_ext_9548_addr = 0x4010, + .i2c_ext_9548_chan = 0x4014, + .i2c_in_9548_chan = 0x4018, + .i2c_slave = 0x401c, + .i2c_reg = 0x4020, + .i2c_reg_len = 0x4030, + .i2c_data_len = 0x4034, + .i2c_ctrl = 0x4038, + .i2c_status = 0x403c, + .i2c_data_buf = 0x4080, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00100000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data21 = { + .adap_nr = 27, + .i2c_timeout = 3000, + .i2c_scale = 0x4100, + .i2c_filter = 0x4104, + .i2c_stretch = 0x4108, + .i2c_ext_9548_exits_flag = 0x410c, + .i2c_ext_9548_addr = 0x4110, + .i2c_ext_9548_chan = 0x4114, + .i2c_in_9548_chan = 0x4118, + .i2c_slave = 0x411c, + .i2c_reg = 0x4120, + .i2c_reg_len = 0x4130, + .i2c_data_len = 0x4134, + .i2c_ctrl = 0x4138, + .i2c_status = 0x413c, + .i2c_data_buf = 0x4180, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00200000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data22 = { + .adap_nr = 28, + .i2c_timeout = 3000, + .i2c_scale = 0x4200, + .i2c_filter = 0x4204, + .i2c_stretch = 0x4208, + .i2c_ext_9548_exits_flag = 0x420c, + .i2c_ext_9548_addr = 0x4210, + .i2c_ext_9548_chan = 0x4214, + .i2c_in_9548_chan = 0x4218, + .i2c_slave = 0x421c, + .i2c_reg = 0x4220, + .i2c_reg_len = 0x4230, + .i2c_data_len = 0x4234, + .i2c_ctrl = 0x4238, + .i2c_status = 0x423c, + .i2c_data_buf = 0x4280, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00400000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data23 = { + .adap_nr = 29, + .i2c_timeout = 3000, + .i2c_scale = 0x4300, + .i2c_filter = 0x4304, + .i2c_stretch = 0x4308, + .i2c_ext_9548_exits_flag = 0x430c, + .i2c_ext_9548_addr = 0x4310, + .i2c_ext_9548_chan = 0x4314, + .i2c_in_9548_chan = 0x4318, + .i2c_slave = 0x431c, + .i2c_reg = 0x4320, + .i2c_reg_len = 0x4330, + .i2c_data_len = 0x4334, + .i2c_ctrl = 0x4338, + .i2c_status = 0x433c, + .i2c_data_buf = 0x4380, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x00800000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data24 = { + .adap_nr = 30, + .i2c_timeout = 3000, + .i2c_scale = 0x4400, + .i2c_filter = 0x4404, + .i2c_stretch = 0x4408, + .i2c_ext_9548_exits_flag = 0x440c, + .i2c_ext_9548_addr = 0x4410, + .i2c_ext_9548_chan = 0x4414, + .i2c_in_9548_chan = 0x4418, + .i2c_slave = 0x441c, + .i2c_reg = 0x4420, + .i2c_reg_len = 0x4430, + .i2c_data_len = 0x4434, + .i2c_ctrl = 0x4438, + .i2c_status = 0x443c, + .i2c_data_buf = 0x4480, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x01000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data25 = { + .adap_nr = 31, + .i2c_timeout = 3000, + .i2c_scale = 0x4500, + .i2c_filter = 0x4504, + .i2c_stretch = 0x4508, + .i2c_ext_9548_exits_flag = 0x450c, + .i2c_ext_9548_addr = 0x4510, + .i2c_ext_9548_chan = 0x4514, + .i2c_in_9548_chan = 0x4518, + .i2c_slave = 0x451c, + .i2c_reg = 0x4520, + .i2c_reg_len = 0x4530, + .i2c_data_len = 0x4534, + .i2c_ctrl = 0x4538, + .i2c_status = 0x453c, + .i2c_data_buf = 0x4580, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x02000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data26 = { + .adap_nr = 32, + .i2c_timeout = 3000, + .i2c_scale = 0x4600, + .i2c_filter = 0x4604, + .i2c_stretch = 0x4608, + .i2c_ext_9548_exits_flag = 0x460c, + .i2c_ext_9548_addr = 0x4610, + .i2c_ext_9548_chan = 0x4614, + .i2c_in_9548_chan = 0x4618, + .i2c_slave = 0x461c, + .i2c_reg = 0x4620, + .i2c_reg_len = 0x4630, + .i2c_data_len = 0x4634, + .i2c_ctrl = 0x4638, + .i2c_status = 0x463c, + .i2c_data_buf = 0x4680, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x04000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data27 = { + .adap_nr = 33, + .i2c_timeout = 3000, + .i2c_scale = 0x4700, + .i2c_filter = 0x4704, + .i2c_stretch = 0x4708, + .i2c_ext_9548_exits_flag = 0x470c, + .i2c_ext_9548_addr = 0x4710, + .i2c_ext_9548_chan = 0x4714, + .i2c_in_9548_chan = 0x4718, + .i2c_slave = 0x471c, + .i2c_reg = 0x4720, + .i2c_reg_len = 0x4730, + .i2c_data_len = 0x4734, + .i2c_ctrl = 0x4738, + .i2c_status = 0x473c, + .i2c_data_buf = 0x4780, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x08000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data28 = { + .adap_nr = 34, + .i2c_timeout = 3000, + .i2c_scale = 0x4800, + .i2c_filter = 0x4804, + .i2c_stretch = 0x4808, + .i2c_ext_9548_exits_flag = 0x480c, + .i2c_ext_9548_addr = 0x4810, + .i2c_ext_9548_chan = 0x4814, + .i2c_in_9548_chan = 0x4818, + .i2c_slave = 0x481c, + .i2c_reg = 0x4820, + .i2c_reg_len = 0x4830, + .i2c_data_len = 0x4834, + .i2c_ctrl = 0x4838, + .i2c_status = 0x483c, + .i2c_data_buf = 0x4880, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x10000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data29 = { + .adap_nr = 35, + .i2c_timeout = 3000, + .i2c_scale = 0x4900, + .i2c_filter = 0x4904, + .i2c_stretch = 0x4908, + .i2c_ext_9548_exits_flag = 0x490c, + .i2c_ext_9548_addr = 0x4910, + .i2c_ext_9548_chan = 0x4914, + .i2c_in_9548_chan = 0x4918, + .i2c_slave = 0x491c, + .i2c_reg = 0x4920, + .i2c_reg_len = 0x4930, + .i2c_data_len = 0x4934, + .i2c_ctrl = 0x4938, + .i2c_status = 0x493c, + .i2c_data_buf = 0x4980, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x20000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data30 = { + .adap_nr = 36, + .i2c_timeout = 3000, + .i2c_scale = 0x4a00, + .i2c_filter = 0x4a04, + .i2c_stretch = 0x4a08, + .i2c_ext_9548_exits_flag = 0x4a0c, + .i2c_ext_9548_addr = 0x4a10, + .i2c_ext_9548_chan = 0x4a14, + .i2c_in_9548_chan = 0x4a18, + .i2c_slave = 0x4a1c, + .i2c_reg = 0x4a20, + .i2c_reg_len = 0x4a30, + .i2c_data_len = 0x4a34, + .i2c_ctrl = 0x4a38, + .i2c_status = 0x4a3c, + .i2c_data_buf = 0x4a80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x40000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data31 = { + .adap_nr = 37, + .i2c_timeout = 3000, + .i2c_scale = 0x4b00, + .i2c_filter = 0x4b04, + .i2c_stretch = 0x4b08, + .i2c_ext_9548_exits_flag = 0x4b0c, + .i2c_ext_9548_addr = 0x4b10, + .i2c_ext_9548_chan = 0x4b14, + .i2c_in_9548_chan = 0x4b18, + .i2c_slave = 0x4b1c, + .i2c_reg = 0x4b20, + .i2c_reg_len = 0x4b30, + .i2c_data_len = 0x4b34, + .i2c_ctrl = 0x4b38, + .i2c_status = 0x4b3c, + .i2c_data_buf = 0x4b80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x78, + .i2c_reset_on = 0x80000000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data32 = { + .adap_nr = 38, + .i2c_timeout = 3000, + .i2c_scale = 0x4c00, + .i2c_filter = 0x4c04, + .i2c_stretch = 0x4c08, + .i2c_ext_9548_exits_flag = 0x4c0c, + .i2c_ext_9548_addr = 0x4c10, + .i2c_ext_9548_chan = 0x4c14, + .i2c_in_9548_chan = 0x4c18, + .i2c_slave = 0x4c1c, + .i2c_reg = 0x4c20, + .i2c_reg_len = 0x4c30, + .i2c_data_len = 0x4c34, + .i2c_ctrl = 0x4c38, + .i2c_status = 0x4c3c, + .i2c_data_buf = 0x4c80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000001, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data33 = { + .adap_nr = 39, + .i2c_timeout = 3000, + .i2c_scale = 0x4d00, + .i2c_filter = 0x4d04, + .i2c_stretch = 0x4d08, + .i2c_ext_9548_exits_flag = 0x4d0c, + .i2c_ext_9548_addr = 0x4d10, + .i2c_ext_9548_chan = 0x4d14, + .i2c_in_9548_chan = 0x4d18, + .i2c_slave = 0x4d1c, + .i2c_reg = 0x4d20, + .i2c_reg_len = 0x4d30, + .i2c_data_len = 0x4d34, + .i2c_ctrl = 0x4d38, + .i2c_status = 0x4d3c, + .i2c_data_buf = 0x4d80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000002, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data34 = { + .adap_nr = 40, + .i2c_timeout = 3000, + .i2c_scale = 0x4e00, + .i2c_filter = 0x4e04, + .i2c_stretch = 0x4e08, + .i2c_ext_9548_exits_flag = 0x4e0c, + .i2c_ext_9548_addr = 0x4e10, + .i2c_ext_9548_chan = 0x4e14, + .i2c_in_9548_chan = 0x4e18, + .i2c_slave = 0x4e1c, + .i2c_reg = 0x4e20, + .i2c_reg_len = 0x4e30, + .i2c_data_len = 0x4e34, + .i2c_ctrl = 0x4e38, + .i2c_status = 0x4e3c, + .i2c_data_buf = 0x4e80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000004, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data35 = { + .adap_nr = 41, + .i2c_timeout = 3000, + .i2c_scale = 0x4f00, + .i2c_filter = 0x4f04, + .i2c_stretch = 0x4f08, + .i2c_ext_9548_exits_flag = 0x4f0c, + .i2c_ext_9548_addr = 0x4f10, + .i2c_ext_9548_chan = 0x4f14, + .i2c_in_9548_chan = 0x4f18, + .i2c_slave = 0x4f1c, + .i2c_reg = 0x4f20, + .i2c_reg_len = 0x4f30, + .i2c_data_len = 0x4f34, + .i2c_ctrl = 0x4f38, + .i2c_status = 0x4f3c, + .i2c_data_buf = 0x4f80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000008, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data36 = { + .adap_nr = 42, + .i2c_timeout = 3000, + .i2c_scale = 0x5000, + .i2c_filter = 0x5004, + .i2c_stretch = 0x5008, + .i2c_ext_9548_exits_flag = 0x500c, + .i2c_ext_9548_addr = 0x5010, + .i2c_ext_9548_chan = 0x5014, + .i2c_in_9548_chan = 0x5018, + .i2c_slave = 0x501c, + .i2c_reg = 0x5020, + .i2c_reg_len = 0x5030, + .i2c_data_len = 0x5034, + .i2c_ctrl = 0x5038, + .i2c_status = 0x503c, + .i2c_data_buf = 0x5080, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000010, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data37 = { + .adap_nr = 43, + .i2c_timeout = 3000, + .i2c_scale = 0x5100, + .i2c_filter = 0x5104, + .i2c_stretch = 0x5108, + .i2c_ext_9548_exits_flag = 0x510c, + .i2c_ext_9548_addr = 0x5110, + .i2c_ext_9548_chan = 0x5114, + .i2c_in_9548_chan = 0x5118, + .i2c_slave = 0x511c, + .i2c_reg = 0x5120, + .i2c_reg_len = 0x5130, + .i2c_data_len = 0x5134, + .i2c_ctrl = 0x5138, + .i2c_status = 0x513c, + .i2c_data_buf = 0x5180, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000020, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data38 = { + .adap_nr = 44, + .i2c_timeout = 3000, + .i2c_scale = 0x5200, + .i2c_filter = 0x5204, + .i2c_stretch = 0x5208, + .i2c_ext_9548_exits_flag = 0x520c, + .i2c_ext_9548_addr = 0x5210, + .i2c_ext_9548_chan = 0x5214, + .i2c_in_9548_chan = 0x5218, + .i2c_slave = 0x521c, + .i2c_reg = 0x5220, + .i2c_reg_len = 0x5230, + .i2c_data_len = 0x5234, + .i2c_ctrl = 0x5238, + .i2c_status = 0x523c, + .i2c_data_buf = 0x5280, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000040, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data39 = { + .adap_nr = 45, + .i2c_timeout = 3000, + .i2c_scale = 0x5300, + .i2c_filter = 0x5304, + .i2c_stretch = 0x5308, + .i2c_ext_9548_exits_flag = 0x530c, + .i2c_ext_9548_addr = 0x5310, + .i2c_ext_9548_chan = 0x5314, + .i2c_in_9548_chan = 0x5318, + .i2c_slave = 0x531c, + .i2c_reg = 0x5320, + .i2c_reg_len = 0x5330, + .i2c_data_len = 0x5334, + .i2c_ctrl = 0x5338, + .i2c_status = 0x533c, + .i2c_data_buf = 0x5380, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000080, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data40 = { + .adap_nr = 46, + .i2c_timeout = 3000, + .i2c_scale = 0x5400, + .i2c_filter = 0x5404, + .i2c_stretch = 0x5408, + .i2c_ext_9548_exits_flag = 0x540c, + .i2c_ext_9548_addr = 0x5410, + .i2c_ext_9548_chan = 0x5414, + .i2c_in_9548_chan = 0x5418, + .i2c_slave = 0x541c, + .i2c_reg = 0x5420, + .i2c_reg_len = 0x5430, + .i2c_data_len = 0x5434, + .i2c_ctrl = 0x5438, + .i2c_status = 0x543c, + .i2c_data_buf = 0x5480, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000100, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data41 = { + .adap_nr = 47, + .i2c_timeout = 3000, + .i2c_scale = 0x5500, + .i2c_filter = 0x5504, + .i2c_stretch = 0x5508, + .i2c_ext_9548_exits_flag = 0x550c, + .i2c_ext_9548_addr = 0x5510, + .i2c_ext_9548_chan = 0x5514, + .i2c_in_9548_chan = 0x5518, + .i2c_slave = 0x551c, + .i2c_reg = 0x5520, + .i2c_reg_len = 0x5530, + .i2c_data_len = 0x5534, + .i2c_ctrl = 0x5538, + .i2c_status = 0x553c, + .i2c_data_buf = 0x5580, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000200, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data42 = { + .adap_nr = 48, + .i2c_timeout = 3000, + .i2c_scale = 0x5600, + .i2c_filter = 0x5604, + .i2c_stretch = 0x5608, + .i2c_ext_9548_exits_flag = 0x560c, + .i2c_ext_9548_addr = 0x5610, + .i2c_ext_9548_chan = 0x5614, + .i2c_in_9548_chan = 0x5618, + .i2c_slave = 0x561c, + .i2c_reg = 0x5620, + .i2c_reg_len = 0x5630, + .i2c_data_len = 0x5634, + .i2c_ctrl = 0x5638, + .i2c_status = 0x563c, + .i2c_data_buf = 0x5680, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000400, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data43 = { + .adap_nr = 49, + .i2c_timeout = 3000, + .i2c_scale = 0x5700, + .i2c_filter = 0x5704, + .i2c_stretch = 0x5708, + .i2c_ext_9548_exits_flag = 0x570c, + .i2c_ext_9548_addr = 0x5710, + .i2c_ext_9548_chan = 0x5714, + .i2c_in_9548_chan = 0x5718, + .i2c_slave = 0x571c, + .i2c_reg = 0x5720, + .i2c_reg_len = 0x5730, + .i2c_data_len = 0x5734, + .i2c_ctrl = 0x5738, + .i2c_status = 0x573c, + .i2c_data_buf = 0x5780, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00000800, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data44 = { + .adap_nr = 50, + .i2c_timeout = 3000, + .i2c_scale = 0x5800, + .i2c_filter = 0x5804, + .i2c_stretch = 0x5808, + .i2c_ext_9548_exits_flag = 0x580c, + .i2c_ext_9548_addr = 0x5810, + .i2c_ext_9548_chan = 0x5814, + .i2c_in_9548_chan = 0x5818, + .i2c_slave = 0x581c, + .i2c_reg = 0x5820, + .i2c_reg_len = 0x5830, + .i2c_data_len = 0x5834, + .i2c_ctrl = 0x5838, + .i2c_status = 0x583c, + .i2c_data_buf = 0x5880, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00001000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data45 = { + .adap_nr = 51, + .i2c_timeout = 3000, + .i2c_scale = 0x5900, + .i2c_filter = 0x5904, + .i2c_stretch = 0x5908, + .i2c_ext_9548_exits_flag = 0x590c, + .i2c_ext_9548_addr = 0x5910, + .i2c_ext_9548_chan = 0x5914, + .i2c_in_9548_chan = 0x5918, + .i2c_slave = 0x591c, + .i2c_reg = 0x5920, + .i2c_reg_len = 0x5930, + .i2c_data_len = 0x5934, + .i2c_ctrl = 0x5938, + .i2c_status = 0x593c, + .i2c_data_buf = 0x5980, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00002000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data46 = { + .adap_nr = 52, + .i2c_timeout = 3000, + .i2c_scale = 0x5a00, + .i2c_filter = 0x5a04, + .i2c_stretch = 0x5a08, + .i2c_ext_9548_exits_flag = 0x5a0c, + .i2c_ext_9548_addr = 0x5a10, + .i2c_ext_9548_chan = 0x5a14, + .i2c_in_9548_chan = 0x5a18, + .i2c_slave = 0x5a1c, + .i2c_reg = 0x5a20, + .i2c_reg_len = 0x5a30, + .i2c_data_len = 0x5a34, + .i2c_ctrl = 0x5a38, + .i2c_status = 0x5a3c, + .i2c_data_buf = 0x5a80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00004000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data47 = { + .adap_nr = 53, + .i2c_timeout = 3000, + .i2c_scale = 0x5b00, + .i2c_filter = 0x5b04, + .i2c_stretch = 0x5b08, + .i2c_ext_9548_exits_flag = 0x5b0c, + .i2c_ext_9548_addr = 0x5b10, + .i2c_ext_9548_chan = 0x5b14, + .i2c_in_9548_chan = 0x5b18, + .i2c_slave = 0x5b1c, + .i2c_reg = 0x5b20, + .i2c_reg_len = 0x5b30, + .i2c_data_len = 0x5b34, + .i2c_ctrl = 0x5b38, + .i2c_status = 0x5b3c, + .i2c_data_buf = 0x5b80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00008000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data48 = { + .adap_nr = 54, + .i2c_timeout = 3000, + .i2c_scale = 0x5c00, + .i2c_filter = 0x5c04, + .i2c_stretch = 0x5c08, + .i2c_ext_9548_exits_flag = 0x5c0c, + .i2c_ext_9548_addr = 0x5c10, + .i2c_ext_9548_chan = 0x5c14, + .i2c_in_9548_chan = 0x5c18, + .i2c_slave = 0x5c1c, + .i2c_reg = 0x5c20, + .i2c_reg_len = 0x5c30, + .i2c_data_len = 0x5c34, + .i2c_ctrl = 0x5c38, + .i2c_status = 0x5c3c, + .i2c_data_buf = 0x5c80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00010000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data49 = { + .adap_nr = 55, + .i2c_timeout = 3000, + .i2c_scale = 0x5d00, + .i2c_filter = 0x5d04, + .i2c_stretch = 0x5d08, + .i2c_ext_9548_exits_flag = 0x5d0c, + .i2c_ext_9548_addr = 0x5d10, + .i2c_ext_9548_chan = 0x5d14, + .i2c_in_9548_chan = 0x5d18, + .i2c_slave = 0x5d1c, + .i2c_reg = 0x5d20, + .i2c_reg_len = 0x5d30, + .i2c_data_len = 0x5d34, + .i2c_ctrl = 0x5d38, + .i2c_status = 0x5d3c, + .i2c_data_buf = 0x5d80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00020000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data50 = { + .adap_nr = 56, + .i2c_timeout = 3000, + .i2c_scale = 0x5e00, + .i2c_filter = 0x5e04, + .i2c_stretch = 0x5e08, + .i2c_ext_9548_exits_flag = 0x5e0c, + .i2c_ext_9548_addr = 0x5e10, + .i2c_ext_9548_chan = 0x5e14, + .i2c_in_9548_chan = 0x5e18, + .i2c_slave = 0x5e1c, + .i2c_reg = 0x5e20, + .i2c_reg_len = 0x5e30, + .i2c_data_len = 0x5e34, + .i2c_ctrl = 0x5e38, + .i2c_status = 0x5e3c, + .i2c_data_buf = 0x5e80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00040000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data51 = { + .adap_nr = 57, + .i2c_timeout = 3000, + .i2c_scale = 0x5f00, + .i2c_filter = 0x5f04, + .i2c_stretch = 0x5f08, + .i2c_ext_9548_exits_flag = 0x5f0c, + .i2c_ext_9548_addr = 0x5f10, + .i2c_ext_9548_chan = 0x5f14, + .i2c_in_9548_chan = 0x5f18, + .i2c_slave = 0x5f1c, + .i2c_reg = 0x5f20, + .i2c_reg_len = 0x5f30, + .i2c_data_len = 0x5f34, + .i2c_ctrl = 0x5f38, + .i2c_status = 0x5f3c, + .i2c_data_buf = 0x5f80, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00080000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data52 = { + .adap_nr = 58, + .i2c_timeout = 3000, + .i2c_scale = 0x6000, + .i2c_filter = 0x6004, + .i2c_stretch = 0x6008, + .i2c_ext_9548_exits_flag = 0x600c, + .i2c_ext_9548_addr = 0x6010, + .i2c_ext_9548_chan = 0x6014, + .i2c_in_9548_chan = 0x6018, + .i2c_slave = 0x601c, + .i2c_reg = 0x6020, + .i2c_reg_len = 0x6030, + .i2c_data_len = 0x6034, + .i2c_ctrl = 0x6038, + .i2c_status = 0x603c, + .i2c_data_buf = 0x6080, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00100000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data53 = { + .adap_nr = 59, + .i2c_timeout = 3000, + .i2c_scale = 0x6100, + .i2c_filter = 0x6104, + .i2c_stretch = 0x6108, + .i2c_ext_9548_exits_flag = 0x610c, + .i2c_ext_9548_addr = 0x6110, + .i2c_ext_9548_chan = 0x6114, + .i2c_in_9548_chan = 0x6118, + .i2c_slave = 0x611c, + .i2c_reg = 0x6120, + .i2c_reg_len = 0x6130, + .i2c_data_len = 0x6134, + .i2c_ctrl = 0x6138, + .i2c_status = 0x613c, + .i2c_data_buf = 0x6180, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00200000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data54 = { + .adap_nr = 60, + .i2c_timeout = 3000, + .i2c_scale = 0x6200, + .i2c_filter = 0x6204, + .i2c_stretch = 0x6208, + .i2c_ext_9548_exits_flag = 0x620c, + .i2c_ext_9548_addr = 0x6210, + .i2c_ext_9548_chan = 0x6214, + .i2c_in_9548_chan = 0x6218, + .i2c_slave = 0x621c, + .i2c_reg = 0x6220, + .i2c_reg_len = 0x6230, + .i2c_data_len = 0x6234, + .i2c_ctrl = 0x6238, + .i2c_status = 0x623c, + .i2c_data_buf = 0x6280, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00400000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static fpga_i2c_bus_device_t fpga_dom_i2c_bus_device_data55 = { + .adap_nr = 61, + .i2c_timeout = 3000, + .i2c_scale = 0x6300, + .i2c_filter = 0x6304, + .i2c_stretch = 0x6308, + .i2c_ext_9548_exits_flag = 0x630c, + .i2c_ext_9548_addr = 0x6310, + .i2c_ext_9548_chan = 0x6314, + .i2c_in_9548_chan = 0x6318, + .i2c_slave = 0x631c, + .i2c_reg = 0x6320, + .i2c_reg_len = 0x6330, + .i2c_data_len = 0x6334, + .i2c_ctrl = 0x6338, + .i2c_status = 0x633c, + .i2c_data_buf = 0x6380, + .dev_name = "/dev/fpga0", + .i2c_scale_value = 0x4e, + .i2c_filter_value = 0x7c, + .i2c_stretch_value = 0x7c, + .i2c_func_mode = 3, + .i2c_adap_reset_flag = 1, + .i2c_reset_addr = 0x7c, + .i2c_reset_on = 0x00800000, + .i2c_reset_off = 0x00000000, + .i2c_rst_delay_b = 0, + .i2c_rst_delay = 1, + .i2c_rst_delay_a = 1, +}; + +static void wb_fpga_i2c_bus_device_release(struct device *dev) +{ + return; +} + +static struct platform_device fpga_i2c_bus_device[] = { + { + .name = "wb-fpga-i2c", + .id = 1, + .dev = { + .platform_data = &fpga_i2c_bus_device_data0, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 2, + .dev = { + .platform_data = &fpga_i2c_bus_device_data1, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 3, + .dev = { + .platform_data = &fpga_i2c_bus_device_data2, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 4, + .dev = { + .platform_data = &fpga_i2c_bus_device_data3, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 5, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data0, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 6, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data1, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 7, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data2, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 8, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data3, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 9, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data4, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 10, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data5, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 11, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data6, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 12, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data7, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 13, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data8, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 14, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data9, + .release = wb_fpga_i2c_bus_device_release, + } + }, + { + .name = "wb-fpga-i2c", + .id = 15, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data10, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 16, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data11, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 17, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data12, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 18, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data13, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 19, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data14, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 20, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data15, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 21, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data16, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 22, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data17, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 23, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data18, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 24, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data19, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 25, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data20, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 26, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data21, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 27, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data22, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 28, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data23, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 29, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data24, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 30, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data25, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 31, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data26, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 32, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data27, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 33, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data28, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 34, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data29, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 35, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data30, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 36, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data31, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 37, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data32, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 38, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data33, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 39, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data34, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 40, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data35, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 41, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data36, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 42, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data37, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 43, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data38, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 44, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data39, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 45, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data40, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 46, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data41, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 47, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data42, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 48, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data43, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 49, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data44, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 50, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data45, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 51, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data46, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 52, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data47, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 53, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data48, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 54, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data49, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 55, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data50, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 56, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data51, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 57, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data52, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 58, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data53, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 59, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data54, + .release = wb_fpga_i2c_bus_device_release, + }, + }, + { + .name = "wb-fpga-i2c", + .id = 60, + .dev = { + .platform_data = &fpga_dom_i2c_bus_device_data55, + .release = wb_fpga_i2c_bus_device_release, + }, + }, +}; + +static int __init wb_fpga_i2c_bus_device_init(void) +{ + int i; + int ret = 0; + fpga_i2c_bus_device_t *fpga_i2c_bus_device_data; + + WB_FPGA_I2C_DEBUG_VERBOSE("enter!\n"); + for (i = 0; i < ARRAY_SIZE(fpga_i2c_bus_device); i++) { + fpga_i2c_bus_device_data = fpga_i2c_bus_device[i].dev.platform_data; + ret = platform_device_register(&fpga_i2c_bus_device[i]); + if (ret < 0) { + fpga_i2c_bus_device_data->device_flag = -1; /* device register failed, set flag -1 */ + printk(KERN_ERR "wb-fpga-i2c.%d register failed!\n", i + 1); + } else { + fpga_i2c_bus_device_data->device_flag = 0; /* device register suucess, set flag 0 */ + } + } + return 0; +} + +static void __exit wb_fpga_i2c_bus_device_exit(void) +{ + int i; + fpga_i2c_bus_device_t *fpga_i2c_bus_device_data; + + WB_FPGA_I2C_DEBUG_VERBOSE("enter!\n"); + for (i = ARRAY_SIZE(fpga_i2c_bus_device) - 1; i >= 0; i--) { + fpga_i2c_bus_device_data = fpga_i2c_bus_device[i].dev.platform_data; + if (fpga_i2c_bus_device_data->device_flag == 0) { /* device register success, need unregister */ + platform_device_unregister(&fpga_i2c_bus_device[i]); + } + } +} + +module_init(wb_fpga_i2c_bus_device_init); +module_exit(wb_fpga_i2c_bus_device_exit); +MODULE_DESCRIPTION("FPGA I2C Devices"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("support"); diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_fpga_pca954x_device.c b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_fpga_pca954x_device.c new file mode 100644 index 000000000000..ed0894c0953e --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_fpga_pca954x_device.c @@ -0,0 +1,137 @@ +/* + * An wb_fpga_pca954x_device driver for fpga pca954x device function + * + * Copyright (C) 2024 Micas Networks Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +static int g_wb_fpga_pca954x_device_debug = 0; +static int g_wb_fpga_pca954x_device_error = 0; + +module_param(g_wb_fpga_pca954x_device_debug, int, S_IRUGO | S_IWUSR); +module_param(g_wb_fpga_pca954x_device_error, int, S_IRUGO | S_IWUSR); + +#define WB_FPGA_PCA954X_DEVICE_DEBUG_VERBOSE(fmt, args...) do { \ + if (g_wb_fpga_pca954x_device_debug) { \ + printk(KERN_INFO "[WB_FPGA_PCA954X_DEVICE][VER][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +#define WB_FPGA_PCA954X_DEVICE_DEBUG_ERROR(fmt, args...) do { \ + if (g_wb_fpga_pca954x_device_error) { \ + printk(KERN_ERR "[WB_FPGA_PCA954X_DEVICE][ERR][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +static fpga_pca954x_device_t fpga_pca954x_device_data0 = { + .i2c_bus = 3, + .i2c_addr = 0x77, + .pca9548_base_nr = 62, + .fpga_9548_flag = 2, + .fpga_9548_reset_flag = 1, +}; + +static fpga_pca954x_device_t fpga_pca954x_device_data1 = { + .i2c_bus = 4, + .i2c_addr = 0x71, + .pca9548_base_nr = 70, + .fpga_9548_flag = 2, + .fpga_9548_reset_flag = 1, +}; + +static fpga_pca954x_device_t fpga_pca954x_device_data2 = { + .i2c_bus = 5, + .i2c_addr = 0x77, + .pca9548_base_nr = 78, + .fpga_9548_flag = 2, + .fpga_9548_reset_flag = 1, +}; + +struct i2c_board_info fpga_pca954x_device_info[] = { + { + .type = "wb_fpga_pca9548", + .platform_data = &fpga_pca954x_device_data0, + }, + { + .type = "wb_fpga_pca9548", + .platform_data = &fpga_pca954x_device_data1, + }, + { + .type = "wb_fpga_pca9548", + .platform_data = &fpga_pca954x_device_data2, + }, +}; + +static int __init wb_fpga_pca954x_device_init(void) +{ + int i; + struct i2c_adapter *adap; + struct i2c_client *client; + fpga_pca954x_device_t *fpga_pca954x_device_data; + + WB_FPGA_PCA954X_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = 0; i < ARRAY_SIZE(fpga_pca954x_device_info); i++) { + fpga_pca954x_device_data = fpga_pca954x_device_info[i].platform_data; + fpga_pca954x_device_info[i].addr = fpga_pca954x_device_data->i2c_addr; + adap = i2c_get_adapter(fpga_pca954x_device_data->i2c_bus); + if (adap == NULL) { + fpga_pca954x_device_data->client = NULL; + printk(KERN_ERR "get i2c bus %d adapter fail.\n", fpga_pca954x_device_data->i2c_bus); + continue; + } + client = i2c_new_client_device(adap, &fpga_pca954x_device_info[i]); + if (!client) { + fpga_pca954x_device_data->client = NULL; + printk(KERN_ERR "Failed to register fpga pca954x device %d at bus %d!\n", + fpga_pca954x_device_data->i2c_addr, fpga_pca954x_device_data->i2c_bus); + } else { + fpga_pca954x_device_data->client = client; + } + i2c_put_adapter(adap); + } + return 0; +} + +static void __exit wb_fpga_pca954x_device_exit(void) +{ + int i; + fpga_pca954x_device_t *fpga_pca954x_device_data; + + WB_FPGA_PCA954X_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = ARRAY_SIZE(fpga_pca954x_device_info) - 1; i >= 0; i--) { + fpga_pca954x_device_data = fpga_pca954x_device_info[i].platform_data; + if (fpga_pca954x_device_data->client) { + i2c_unregister_device(fpga_pca954x_device_data->client); + fpga_pca954x_device_data->client = NULL; + } + } +} + +module_init(wb_fpga_pca954x_device_init); +module_exit(wb_fpga_pca954x_device_exit); +MODULE_DESCRIPTION("FPGA PCA954X Devices"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("support"); diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_i2c_dev_device.c b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_i2c_dev_device.c new file mode 100644 index 000000000000..bfeace96e17d --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_i2c_dev_device.c @@ -0,0 +1,160 @@ +/* + * An wb_i2c_dev_device driver for i2c dev device function + * + * Copyright (C) 2024 Micas Networks Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include +#include + +#include + +static int g_wb_i2c_dev_device_debug = 0; +static int g_wb_i2c_dev_device_error = 0; + +module_param(g_wb_i2c_dev_device_debug, int, S_IRUGO | S_IWUSR); +module_param(g_wb_i2c_dev_device_error, int, S_IRUGO | S_IWUSR); + +#define WB_I2C_DEV_DEVICE_DEBUG_VERBOSE(fmt, args...) do { \ + if (g_wb_i2c_dev_device_debug) { \ + printk(KERN_INFO "[WB_I2C_DEV_DEVICE][VER][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +#define WB_I2C_DEV_DEVICE_DEBUG_ERROR(fmt, args...) do { \ + if (g_wb_i2c_dev_device_error) { \ + printk(KERN_ERR "[WB_I2C_DEV_DEVICE][ERR][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +static i2c_dev_device_t i2c_dev_device_data0 = { + .i2c_bus = 2, + .i2c_addr = 0x1d, + .i2c_name = "cpld4", + .data_bus_width = 1, + .addr_bus_width = 1, + .per_rd_len = 256, + .per_wr_len = 256, + .i2c_len = 256, +}; + +static i2c_dev_device_t i2c_dev_device_data1 = { + .i2c_bus = 2, + .i2c_addr = 0x2d, + .i2c_name = "cpld5", + .data_bus_width = 1, + .addr_bus_width = 1, + .per_rd_len = 256, + .per_wr_len = 256, + .i2c_len = 256, +}; + +static i2c_dev_device_t i2c_dev_device_data2 = { + .i2c_bus = 2, + .i2c_addr = 0x3d, + .i2c_name = "cpld7", + .data_bus_width = 1, + .addr_bus_width = 1, + .per_rd_len = 256, + .per_wr_len = 256, + .i2c_len = 0x2000, +}; + +static i2c_dev_device_t i2c_dev_device_data3 = { + .i2c_bus = 4, + .i2c_addr = 0x3d, + .i2c_name = "cpld6", + .data_bus_width = 1, + .addr_bus_width = 1, + .per_rd_len = 256, + .per_wr_len = 256, + .i2c_len = 256, +}; + +struct i2c_board_info i2c_dev_device_info[] = { + { + .type = "wb-i2c-dev", + .platform_data = &i2c_dev_device_data0, + }, + { + .type = "wb-i2c-dev", + .platform_data = &i2c_dev_device_data1, + }, + { + .type = "wb-i2c-dev", + .platform_data = &i2c_dev_device_data2, + }, + { + .type = "wb-i2c-dev", + .platform_data = &i2c_dev_device_data3, + }, +}; + +static int __init wb_i2c_dev_device_init(void) +{ + int i; + struct i2c_adapter *adap; + struct i2c_client *client; + i2c_dev_device_t *i2c_dev_device_data; + + WB_I2C_DEV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = 0; i < ARRAY_SIZE(i2c_dev_device_info); i++) { + i2c_dev_device_data = i2c_dev_device_info[i].platform_data; + i2c_dev_device_info[i].addr = i2c_dev_device_data->i2c_addr; + adap = i2c_get_adapter(i2c_dev_device_data->i2c_bus); + if (adap == NULL) { + i2c_dev_device_data->client = NULL; + printk(KERN_ERR "get i2c bus %d adapter fail.\n", i2c_dev_device_data->i2c_bus); + continue; + } + client = i2c_new_client_device(adap, &i2c_dev_device_info[i]); + if (!client) { + i2c_dev_device_data->client = NULL; + printk(KERN_ERR "Failed to register i2c dev device %d at bus %d!\n", + i2c_dev_device_data->i2c_addr, i2c_dev_device_data->i2c_bus); + } else { + i2c_dev_device_data->client = client; + } + i2c_put_adapter(adap); + } + return 0; +} + +static void __exit wb_i2c_dev_device_exit(void) +{ + int i; + i2c_dev_device_t *i2c_dev_device_data; + + WB_I2C_DEV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = ARRAY_SIZE(i2c_dev_device_info) - 1; i >= 0; i--) { + i2c_dev_device_data = i2c_dev_device_info[i].platform_data; + if (i2c_dev_device_data->client) { + i2c_unregister_device(i2c_dev_device_data->client); + i2c_dev_device_data->client = NULL; + } + } +} + +module_init(wb_i2c_dev_device_init); +module_exit(wb_i2c_dev_device_exit); +MODULE_DESCRIPTION("I2C DEV Devices"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("support"); diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_io_dev_device.c b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_io_dev_device.c new file mode 100644 index 000000000000..06d6b048284a --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_io_dev_device.c @@ -0,0 +1,158 @@ +/* + * An wb_io_dev_device driver for io device function + * + * Copyright (C) 2024 Micas Networks Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include + +#include + +static int g_wb_io_dev_device_debug = 0; +static int g_wb_io_dev_device_error = 0; + +module_param(g_wb_io_dev_device_debug, int, S_IRUGO | S_IWUSR); +module_param(g_wb_io_dev_device_error, int, S_IRUGO | S_IWUSR); + +#define WB_IO_DEV_DEVICE_DEBUG_VERBOSE(fmt, args...) do { \ + if (g_wb_io_dev_device_debug) { \ + printk(KERN_INFO "[WB_IO_DEV_DEVICE][VER][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +#define WB_IO_DEV_DEVICE_DEBUG_ERROR(fmt, args...) do { \ + if (g_wb_io_dev_device_error) { \ + printk(KERN_ERR "[WB_IO_DEV_DEVICE][ERR][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +static io_dev_device_t io_dev_device_data0 = { + .io_dev_name = "cpld0", + .io_base = 0x700, + .io_len = 0x100, + .indirect_addr = 0, +}; + +static io_dev_device_t io_dev_device_data1 = { + .io_dev_name = "cpld1", + .io_base = 0x900, + .io_len = 0x100, + .indirect_addr = 0, +}; + +static io_dev_device_t io_dev_device_data2 = { + .io_dev_name = "cpld2", + .io_base = 0xb00, + .io_len = 0x100, + .indirect_addr = 0, +}; + +static io_dev_device_t io_dev_device_data3 = { + .io_dev_name = "cpld3", + .io_base = 0x900, + .io_len = 0x2000, + .indirect_addr = 1, + .wr_data = 0xfb, + .addr_low = 0xfc, + .addr_high = 0xfd, + .rd_data = 0xfe, + .opt_ctl = 0xff, +}; + +static void wb_io_dev_device_release(struct device *dev) +{ + return; +} + +static struct platform_device io_dev_device[] = { + { + .name = "wb-io-dev", + .id = 1, + .dev = { + .platform_data = &io_dev_device_data0, + .release = wb_io_dev_device_release, + }, + }, + { + .name = "wb-io-dev", + .id = 2, + .dev = { + .platform_data = &io_dev_device_data1, + .release = wb_io_dev_device_release, + }, + }, + { + .name = "wb-io-dev", + .id = 3, + .dev = { + .platform_data = &io_dev_device_data2, + .release = wb_io_dev_device_release, + }, + }, + { + .name = "wb-io-dev", + .id = 4, + .dev = { + .platform_data = &io_dev_device_data3, + .release = wb_io_dev_device_release, + }, + }, +}; + +static int __init wb_io_dev_device_init(void) +{ + int i; + int ret = 0; + io_dev_device_t *io_dev_device_data; + + WB_IO_DEV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = 0; i < ARRAY_SIZE(io_dev_device); i++) { + io_dev_device_data = io_dev_device[i].dev.platform_data; + ret = platform_device_register(&io_dev_device[i]); + if (ret < 0) { + io_dev_device_data->device_flag = -1; /* device register failed, set flag -1 */ + printk(KERN_ERR "wb-io-dev.%d register failed!\n", i + 1); + } else { + io_dev_device_data->device_flag = 0; /* device register suucess, set flag 0 */ + } + } + return 0; +} + +static void __exit wb_io_dev_device_exit(void) +{ + int i; + io_dev_device_t *io_dev_device_data; + + WB_IO_DEV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = ARRAY_SIZE(io_dev_device) - 1; i >= 0; i--) { + io_dev_device_data = io_dev_device[i].dev.platform_data; + if (io_dev_device_data->device_flag == 0) { /* device register success, need unregister */ + platform_device_unregister(&io_dev_device[i]); + } + } +} + +module_init(wb_io_dev_device_init); +module_exit(wb_io_dev_device_exit); +MODULE_DESCRIPTION("IO DEV Devices"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("support"); diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_lpc_drv_device.c b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_lpc_drv_device.c new file mode 100644 index 000000000000..27dbd87d71b2 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_lpc_drv_device.c @@ -0,0 +1,150 @@ +/* + * An wb_lpc_drv_device driver for lpc device function + * + * Copyright (C) 2024 Micas Networks Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include + +#include + +static int g_wb_lpc_drv_device_debug = 0; +static int g_wb_lpc_drv_device_error = 0; + +module_param(g_wb_lpc_drv_device_debug, int, S_IRUGO | S_IWUSR); +module_param(g_wb_lpc_drv_device_error, int, S_IRUGO | S_IWUSR); + +#define WB_LPC_DRV_DEVICE_DEBUG_VERBOSE(fmt, args...) do { \ + if (g_wb_lpc_drv_device_debug) { \ + printk(KERN_INFO "[WB_LPC_DRV_DEVICE][VER][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +#define WB_LPC_DRV_DEVICE_DEBUG_ERROR(fmt, args...) do { \ + if (g_wb_lpc_drv_device_error) { \ + printk(KERN_ERR "[WB_LPC_DRV_DEVICE][ERR][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +static lpc_drv_device_t lpc_drv_device_data_0 = { + .lpc_io_name = "wb_lpc", + .pci_domain = 0x0000, + .pci_bus = 0x00, + .pci_slot = 0x1f, + .pci_fn = 0, + .lpc_io_base = 0x700, + .lpc_io_size = 0x100, + .lpc_gen_dec = 0x84, +}; + +static lpc_drv_device_t lpc_drv_device_data_1 = { + .lpc_io_name = "wb_lpc", + .pci_domain = 0x0000, + .pci_bus = 0x00, + .pci_slot = 0x1f, + .pci_fn = 0, + .lpc_io_base = 0x900, + .lpc_io_size = 0x100, + .lpc_gen_dec = 0x88, +}; + +static lpc_drv_device_t lpc_drv_device_data_2 = { + .lpc_io_name = "wb_lpc", + .pci_domain = 0x0000, + .pci_bus = 0x00, + .pci_slot = 0x1f, + .pci_fn = 0, + .lpc_io_base = 0xb00, + .lpc_io_size = 0x100, + .lpc_gen_dec = 0x90, +}; + +static void wb_lpc_drv_device_release(struct device *dev) +{ + return; +} + +static struct platform_device lpc_drv_device[] = { + { + .name = "wb-lpc", + .id = 1, + .dev = { + .platform_data = &lpc_drv_device_data_0, + .release = wb_lpc_drv_device_release, + }, + }, + { + .name = "wb-lpc", + .id = 2, + .dev = { + .platform_data = &lpc_drv_device_data_1, + .release = wb_lpc_drv_device_release, + }, + }, + { + .name = "wb-lpc", + .id = 3, + .dev = { + .platform_data = &lpc_drv_device_data_2, + .release = wb_lpc_drv_device_release, + }, + }, +}; + +static int __init wb_lpc_drv_device_init(void) +{ + int i; + int ret = 0; + lpc_drv_device_t *lpc_drv_device_data; + + WB_LPC_DRV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = 0; i < ARRAY_SIZE(lpc_drv_device); i++) { + lpc_drv_device_data = lpc_drv_device[i].dev.platform_data; + ret = platform_device_register(&lpc_drv_device[i]); + if (ret < 0) { + lpc_drv_device_data->device_flag = -1; /* device register failed, set flag -1 */ + printk(KERN_ERR "wb-lpc.%d register failed!\n", i + 1); + } else { + lpc_drv_device_data->device_flag = 0; /* device register suucess, set flag 0 */ + } + } + return 0; +} + +static void __exit wb_lpc_drv_device_exit(void) +{ + int i; + lpc_drv_device_t *lpc_drv_device_data; + + WB_LPC_DRV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = ARRAY_SIZE(lpc_drv_device) - 1; i >= 0; i--) { + lpc_drv_device_data = lpc_drv_device[i].dev.platform_data; + if (lpc_drv_device_data->device_flag == 0) { /* device register success, need unregister */ + platform_device_unregister(&lpc_drv_device[i]); + } + } +} + +module_init(wb_lpc_drv_device_init); +module_exit(wb_lpc_drv_device_exit); +MODULE_DESCRIPTION("LPC DRV Devices"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("support"); diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_pcie_dev_device.c b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_pcie_dev_device.c new file mode 100644 index 000000000000..561e64d449b4 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/modules/driver/wb_pcie_dev_device.c @@ -0,0 +1,113 @@ +/* + * An wb_pcie_dev_device driver for pcie device function + * + * Copyright (C) 2024 Micas Networks Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include +#include + +#include + +static int g_wb_pcie_dev_device_debug = 0; +static int g_wb_pcie_dev_device_error = 0; + +module_param(g_wb_pcie_dev_device_debug, int, S_IRUGO | S_IWUSR); +module_param(g_wb_pcie_dev_device_error, int, S_IRUGO | S_IWUSR); + +#define WB_PCIE_DEV_DEVICE_DEBUG_VERBOSE(fmt, args...) do { \ + if (g_wb_pcie_dev_device_debug) { \ + printk(KERN_INFO "[WB_PCIE_DEV_DEVICE][VER][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +#define WB_PCIE_DEV_DEVICE_DEBUG_ERROR(fmt, args...) do { \ + if (g_wb_pcie_dev_device_error) { \ + printk(KERN_ERR "[WB_PCIE_DEV_DEVICE][ERR][func:%s line:%d]\r\n"fmt, __func__, __LINE__, ## args); \ + } \ +} while (0) + +static pci_dev_device_t pcie_dev_device_data0 = { + .pci_dev_name = "fpga0", + .pci_domain = 0x0000, + .pci_bus = 0x08, + .pci_slot = 0x00, + .pci_fn = 0, + .pci_bar = 0, + .bus_width = 4, + .upg_ctrl_base = 0xa00, + .upg_flash_base = 0x2f0000, +}; + +static void wb_pcie_dev_device_release(struct device *dev) +{ + return; +} + +static struct platform_device pcie_dev_device[] = { + { + .name = "wb-pci-dev", + .id = 1, + .dev = { + .platform_data = &pcie_dev_device_data0, + .release = wb_pcie_dev_device_release, + }, + }, +}; + +static int __init wb_pcie_dev_device_init(void) +{ + int i; + int ret = 0; + pci_dev_device_t *pcie_dev_device_data; + + WB_PCIE_DEV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = 0; i < ARRAY_SIZE(pcie_dev_device); i++) { + pcie_dev_device_data = pcie_dev_device[i].dev.platform_data; + ret = platform_device_register(&pcie_dev_device[i]); + if (ret < 0) { + pcie_dev_device_data->device_flag = -1; /* device register failed, set flag -1 */ + printk(KERN_ERR "wb-pci-dev.%d register failed!\n", i + 1); + } else { + pcie_dev_device_data->device_flag = 0; /* device register suucess, set flag 0 */ + } + } + return 0; +} + +static void __exit wb_pcie_dev_device_exit(void) +{ + int i; + pci_dev_device_t *pcie_dev_device_data; + + WB_PCIE_DEV_DEVICE_DEBUG_VERBOSE("enter!\n"); + for (i = ARRAY_SIZE(pcie_dev_device) - 1; i >= 0; i--) { + pcie_dev_device_data = pcie_dev_device[i].dev.platform_data; + if (pcie_dev_device_data->device_flag == 0) { /* device register success, need unregister */ + platform_device_unregister(&pcie_dev_device[i]); + } + } +} + +module_init(wb_pcie_dev_device_init); +module_exit(wb_pcie_dev_device_exit); +MODULE_DESCRIPTION("PCIE DEV Devices"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("support"); diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_CPLD.cfg b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_CPLD.cfg new file mode 100644 index 000000000000..92474bf244cc --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_CPLD.cfg @@ -0,0 +1,39 @@ +# configuration item: I2C address of CPLD +# format: cpld_i2c_dev.bus_[cpld_slot]_[cpld_id] cpld_i2c_dev.addr_[cpld_slot]_[cpld_id] +# cpld_slot: Main card: 0, linear card: start from 1 +# cpld_id: start from 0 +# bus: I2C bus number of CPLD +# addr: I2C address of CPLD +cpld_i2c_dev.bus_0_2=2 +cpld_i2c_dev.addr_0_2=0x1d +cpld_i2c_dev.bus_0_3=2 +cpld_i2c_dev.addr_0_3=0x2d +cpld_i2c_dev.bus_0_4=4 +cpld_i2c_dev.addr_0_4=0x3d +cpld_i2c_dev.bus_0_5=2 +cpld_i2c_dev.addr_0_5=0x3d + +# configuration item: LPC address of CPLD +# format: cpld_lpc_addr_[cpld_slot]_[cpld_id] +# cpld_slot: Main card: 0, linear card: start from 1 +# cpld_id: start from 0 +cpld_lpc_dev_0_0=0x700 +cpld_lpc_dev_0_1=0x900 + + +# configuration item: CPLD access method, lpc or i2c +# format: mode_cpld_[cpld_slot][cpld_slot]=lpc/i2c +# cpld_slot: Main card: 0, linear card: start from 1 +# cpld_id: start from 0 +mode_cpld_0_0=lpc +mode_cpld_0_1=lpc +mode_cpld_0_2=i2c +mode_cpld_0_3=i2c +mode_cpld_0_4=i2c + + +# configuration item: the number of CPLD +# format: dev_num_[main_dev]_[minor_dev] +# main_dev: CPLD main_dev is 4 +# minor_dev: CPLD minor_dev not exist +dev_num_4_0=6 diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_FAN.cfg b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_FAN.cfg new file mode 100644 index 000000000000..bcbfa1d77bbb --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_FAN.cfg @@ -0,0 +1,437 @@ +# configuration item: the number of fans +# format: dev_num_[main_dev]_[minor_dev] +# main_dev: fan main_dev is 1 +# minor_dev: fan minor_dev not exist(0) +dev_num_1_0=6 + + +# configuration item: the number of rotors +# format: dev_num_[main_dev]_[minor_dev] +# main_dev: rotor main_dev is 1 +# minor_dev: rotor minor_dev is 5 +dev_num_1_5=2 + + +# configuration item: fan presence status +# format: dev_present_status_[main_dev_id][fan_index] +# main_dev_id: fan main_dev_id is 1 +# fan_index: start from 1 +dev_present_status.mode_1_1=config +dev_present_status.src_1_1=cpld +dev_present_status.frmt_1_1=bit +dev_present_status.pola_1_1=negative +dev_present_status.addr_1_1=0x00040037 +dev_present_status.len_1_1=1 +dev_present_status.bit_offset_1_1=5 + +dev_present_status.mode_1_2=config +dev_present_status.src_1_2=cpld +dev_present_status.frmt_1_2=bit +dev_present_status.pola_1_2=negative +dev_present_status.addr_1_2=0x00040037 +dev_present_status.len_1_2=1 +dev_present_status.bit_offset_1_2=4 + +dev_present_status.mode_1_3=config +dev_present_status.src_1_3=cpld +dev_present_status.frmt_1_3=bit +dev_present_status.pola_1_3=negative +dev_present_status.addr_1_3=0x00040037 +dev_present_status.len_1_3=1 +dev_present_status.bit_offset_1_3=3 + +dev_present_status.mode_1_4=config +dev_present_status.src_1_4=cpld +dev_present_status.frmt_1_4=bit +dev_present_status.pola_1_4=negative +dev_present_status.addr_1_4=0x00040037 +dev_present_status.len_1_4=1 +dev_present_status.bit_offset_1_4=2 + +dev_present_status.mode_1_5=config +dev_present_status.src_1_5=cpld +dev_present_status.frmt_1_5=bit +dev_present_status.pola_1_5=negative +dev_present_status.addr_1_5=0x00040037 +dev_present_status.len_1_5=1 +dev_present_status.bit_offset_1_5=1 + +dev_present_status.mode_1_6=config +dev_present_status.src_1_6=cpld +dev_present_status.frmt_1_6=bit +dev_present_status.pola_1_6=negative +dev_present_status.addr_1_6=0x00040037 +dev_present_status.len_1_6=1 +dev_present_status.bit_offset_1_6=0 + +# configuration item: fan rotor status +# format: fan_roll_status_[fan_id]_[motor_id] +# fan_id: start from 1 +# motor_id: start from 0 +fan_roll_status.mode_1_0=config +fan_roll_status.int_cons_1_0= +fan_roll_status.src_1_0=cpld +fan_roll_status.frmt_1_0=bit +fan_roll_status.pola_1_0=positive +fan_roll_status.fpath_1_0= +fan_roll_status.addr_1_0=0x00040038 +fan_roll_status.len_1_0=1 +fan_roll_status.bit_offset_1_0=5 + +fan_roll_status.mode_1_1=config +fan_roll_status.int_cons_1_1= +fan_roll_status.src_1_1=cpld +fan_roll_status.frmt_1_1=bit +fan_roll_status.pola_1_1=positive +fan_roll_status.fpath_1_1= +fan_roll_status.addr_1_1=0x00040039 +fan_roll_status.len_1_1=1 +fan_roll_status.bit_offset_1_1=5 + +fan_roll_status.mode_2_0=config +fan_roll_status.int_cons_2_0= +fan_roll_status.src_2_0=cpld +fan_roll_status.frmt_2_0=bit +fan_roll_status.pola_2_0=positive +fan_roll_status.fpath_2_0= +fan_roll_status.addr_2_0=0x00040038 +fan_roll_status.len_2_0=1 +fan_roll_status.bit_offset_2_0=4 + +fan_roll_status.mode_2_1=config +fan_roll_status.int_cons_2_1= +fan_roll_status.src_2_1=cpld +fan_roll_status.frmt_2_1=bit +fan_roll_status.pola_2_1=positive +fan_roll_status.fpath_2_1= +fan_roll_status.addr_2_1=0x00040039 +fan_roll_status.len_2_1=1 +fan_roll_status.bit_offset_2_1=4 + +fan_roll_status.mode_3_0=config +fan_roll_status.int_cons_3_0= +fan_roll_status.src_3_0=cpld +fan_roll_status.frmt_3_0=bit +fan_roll_status.pola_3_0=positive +fan_roll_status.fpath_3_0= +fan_roll_status.addr_3_0=0x00040038 +fan_roll_status.len_3_0=1 +fan_roll_status.bit_offset_3_0=3 + +fan_roll_status.mode_3_1=config +fan_roll_status.int_cons_3_1= +fan_roll_status.src_3_1=cpld +fan_roll_status.frmt_3_1=bit +fan_roll_status.pola_3_1=positive +fan_roll_status.fpath_3_1= +fan_roll_status.addr_3_1=0x00040039 +fan_roll_status.len_3_1=1 +fan_roll_status.bit_offset_3_1=3 + +fan_roll_status.mode_4_0=config +fan_roll_status.int_cons_4_0= +fan_roll_status.src_4_0=cpld +fan_roll_status.frmt_4_0=bit +fan_roll_status.pola_4_0=positive +fan_roll_status.fpath_4_0= +fan_roll_status.addr_4_0=0x00040038 +fan_roll_status.len_4_0=1 +fan_roll_status.bit_offset_4_0=2 + +fan_roll_status.mode_4_1=config +fan_roll_status.int_cons_4_1= +fan_roll_status.src_4_1=cpld +fan_roll_status.frmt_4_1=bit +fan_roll_status.pola_4_1=positive +fan_roll_status.fpath_4_1= +fan_roll_status.addr_4_1=0x00040039 +fan_roll_status.len_4_1=1 +fan_roll_status.bit_offset_4_1=2 + +fan_roll_status.mode_5_0=config +fan_roll_status.int_cons_5_0= +fan_roll_status.src_5_0=cpld +fan_roll_status.frmt_5_0=bit +fan_roll_status.pola_5_0=positive +fan_roll_status.fpath_5_0= +fan_roll_status.addr_5_0=0x00040038 +fan_roll_status.len_5_0=1 +fan_roll_status.bit_offset_5_0=1 + +fan_roll_status.mode_5_1=config +fan_roll_status.int_cons_5_1= +fan_roll_status.src_5_1=cpld +fan_roll_status.frmt_5_1=bit +fan_roll_status.pola_5_1=positive +fan_roll_status.fpath_5_1= +fan_roll_status.addr_5_1=0x00040039 +fan_roll_status.len_5_1=1 +fan_roll_status.bit_offset_5_1=1 + +fan_roll_status.mode_6_0=config +fan_roll_status.int_cons_6_0= +fan_roll_status.src_6_0=cpld +fan_roll_status.frmt_6_0=bit +fan_roll_status.pola_6_0=positive +fan_roll_status.fpath_6_0= +fan_roll_status.addr_6_0=0x00040038 +fan_roll_status.len_6_0=1 +fan_roll_status.bit_offset_6_0=0 + +fan_roll_status.mode_6_1=config +fan_roll_status.int_cons_6_1= +fan_roll_status.src_6_1=cpld +fan_roll_status.frmt_6_1=bit +fan_roll_status.pola_6_1=positive +fan_roll_status.fpath_6_1= +fan_roll_status.addr_6_1=0x00040039 +fan_roll_status.len_6_1=1 +fan_roll_status.bit_offset_6_1=0 + +# configuration item: fan speed +# format: fan_speed_[fan_id]_[motor_id] +# fan_id: start from 1 +# motor_id: start from 0 +fan_speed.mode_1_0=config +fan_speed.int_cons_1_0= +fan_speed.src_1_0=cpld +fan_speed.frmt_1_0=num_bytes +fan_speed.pola_1_0=negative +fan_speed.fpath_1_0= +fan_speed.addr_1_0=0x00040070 +fan_speed.len_1_0=2 +fan_speed.bit_offset_1_0= + +fan_speed.mode_1_1=config +fan_speed.int_cons_1_1= +fan_speed.src_1_1=cpld +fan_speed.frmt_1_1=num_bytes +fan_speed.pola_1_1=negative +fan_speed.fpath_1_1= +fan_speed.addr_1_1=0x0004007c +fan_speed.len_1_1=2 +fan_speed.bit_offset_1_1= + +fan_speed.mode_2_0=config +fan_speed.int_cons_2_0= +fan_speed.src_2_0=cpld +fan_speed.frmt_2_0=num_bytes +fan_speed.pola_2_0=negative +fan_speed.fpath_2_0= +fan_speed.addr_2_0=0x0004006e +fan_speed.len_2_0=2 +fan_speed.bit_offset_2_0= + +fan_speed.mode_2_1=config +fan_speed.int_cons_2_1= +fan_speed.src_2_1=cpld +fan_speed.frmt_2_1=num_bytes +fan_speed.pola_2_1=negative +fan_speed.fpath_2_1= +fan_speed.addr_2_1=0x0004007a +fan_speed.len_2_1=2 +fan_speed.bit_offset_2_1= + +fan_speed.mode_3_0=config +fan_speed.int_cons_3_0= +fan_speed.src_3_0=cpld +fan_speed.frmt_3_0=num_bytes +fan_speed.pola_3_0=negative +fan_speed.fpath_3_0= +fan_speed.addr_3_0=0x0004006c +fan_speed.len_3_0=2 +fan_speed.bit_offset_3_0= + +fan_speed.mode_3_1=config +fan_speed.int_cons_3_1= +fan_speed.src_3_1=cpld +fan_speed.frmt_3_1=num_bytes +fan_speed.pola_3_1=negative +fan_speed.fpath_3_1= +fan_speed.addr_3_1=0x00040078 +fan_speed.len_3_1=2 +fan_speed.bit_offset_3_1= + +fan_speed.mode_4_0=config +fan_speed.int_cons_4_0= +fan_speed.src_4_0=cpld +fan_speed.frmt_4_0=num_bytes +fan_speed.pola_4_0=negative +fan_speed.fpath_4_0= +fan_speed.addr_4_0=0x0004006a +fan_speed.len_4_0=2 +fan_speed.bit_offset_4_0= + +fan_speed.mode_4_1=config +fan_speed.int_cons_4_1= +fan_speed.src_4_1=cpld +fan_speed.frmt_4_1=num_bytes +fan_speed.pola_4_1=negative +fan_speed.fpath_4_1= +fan_speed.addr_4_1=0x00040076 +fan_speed.len_4_1=2 +fan_speed.bit_offset_4_1= + +fan_speed.mode_5_0=config +fan_speed.int_cons_5_0= +fan_speed.src_5_0=cpld +fan_speed.frmt_5_0=num_bytes +fan_speed.pola_5_0=negative +fan_speed.fpath_5_0= +fan_speed.addr_5_0=0x00040068 +fan_speed.len_5_0=2 +fan_speed.bit_offset_5_0= + +fan_speed.mode_5_1=config +fan_speed.int_cons_5_1= +fan_speed.src_5_1=cpld +fan_speed.frmt_5_1=num_bytes +fan_speed.pola_5_1=negative +fan_speed.fpath_5_1= +fan_speed.addr_5_1=0x00040074 +fan_speed.len_5_1=2 +fan_speed.bit_offset_5_1= + +fan_speed.mode_6_0=config +fan_speed.int_cons_6_0= +fan_speed.src_6_0=cpld +fan_speed.frmt_6_0=num_bytes +fan_speed.pola_6_0=negative +fan_speed.fpath_6_0= +fan_speed.addr_6_0=0x00040066 +fan_speed.len_6_0=2 +fan_speed.bit_offset_6_0= + +fan_speed.mode_6_1=config +fan_speed.int_cons_6_1= +fan_speed.src_6_1=cpld +fan_speed.frmt_6_1=num_bytes +fan_speed.pola_6_1=negative +fan_speed.fpath_6_1= +fan_speed.addr_6_1=0x00040072 +fan_speed.len_6_1=2 +fan_speed.bit_offset_6_1= + +# configuration item: fan pwm +# format: fan_ratio_[fan_id]_[motor_id] +# fan_id: start from 1 +# motor_id: start from 0 +fan_ratio.mode_1_0=config +fan_ratio.int_cons_1_0= +fan_ratio.src_1_0=cpld +fan_ratio.frmt_1_0=byte +fan_ratio.pola_1_0= +fan_ratio.fpath_1_0= +fan_ratio.addr_1_0=0x00040065 +fan_ratio.len_1_0=1 +fan_ratio.bit_offset_1_0= + +fan_ratio.mode_1_1=config +fan_ratio.int_cons_1_1= +fan_ratio.src_1_1=cpld +fan_ratio.frmt_1_1=byte +fan_ratio.pola_1_1= +fan_ratio.fpath_1_1= +fan_ratio.addr_1_1=0x00040065 +fan_ratio.len_1_1=1 +fan_ratio.bit_offset_1_1= + +fan_ratio.mode_2_0=config +fan_ratio.int_cons_2_0= +fan_ratio.src_2_0=cpld +fan_ratio.frmt_2_0=byte +fan_ratio.pola_2_0= +fan_ratio.fpath_2_0= +fan_ratio.addr_2_0=0x00040064 +fan_ratio.len_2_0=1 +fan_ratio.bit_offset_2_0= + +fan_ratio.mode_2_1=config +fan_ratio.int_cons_2_1= +fan_ratio.src_2_1=cpld +fan_ratio.frmt_2_1=byte +fan_ratio.pola_2_1= +fan_ratio.fpath_2_1= +fan_ratio.addr_2_1=0x00040064 +fan_ratio.len_2_1=1 +fan_ratio.bit_offset_2_1= + +fan_ratio.mode_3_0=config +fan_ratio.int_cons_3_0= +fan_ratio.src_3_0=cpld +fan_ratio.frmt_3_0=byte +fan_ratio.pola_3_0= +fan_ratio.fpath_3_0= +fan_ratio.addr_3_0=0x00040063 +fan_ratio.len_3_0=1 +fan_ratio.bit_offset_3_0= + +fan_ratio.mode_3_1=config +fan_ratio.int_cons_3_1= +fan_ratio.src_3_1=cpld +fan_ratio.frmt_3_1=byte +fan_ratio.pola_3_1= +fan_ratio.fpath_3_1= +fan_ratio.addr_3_1=0x00040063 +fan_ratio.len_3_1=1 +fan_ratio.bit_offset_3_1= + +fan_ratio.mode_4_0=config +fan_ratio.int_cons_4_0= +fan_ratio.src_4_0=cpld +fan_ratio.frmt_4_0=byte +fan_ratio.pola_4_0= +fan_ratio.fpath_4_0= +fan_ratio.addr_4_0=0x00040062 +fan_ratio.len_4_0=1 +fan_ratio.bit_offset_4_0= + +fan_ratio.mode_4_1=config +fan_ratio.int_cons_4_1= +fan_ratio.src_4_1=cpld +fan_ratio.frmt_4_1=byte +fan_ratio.pola_4_1= +fan_ratio.fpath_4_1= +fan_ratio.addr_4_1=0x00040062 +fan_ratio.len_4_1=1 +fan_ratio.bit_offset_4_1= + +fan_ratio.mode_5_0=config +fan_ratio.int_cons_5_0= +fan_ratio.src_5_0=cpld +fan_ratio.frmt_5_0=byte +fan_ratio.pola_5_0= +fan_ratio.fpath_5_0= +fan_ratio.addr_5_0=0x00040061 +fan_ratio.len_5_0=1 +fan_ratio.bit_offset_5_0= + +fan_ratio.mode_5_1=config +fan_ratio.int_cons_5_1= +fan_ratio.src_5_1=cpld +fan_ratio.frmt_5_1=byte +fan_ratio.pola_5_1= +fan_ratio.fpath_5_1= +fan_ratio.addr_5_1=0x00040061 +fan_ratio.len_5_1=1 +fan_ratio.bit_offset_5_1= + +fan_ratio.mode_6_0=config +fan_ratio.int_cons_6_0= +fan_ratio.src_6_0=cpld +fan_ratio.frmt_6_0=byte +fan_ratio.pola_6_0= +fan_ratio.fpath_6_0= +fan_ratio.addr_6_0=0x00040060 +fan_ratio.len_6_0=1 +fan_ratio.bit_offset_6_0= + +fan_ratio.mode_6_1=config +fan_ratio.int_cons_6_1= +fan_ratio.src_6_1=cpld +fan_ratio.frmt_6_1=byte +fan_ratio.pola_6_1= +fan_ratio.fpath_6_1= +fan_ratio.addr_6_1=0x00040060 +fan_ratio.len_6_1=1 +fan_ratio.bit_offset_6_1= \ No newline at end of file diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_PSU.cfg b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_PSU.cfg new file mode 100644 index 000000000000..26a838bfcfa5 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_PSU.cfg @@ -0,0 +1,64 @@ +# configuration item: the number of psus +# format: dev_num_[main_dev]_[minor_dev] +# main_dev: psu main_dev is 2 +# minor_dev: psu minor_dev not exist(0) +dev_num_2_0=2 + + +# configuration item: psu status +# format: psu_status_[psu_index]_[status_id] +# psu_index: start from 1 +# status_id: 0: presence 1: output 2: alert +# psu1 presence status +psu_status.mode_1_0=config +psu_status.src_1_0=cpld +psu_status.frmt_1_0=bit +psu_status.pola_1_0=negative +psu_status.addr_1_0=0x00020034 +psu_status.len_1_0=1 +psu_status.bit_offset_1_0=0 + +# psu1 output status +psu_status.mode_1_1=config +psu_status.src_1_1=cpld +psu_status.frmt_1_1=bit +psu_status.pola_1_1=positive +psu_status.addr_1_1=0x00020034 +psu_status.len_1_1=1 +psu_status.bit_offset_1_1=1 + +# psu1 alert status +psu_status.mode_1_2=config +psu_status.src_1_2=cpld +psu_status.frmt_1_2=bit +psu_status.pola_1_2=negative +psu_status.addr_1_2=0x00020034 +psu_status.len_1_2=1 +psu_status.bit_offset_1_2=2 + +# psu2 presence status +psu_status.mode_2_0=config +psu_status.src_2_0=cpld +psu_status.frmt_2_0=bit +psu_status.pola_2_0=negative +psu_status.addr_2_0=0x00020034 +psu_status.len_2_0=1 +psu_status.bit_offset_2_0=4 + +# psu2 output status +psu_status.mode_2_1=config +psu_status.src_2_1=cpld +psu_status.frmt_2_1=bit +psu_status.pola_2_1=positive +psu_status.addr_2_1=0x00020034 +psu_status.len_2_1=1 +psu_status.bit_offset_2_1=5 + +# psu2 alert status +psu_status.mode_2_2=config +psu_status.src_2_2=cpld +psu_status.frmt_2_2=bit +psu_status.pola_2_2=negative +psu_status.addr_2_2=0x00020034 +psu_status.len_2_2=1 +psu_status.bit_offset_2_2=6 diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_SFF.cfg b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_SFF.cfg new file mode 100644 index 000000000000..7031e2051326 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/WB_PLAT_SFF.cfg @@ -0,0 +1,522 @@ +# configuration item: the number of sffs +# format: dev_num_[main_dev]_[minor_dev] +# main_dev: sff main_dev is 3 +# minor_dev: sff minor_dev not exist(0) +dev_num_3_0=56 + + +# configuration item: The directory name of sff sysfs +# format: sff_dir_name_[sff_index] +# sff_index: start from 1 +sff_dir_name_1 =sff1 +sff_dir_name_2 =sff2 +sff_dir_name_3 =sff3 +sff_dir_name_4 =sff4 +sff_dir_name_5 =sff5 +sff_dir_name_6 =sff6 +sff_dir_name_7 =sff7 +sff_dir_name_8 =sff8 +sff_dir_name_9 =sff9 +sff_dir_name_10 =sff10 +sff_dir_name_11 =sff11 +sff_dir_name_12 =sff12 +sff_dir_name_13 =sff13 +sff_dir_name_14 =sff14 +sff_dir_name_15 =sff15 +sff_dir_name_16 =sff16 +sff_dir_name_17 =sff17 +sff_dir_name_18 =sff18 +sff_dir_name_19 =sff19 +sff_dir_name_20 =sff20 +sff_dir_name_21 =sff21 +sff_dir_name_22 =sff22 +sff_dir_name_23 =sff23 +sff_dir_name_24 =sff24 +sff_dir_name_25 =sff25 +sff_dir_name_26 =sff26 +sff_dir_name_27 =sff27 +sff_dir_name_28 =sff28 +sff_dir_name_29 =sff29 +sff_dir_name_30 =sff30 +sff_dir_name_31 =sff31 +sff_dir_name_32 =sff32 +sff_dir_name_33 =sff33 +sff_dir_name_34 =sff34 +sff_dir_name_35 =sff35 +sff_dir_name_36 =sff36 +sff_dir_name_37 =sff37 +sff_dir_name_38 =sff38 +sff_dir_name_39 =sff39 +sff_dir_name_40 =sff40 +sff_dir_name_41 =sff41 +sff_dir_name_42 =sff42 +sff_dir_name_43 =sff43 +sff_dir_name_44 =sff44 +sff_dir_name_45 =sff45 +sff_dir_name_46 =sff46 +sff_dir_name_47 =sff47 +sff_dir_name_48 =sff48 +sff_dir_name_49 =sff49 +sff_dir_name_50 =sff50 +sff_dir_name_51 =sff51 +sff_dir_name_52 =sff52 +sff_dir_name_53 =sff53 +sff_dir_name_54 =sff54 +sff_dir_name_55 =sff55 +sff_dir_name_56 =sff56 + + +# configuration item: sff cpld register status +# format: sff_cpld_reg_[sff_index]_[cpld_reg] +# sff_index: start from 1 +# cpld_reg: 1: power_on, 2: tx_fault, 3: tx_dis, 4:pre_n, 5:rx_los +# 6: reset, 7: lpmode, 8: module_present, 9: interrupt + +# sff cpld presence status +sff_cpld_reg.mode_1_8=config +sff_cpld_reg.src_1_8=cpld +sff_cpld_reg.frmt_1_8=bit +sff_cpld_reg.pola_1_8=negative +sff_cpld_reg.addr_1_8=0x00030030 +sff_cpld_reg.len_1_8=1 +sff_cpld_reg.bit_offset_1_8=0 + +sff_cpld_reg.mode_2_8=config +sff_cpld_reg.src_2_8=cpld +sff_cpld_reg.frmt_2_8=bit +sff_cpld_reg.pola_2_8=negative +sff_cpld_reg.addr_2_8=0x00030030 +sff_cpld_reg.len_2_8=1 +sff_cpld_reg.bit_offset_2_8=1 + +sff_cpld_reg.mode_3_8=config +sff_cpld_reg.src_3_8=cpld +sff_cpld_reg.frmt_3_8=bit +sff_cpld_reg.pola_3_8=negative +sff_cpld_reg.addr_3_8=0x00030030 +sff_cpld_reg.len_3_8=1 +sff_cpld_reg.bit_offset_3_8=2 + +sff_cpld_reg.mode_4_8=config +sff_cpld_reg.src_4_8=cpld +sff_cpld_reg.frmt_4_8=bit +sff_cpld_reg.pola_4_8=negative +sff_cpld_reg.addr_4_8=0x00030030 +sff_cpld_reg.len_4_8=1 +sff_cpld_reg.bit_offset_4_8=3 + +sff_cpld_reg.mode_5_8=config +sff_cpld_reg.src_5_8=cpld +sff_cpld_reg.frmt_5_8=bit +sff_cpld_reg.pola_5_8=negative +sff_cpld_reg.addr_5_8=0x00030030 +sff_cpld_reg.len_5_8=1 +sff_cpld_reg.bit_offset_5_8=4 + +sff_cpld_reg.mode_6_8=config +sff_cpld_reg.src_6_8=cpld +sff_cpld_reg.frmt_6_8=bit +sff_cpld_reg.pola_6_8=negative +sff_cpld_reg.addr_6_8=0x00030030 +sff_cpld_reg.len_6_8=1 +sff_cpld_reg.bit_offset_6_8=5 + +sff_cpld_reg.mode_7_8=config +sff_cpld_reg.src_7_8=cpld +sff_cpld_reg.frmt_7_8=bit +sff_cpld_reg.pola_7_8=negative +sff_cpld_reg.addr_7_8=0x00030030 +sff_cpld_reg.len_7_8=1 +sff_cpld_reg.bit_offset_7_8=6 + +sff_cpld_reg.mode_8_8=config +sff_cpld_reg.src_8_8=cpld +sff_cpld_reg.frmt_8_8=bit +sff_cpld_reg.pola_8_8=negative +sff_cpld_reg.addr_8_8=0x00030030 +sff_cpld_reg.len_8_8=1 +sff_cpld_reg.bit_offset_8_8=7 + +sff_cpld_reg.mode_9_8=config +sff_cpld_reg.src_9_8=cpld +sff_cpld_reg.frmt_9_8=bit +sff_cpld_reg.pola_9_8=negative +sff_cpld_reg.addr_9_8=0x00030031 +sff_cpld_reg.len_9_8=1 +sff_cpld_reg.bit_offset_9_8=0 + +sff_cpld_reg.mode_10_8=config +sff_cpld_reg.src_10_8=cpld +sff_cpld_reg.frmt_10_8=bit +sff_cpld_reg.pola_10_8=negative +sff_cpld_reg.addr_10_8=0x00030031 +sff_cpld_reg.len_10_8=1 +sff_cpld_reg.bit_offset_10_8=1 + +sff_cpld_reg.mode_11_8=config +sff_cpld_reg.src_11_8=cpld +sff_cpld_reg.frmt_11_8=bit +sff_cpld_reg.pola_11_8=negative +sff_cpld_reg.addr_11_8=0x00030031 +sff_cpld_reg.len_11_8=1 +sff_cpld_reg.bit_offset_11_8=2 + +sff_cpld_reg.mode_12_8=config +sff_cpld_reg.src_12_8=cpld +sff_cpld_reg.frmt_12_8=bit +sff_cpld_reg.pola_12_8=negative +sff_cpld_reg.addr_12_8=0x00030031 +sff_cpld_reg.len_12_8=1 +sff_cpld_reg.bit_offset_12_8=3 + +sff_cpld_reg.mode_13_8=config +sff_cpld_reg.src_13_8=cpld +sff_cpld_reg.frmt_13_8=bit +sff_cpld_reg.pola_13_8=negative +sff_cpld_reg.addr_13_8=0x00030031 +sff_cpld_reg.len_13_8=1 +sff_cpld_reg.bit_offset_13_8=4 + +sff_cpld_reg.mode_14_8=config +sff_cpld_reg.src_14_8=cpld +sff_cpld_reg.frmt_14_8=bit +sff_cpld_reg.pola_14_8=negative +sff_cpld_reg.addr_14_8=0x00050030 +sff_cpld_reg.len_14_8=1 +sff_cpld_reg.bit_offset_14_8=0 + +sff_cpld_reg.mode_15_8=config +sff_cpld_reg.src_15_8=cpld +sff_cpld_reg.frmt_15_8=bit +sff_cpld_reg.pola_15_8=negative +sff_cpld_reg.addr_15_8=0x00030031 +sff_cpld_reg.len_15_8=1 +sff_cpld_reg.bit_offset_15_8=5 + +sff_cpld_reg.mode_16_8=config +sff_cpld_reg.src_16_8=cpld +sff_cpld_reg.frmt_16_8=bit +sff_cpld_reg.pola_16_8=negative +sff_cpld_reg.addr_16_8=0x00050030 +sff_cpld_reg.len_16_8=1 +sff_cpld_reg.bit_offset_16_8=1 + +sff_cpld_reg.mode_17_8=config +sff_cpld_reg.src_17_8=cpld +sff_cpld_reg.frmt_17_8=bit +sff_cpld_reg.pola_17_8=negative +sff_cpld_reg.addr_17_8=0x00050030 +sff_cpld_reg.len_17_8=1 +sff_cpld_reg.bit_offset_17_8=2 + +sff_cpld_reg.mode_18_8=config +sff_cpld_reg.src_18_8=cpld +sff_cpld_reg.frmt_18_8=bit +sff_cpld_reg.pola_18_8=negative +sff_cpld_reg.addr_18_8=0x00050030 +sff_cpld_reg.len_18_8=1 +sff_cpld_reg.bit_offset_18_8=3 + +sff_cpld_reg.mode_19_8=config +sff_cpld_reg.src_19_8=cpld +sff_cpld_reg.frmt_19_8=bit +sff_cpld_reg.pola_19_8=negative +sff_cpld_reg.addr_19_8=0x00050030 +sff_cpld_reg.len_19_8=1 +sff_cpld_reg.bit_offset_19_8=4 + +sff_cpld_reg.mode_20_8=config +sff_cpld_reg.src_20_8=cpld +sff_cpld_reg.frmt_20_8=bit +sff_cpld_reg.pola_20_8=negative +sff_cpld_reg.addr_20_8=0x00050030 +sff_cpld_reg.len_20_8=1 +sff_cpld_reg.bit_offset_20_8=5 + +sff_cpld_reg.mode_21_8=config +sff_cpld_reg.src_21_8=cpld +sff_cpld_reg.frmt_21_8=bit +sff_cpld_reg.pola_21_8=negative +sff_cpld_reg.addr_21_8=0x00050030 +sff_cpld_reg.len_21_8=1 +sff_cpld_reg.bit_offset_21_8=6 + +sff_cpld_reg.mode_22_8=config +sff_cpld_reg.src_22_8=cpld +sff_cpld_reg.frmt_22_8=bit +sff_cpld_reg.pola_22_8=negative +sff_cpld_reg.addr_22_8=0x00030031 +sff_cpld_reg.len_22_8=1 +sff_cpld_reg.bit_offset_22_8=6 + +sff_cpld_reg.mode_23_8=config +sff_cpld_reg.src_23_8=cpld +sff_cpld_reg.frmt_23_8=bit +sff_cpld_reg.pola_23_8=negative +sff_cpld_reg.addr_23_8=0x00050030 +sff_cpld_reg.len_23_8=1 +sff_cpld_reg.bit_offset_23_8=7 + +sff_cpld_reg.mode_24_8=config +sff_cpld_reg.src_24_8=cpld +sff_cpld_reg.frmt_24_8=bit +sff_cpld_reg.pola_24_8=negative +sff_cpld_reg.addr_24_8=0x00030031 +sff_cpld_reg.len_24_8=1 +sff_cpld_reg.bit_offset_24_8=7 + +sff_cpld_reg.mode_25_8=config +sff_cpld_reg.src_25_8=cpld +sff_cpld_reg.frmt_25_8=bit +sff_cpld_reg.pola_25_8=negative +sff_cpld_reg.addr_25_8=0x00050031 +sff_cpld_reg.len_25_8=1 +sff_cpld_reg.bit_offset_25_8=0 + +sff_cpld_reg.mode_26_8=config +sff_cpld_reg.src_26_8=cpld +sff_cpld_reg.frmt_26_8=bit +sff_cpld_reg.pola_26_8=negative +sff_cpld_reg.addr_26_8=0x00050031 +sff_cpld_reg.len_26_8=1 +sff_cpld_reg.bit_offset_26_8=1 + +sff_cpld_reg.mode_27_8=config +sff_cpld_reg.src_27_8=cpld +sff_cpld_reg.frmt_27_8=bit +sff_cpld_reg.pola_27_8=negative +sff_cpld_reg.addr_27_8=0x00050031 +sff_cpld_reg.len_27_8=1 +sff_cpld_reg.bit_offset_27_8=2 + +sff_cpld_reg.mode_28_8=config +sff_cpld_reg.src_28_8=cpld +sff_cpld_reg.frmt_28_8=bit +sff_cpld_reg.pola_28_8=negative +sff_cpld_reg.addr_28_8=0x00050031 +sff_cpld_reg.len_28_8=1 +sff_cpld_reg.bit_offset_28_8=3 + +sff_cpld_reg.mode_29_8=config +sff_cpld_reg.src_29_8=cpld +sff_cpld_reg.frmt_29_8=bit +sff_cpld_reg.pola_29_8=negative +sff_cpld_reg.addr_29_8=0x00050031 +sff_cpld_reg.len_29_8=1 +sff_cpld_reg.bit_offset_29_8=4 + +sff_cpld_reg.mode_30_8=config +sff_cpld_reg.src_30_8=cpld +sff_cpld_reg.frmt_30_8=bit +sff_cpld_reg.pola_30_8=negative +sff_cpld_reg.addr_30_8=0x00050031 +sff_cpld_reg.len_30_8=1 +sff_cpld_reg.bit_offset_30_8=5 + +sff_cpld_reg.mode_31_8=config +sff_cpld_reg.src_31_8=cpld +sff_cpld_reg.frmt_31_8=bit +sff_cpld_reg.pola_31_8=negative +sff_cpld_reg.addr_31_8=0x00030032 +sff_cpld_reg.len_31_8=1 +sff_cpld_reg.bit_offset_31_8=0 + +sff_cpld_reg.mode_32_8=config +sff_cpld_reg.src_32_8=cpld +sff_cpld_reg.frmt_32_8=bit +sff_cpld_reg.pola_32_8=negative +sff_cpld_reg.addr_32_8=0x00030032 +sff_cpld_reg.len_32_8=1 +sff_cpld_reg.bit_offset_32_8=1 + +sff_cpld_reg.mode_33_8=config +sff_cpld_reg.src_33_8=cpld +sff_cpld_reg.frmt_33_8=bit +sff_cpld_reg.pola_33_8=negative +sff_cpld_reg.addr_33_8=0x00050031 +sff_cpld_reg.len_33_8=1 +sff_cpld_reg.bit_offset_33_8=6 + +sff_cpld_reg.mode_34_8=config +sff_cpld_reg.src_34_8=cpld +sff_cpld_reg.frmt_34_8=bit +sff_cpld_reg.pola_34_8=negative +sff_cpld_reg.addr_34_8=0x00050031 +sff_cpld_reg.len_34_8=1 +sff_cpld_reg.bit_offset_34_8=7 + +sff_cpld_reg.mode_35_8=config +sff_cpld_reg.src_35_8=cpld +sff_cpld_reg.frmt_35_8=bit +sff_cpld_reg.pola_35_8=negative +sff_cpld_reg.addr_35_8=0x00030032 +sff_cpld_reg.len_35_8=1 +sff_cpld_reg.bit_offset_35_8=2 + +sff_cpld_reg.mode_36_8=config +sff_cpld_reg.src_36_8=cpld +sff_cpld_reg.frmt_36_8=bit +sff_cpld_reg.pola_36_8=negative +sff_cpld_reg.addr_36_8=0x00050032 +sff_cpld_reg.len_36_8=1 +sff_cpld_reg.bit_offset_36_8=0 + +sff_cpld_reg.mode_37_8=config +sff_cpld_reg.src_37_8=cpld +sff_cpld_reg.frmt_37_8=bit +sff_cpld_reg.pola_37_8=negative +sff_cpld_reg.addr_37_8=0x00050032 +sff_cpld_reg.len_37_8=1 +sff_cpld_reg.bit_offset_37_8=1 + +sff_cpld_reg.mode_38_8=config +sff_cpld_reg.src_38_8=cpld +sff_cpld_reg.frmt_38_8=bit +sff_cpld_reg.pola_38_8=negative +sff_cpld_reg.addr_38_8=0x00050032 +sff_cpld_reg.len_38_8=1 +sff_cpld_reg.bit_offset_38_8=2 + +sff_cpld_reg.mode_39_8=config +sff_cpld_reg.src_39_8=cpld +sff_cpld_reg.frmt_39_8=bit +sff_cpld_reg.pola_39_8=negative +sff_cpld_reg.addr_39_8=0x00050032 +sff_cpld_reg.len_39_8=1 +sff_cpld_reg.bit_offset_39_8=3 + +sff_cpld_reg.mode_40_8=config +sff_cpld_reg.src_40_8=cpld +sff_cpld_reg.frmt_40_8=bit +sff_cpld_reg.pola_40_8=negative +sff_cpld_reg.addr_40_8=0x00050032 +sff_cpld_reg.len_40_8=1 +sff_cpld_reg.bit_offset_40_8=4 + +sff_cpld_reg.mode_41_8=config +sff_cpld_reg.src_41_8=cpld +sff_cpld_reg.frmt_41_8=bit +sff_cpld_reg.pola_41_8=negative +sff_cpld_reg.addr_41_8=0x00020030 +sff_cpld_reg.len_41_8=1 +sff_cpld_reg.bit_offset_41_8=0 + +sff_cpld_reg.mode_42_8=config +sff_cpld_reg.src_42_8=cpld +sff_cpld_reg.frmt_42_8=bit +sff_cpld_reg.pola_42_8=negative +sff_cpld_reg.addr_42_8=0x00020030 +sff_cpld_reg.len_42_8=1 +sff_cpld_reg.bit_offset_42_8=1 + +sff_cpld_reg.mode_43_8=config +sff_cpld_reg.src_43_8=cpld +sff_cpld_reg.frmt_43_8=bit +sff_cpld_reg.pola_43_8=negative +sff_cpld_reg.addr_43_8=0x00020030 +sff_cpld_reg.len_43_8=1 +sff_cpld_reg.bit_offset_43_8=2 + +sff_cpld_reg.mode_44_8=config +sff_cpld_reg.src_44_8=cpld +sff_cpld_reg.frmt_44_8=bit +sff_cpld_reg.pola_44_8=negative +sff_cpld_reg.addr_44_8=0x00020030 +sff_cpld_reg.len_44_8=1 +sff_cpld_reg.bit_offset_44_8=3 + +sff_cpld_reg.mode_45_8=config +sff_cpld_reg.src_45_8=cpld +sff_cpld_reg.frmt_45_8=bit +sff_cpld_reg.pola_45_8=negative +sff_cpld_reg.addr_45_8=0x00020030 +sff_cpld_reg.len_45_8=1 +sff_cpld_reg.bit_offset_45_8=4 + +sff_cpld_reg.mode_46_8=config +sff_cpld_reg.src_46_8=cpld +sff_cpld_reg.frmt_46_8=bit +sff_cpld_reg.pola_46_8=negative +sff_cpld_reg.addr_46_8=0x00020030 +sff_cpld_reg.len_46_8=1 +sff_cpld_reg.bit_offset_46_8=5 + +sff_cpld_reg.mode_47_8=config +sff_cpld_reg.src_47_8=cpld +sff_cpld_reg.frmt_47_8=bit +sff_cpld_reg.pola_47_8=negative +sff_cpld_reg.addr_47_8=0x00020030 +sff_cpld_reg.len_47_8=1 +sff_cpld_reg.bit_offset_47_8=6 + +sff_cpld_reg.mode_48_8=config +sff_cpld_reg.src_48_8=cpld +sff_cpld_reg.frmt_48_8=bit +sff_cpld_reg.pola_48_8=negative +sff_cpld_reg.addr_48_8=0x00020030 +sff_cpld_reg.len_48_8=1 +sff_cpld_reg.bit_offset_48_8=7 + +sff_cpld_reg.mode_49_8=config +sff_cpld_reg.src_49_8=cpld +sff_cpld_reg.frmt_49_8=bit +sff_cpld_reg.pola_49_8=negative +sff_cpld_reg.addr_49_8=0x00020031 +sff_cpld_reg.len_49_8=1 +sff_cpld_reg.bit_offset_49_8=0 + +sff_cpld_reg.mode_50_8=config +sff_cpld_reg.src_50_8=cpld +sff_cpld_reg.frmt_50_8=bit +sff_cpld_reg.pola_50_8=negative +sff_cpld_reg.addr_50_8=0x00020031 +sff_cpld_reg.len_50_8=1 +sff_cpld_reg.bit_offset_50_8=1 + +sff_cpld_reg.mode_51_8=config +sff_cpld_reg.src_51_8=cpld +sff_cpld_reg.frmt_51_8=bit +sff_cpld_reg.pola_51_8=negative +sff_cpld_reg.addr_51_8=0x00020031 +sff_cpld_reg.len_51_8=1 +sff_cpld_reg.bit_offset_51_8=2 + +sff_cpld_reg.mode_52_8=config +sff_cpld_reg.src_52_8=cpld +sff_cpld_reg.frmt_52_8=bit +sff_cpld_reg.pola_52_8=negative +sff_cpld_reg.addr_52_8=0x00020031 +sff_cpld_reg.len_52_8=1 +sff_cpld_reg.bit_offset_52_8=3 + +sff_cpld_reg.mode_53_8=config +sff_cpld_reg.src_53_8=cpld +sff_cpld_reg.frmt_53_8=bit +sff_cpld_reg.pola_53_8=negative +sff_cpld_reg.addr_53_8=0x00020031 +sff_cpld_reg.len_53_8=1 +sff_cpld_reg.bit_offset_53_8=4 + +sff_cpld_reg.mode_54_8=config +sff_cpld_reg.src_54_8=cpld +sff_cpld_reg.frmt_54_8=bit +sff_cpld_reg.pola_54_8=negative +sff_cpld_reg.addr_54_8=0x00020031 +sff_cpld_reg.len_54_8=1 +sff_cpld_reg.bit_offset_54_8=5 + +sff_cpld_reg.mode_55_8=config +sff_cpld_reg.src_55_8=cpld +sff_cpld_reg.frmt_55_8=bit +sff_cpld_reg.pola_55_8=negative +sff_cpld_reg.addr_55_8=0x00020031 +sff_cpld_reg.len_55_8=1 +sff_cpld_reg.bit_offset_55_8=6 + +sff_cpld_reg.mode_56_8=config +sff_cpld_reg.src_56_8=cpld +sff_cpld_reg.frmt_56_8=bit +sff_cpld_reg.pola_56_8=negative +sff_cpld_reg.addr_56_8=0x00020031 +sff_cpld_reg.len_56_8=1 +sff_cpld_reg.bit_offset_56_8=7 diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/cfg_file_name b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/cfg_file_name new file mode 100644 index 000000000000..5f49420441a5 --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/plat_sysfs_cfg/cfg_file_name @@ -0,0 +1,4 @@ +WB_PLAT_CPLD +WB_PLAT_FAN +WB_PLAT_PSU +WB_PLAT_SFF diff --git a/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/setup.py b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/setup.py new file mode 100644 index 000000000000..6c3916921abb --- /dev/null +++ b/platform/broadcom/sonic-platform-modules-micas/m2-w6520-48c8qc/setup.py @@ -0,0 +1,39 @@ +from setuptools import setup + +setup( + name='sonic-platform', + version='1.0', + description='SONiC platform API implementation', + license='Apache 2.0', + author='SONiC Team', + author_email='support', + url='', + maintainer='support', + maintainer_email='', + packages=[ + 'sonic_platform', + 'plat_hal', + 'wbutil', + 'eepromutil', + 'hal-config', + 'config', + ], + py_modules=[ + 'hal_pltfm', + 'platform_util', + 'platform_intf', + ], + classifiers=[ + 'Development Status :: 3 - Alpha', + 'Environment :: Plugins', + 'Intended Audience :: Developers', + 'Intended Audience :: Information Technology', + 'Intended Audience :: System Administrators', + 'License :: OSI Approved :: Apache Software License', + 'Natural Language :: English', + 'Operating System :: POSIX :: Linux', + 'Programming Language :: Python :: 3.7', + 'Topic :: Utilities', + ], + keywords='sonic SONiC platform PLATFORM', +) diff --git a/platform/marvell/platform_arm64.conf b/platform/marvell/platform_arm64.conf index ee417e9cd3ac..617ab6ab9dbf 100644 --- a/platform/marvell/platform_arm64.conf +++ b/platform/marvell/platform_arm64.conf @@ -13,10 +13,6 @@ kernel_version=6.1.0-22-2-arm64 kernel_fname="/boot/vmlinuz-$kernel_version" initrd_fname="/boot/initrd.img-$kernel_version" fit_fname="/boot/sonic_arm64.fit" -demo_volume_label=SONiC-OS - -# global mount defines -demo_mnt=/tmp if [ "$install_env" = "onie" ]; then MACH_FILE="/etc/machine.conf" @@ -29,15 +25,20 @@ echo "Intalling SONiC from $install_env on Platform $PLATFORM" PLATFORM_AC5X=0 PLATFORM_CN9131=0 +PLATFORM_7215_A1=0 +disk_interface="mmc" case $PLATFORM in arm64-nokia_ixs7215_52xb-r0) PLATFORM_7215_A1=1; + mmc_bus="mmc0:0001"; fdt_fname="/usr/lib/linux-image-${kernel_version}/marvell/7215-ixs-a1.dtb"; fit_conf_name="#conf_7215_a1";; arm64-marvell_rd98DX35xx-r0) PLATFORM_AC5X=1; + mmc_bus="mmc0:0001"; fdt_fname="/usr/lib/linux-image-$kernel_version/marvell/ac5-98dx35xx-rd.dtb"; fit_conf_name="#conf_ac5x";; arm64-marvell_rd98DX35xx_cn9131-r0) PLATFORM_CN9131=1; + mmc_bus="mmc0:0001"; fdt_fname="/boot/cn9131-db-comexpress.dtb"; fit_conf_name="#conf_cn9131";; esac @@ -48,21 +49,16 @@ if [ $PLATFORM_AC5X -eq 1 ]; then initrd_addr=0x206000000 FW_ENV_DEFAULT='/dev/mtd0 0x400000 0x10000 0x10000' - demo_part=2 - mmc_bus="mmc0:0001" elif [ $PLATFORM_7215_A1 -eq 1 ]; then fit_addr=0x20000000 VAR_LOG=4096 FW_ENV_DEFAULT='/dev/mtd1 0x0 0x10000 0x10000' demo_part=2 - mmc_bus="mmc0:0001" elif [ $PLATFORM_CN9131 -eq 1 ]; then fdt_addr=0x1000000 fit_addr=0x8000000 initrd_addr=0x2000000 - demo_part=2 FW_ENV_DEFAULT='/dev/mtd1 0x1F0000 0x10000 0x10000' - mmc_bus="mmc0:0001" else fdt_addr=0x1000000 fit_addr=0x8000000 @@ -71,83 +67,100 @@ else fdt_fname="/usr/lib/linux-image-$kernel_version/marvell/armada-7020-comexpress.dtb" FW_ENV_DEFAULT='/dev/mtd1 0x0 0x10000 0x100000' - demo_part=1 mmc_bus="mmc0:aaaa" fi # Skip VID Header in UBIFS LINUX_MISC_CMD='apparmor=1 security=apparmor usbcore.autosuspend=-1' -#Get block device -#Default block device is eMMC, if not look for usb storage +# Get block device +# default_platform.conf will by default install SONIC on same block device as ONIE +# This funtion looks to override SONIC install target disk, with optional eMMC or SCSI disk. get_install_device() { - for i in 0 1 2 ; do - if $(ls -l /sys/block/mmcblk$i/device 2>/dev/null | grep -q "$mmc_bus") ; then - echo "/dev/mmcblk$i" - blk_dev=/dev/mmcblk$i - echo "Selected mmc $blk_dev" - return 0 - fi - done + if [ ! -z "$mmc_bus" ]; then + for i in 0 1 2 ; do + if $(ls -l /sys/block/mmcblk$i/device 2>/dev/null | grep -q "$mmc_bus") ; then + echo "/dev/mmcblk$i" + blk_dev=/dev/mmcblk$i + disk_interface="mmc" + echo "Selected mmc $blk_dev" + return + fi + done + fi - echo "ERROR storage not found" - return 1 + if [ ! -z "$scsi_bus" ]; then + for i in a b c d ; do + if $(ls -l /sys/block/sd$i/device 2>/dev/null | grep -q "$scsi_bus") ; then + echo "/dev/sd$i" + blk_dev=/dev/sd$i + disk_interface="scsi" + disk_scan="scsi scan;" + echo "Selected disk $blk_dev" + return + fi + done + fi + + echo "Waring: Storage not found. Will try installing on the same disk as ONIE." } get_install_device -if [ $? -ne 0 ]; then - echo "Error: Unable to detect $blk_dev $demo_dev" - exit 1 -fi -demo_dev=${blk_dev}p${demo_part} +if [ $PLATFORM_7215_A1 -eq 1 ]; then + # 7215_A1 to use custom logic for backward compatibility -remove_dev_partitions() { - echo "Remove all existing partitions starting partnum: ${demo_part} from ${blk_dev}" - local dev_to_install=${blk_dev}p - for p in $(seq ${demo_part} 9) ; do - if [[ -e ${dev_to_install}${p} ]]; then - echo "Removing partition ${dev_to_install}${p}" - sgdisk -d ${p} ${blk_dev} || true - fi - done - partprobe ${blk_dev} -} + demo_dev=${blk_dev}p${demo_part} -create_demo_partition() { - # SD CARD - remove_dev_partitions + remove_dev_partitions() { + echo "Remove all existing partitions starting partnum: ${demo_part} from ${blk_dev}" + local dev_to_install=${blk_dev}p + for p in $(seq ${demo_part} 9) ; do + if [[ -e ${dev_to_install}${p} ]]; then + echo "Removing partition ${dev_to_install}${p}" + sgdisk -d ${p} ${blk_dev} || true + fi + done + partprobe ${blk_dev} + } - # Create sonic partition - sgdisk --new ${demo_part}:: \ - --change-name=${demo_part}:${demo_volume_label} \ - --typecode=${demo_part}:8300 -p ${blk_dev} + create_demo_partition() { + # SD CARD + remove_dev_partitions - partprobe -} + # Create sonic partition + sgdisk --new ${demo_part}:: \ + --change-name=${demo_part}:${demo_volume_label} \ + --typecode=${demo_part}:8300 -p ${blk_dev} -create_partition() { - get_install_device - if [ $? -ne 0 ]; then - echo "Error: Unable to detect $blk_dev $demo_dev" - exit 1 - fi + partprobe + } - # Platform specific partition - create_demo_partition -} + create_partition() { + get_install_device + if [ $? -ne 0 ]; then + echo "Error: Unable to detect $blk_dev $demo_dev" + exit 1 + fi + + # Platform specific partition + create_demo_partition + } -mount_partition() { - # Make filesystem - echo "demo label: $demo_volume_label. $demo_dev..." - mkfs.ext4 -L $demo_volume_label $demo_dev + mount_partition() { + # Make filesystem + echo "demo label: $demo_volume_label. $demo_dev..." + mkfs.ext4 -L $demo_volume_label $demo_dev - mount -t ext4 -o defaults,rw $demo_dev $demo_mnt || { - echo "Error: Unable to mount $demo_dev on $demo_mnt" - exit 1 + demo_mnt=/tmp + + mount -t ext4 -o defaults,rw $demo_dev $demo_mnt || { + echo "Error: Unable to mount $demo_dev on $demo_mnt" + exit 1 + } } -} +fi prepare_boot_menu() { echo "Sync up cache ..." @@ -222,7 +235,8 @@ prepare_boot_menu() { fw_setenv ${FW_ARG} print_menu "$BORDER $BOOT1 $BOOT2 $BOOT3 $BORDER" > /dev/null fw_setenv ${FW_ARG} linuxargs "net.ifnames=0 loopfstype=squashfs loop=$image_dir/$FILESYSTEM_SQUASHFS systemd.unified_cgroup_hierarchy=0 varlog_size=$VAR_LOG ${ONIE_PLATFORM_EXTRA_CMDLINE_LINUX}" > /dev/null - sonic_bootargs_old='setenv bootargs root='$demo_dev' rw rootwait panic=1 console=ttyS0,${baudrate} ${linuxargs_old}' + uuid=$(blkid | grep "$demo_volume_label" | sed -ne 's/.* UUID=\"\([^"]*\)\".*/\1/p') + sonic_bootargs_old='setenv bootargs root=UUID='$uuid' rw rootwait panic=1 console=ttyS0,${baudrate} ${linuxargs_old}' fw_setenv ${FW_ARG} sonic_bootargs_old "$sonic_bootargs_old" > /dev/null || true sonic_boot_load_old=$(fw_printenv -n sonic_boot_load || true) old_str="_old" @@ -233,16 +247,17 @@ prepare_boot_menu() { fw_setenv ${FW_ARG} fit_addr $fit_addr > /dev/null fw_setenv ${FW_ARG} fit_conf_name $fit_conf_name > /dev/null fw_setenv ${FW_ARG} initrd_addr $initrd_addr > /dev/null - MMC_LOAD='ext4load mmc 0:'$demo_part' $fit_addr $fit_name' - fw_setenv ${FW_ARG} sonic_boot_load "$MMC_LOAD" > /dev/null + demo_part=$(sgdisk -p $blk_dev | grep -e "$demo_volume_label" | awk '{print $1}') + DISK_LOAD=''$disk_scan' ext4load '$disk_interface' 0:'$demo_part' $fit_addr $fit_name' + fw_setenv ${FW_ARG} sonic_boot_load "$DISK_LOAD" > /dev/null SONIC_BOOT_CMD='run sonic_bootargs; run sonic_boot_load; bootm $fit_addr${fit_conf_name}' SONIC_BOOT_CMD_OLD='run sonic_bootargs_old; run sonic_boot_load_old; bootm $fit_addr${fit_conf_name}' - BOOTARGS='setenv bootargs root='$demo_dev' rw rootwait panic=1 console=ttyS0,${baudrate} ${linuxargs}' + BOOTARGS='setenv bootargs root=UUID='$uuid' rw rootwait panic=1 console=ttyS0,${baudrate} ${linuxargs}' fw_setenv ${FW_ARG} sonic_bootargs "$BOOTARGS" > /dev/null fw_setenv ${FW_ARG} sonic_image_2 "$SONIC_BOOT_CMD_OLD" > /dev/null fw_setenv ${FW_ARG} sonic_image_1 "$SONIC_BOOT_CMD" > /dev/null fw_setenv ${FW_ARG} boot_next 'run sonic_image_1'> /dev/null - fw_setenv ${FW_ARG} bootcmd 'run print_menu; usb start; test -n "$boot_once" && setenv do_boot_once "$boot_once" && setenv boot_once "" && saveenv && run do_boot_once; run boot_next' > /dev/null + fw_setenv ${FW_ARG} bootcmd 'run print_menu; test -n "$boot_once" && setenv do_boot_once "$boot_once" && setenv boot_once "" && saveenv && run do_boot_once; run boot_next' > /dev/null echo "Installed SONiC base image SONiC-OS successfully" } diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py b/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py index cd8d3e17684a..495be1e5a6d5 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/chassis.py @@ -27,6 +27,7 @@ from sonic_platform_base.chassis_base import ChassisBase from sonic_py_common.logger import Logger import os + from sonic_py_common import device_info from functools import reduce from .utils import extract_RJ45_ports_index from . import module_host_mgmt_initializer @@ -57,6 +58,8 @@ REBOOT_TYPE_KEXEC_PATTERN_WARM = ".*SONIC_BOOT_TYPE=(warm|fastfast).*" REBOOT_TYPE_KEXEC_PATTERN_FAST = ".*SONIC_BOOT_TYPE=(fast|fast-reboot).*" +SYS_DISPLAY = "SYS_DISPLAY" + # Global logger class instance logger = Logger() @@ -742,8 +745,15 @@ def get_model(self): Returns: string: Model/part number of device """ - self.initialize_eeprom() - return self._eeprom.get_part_number() + model = None + if self._read_model_from_vpd(): + if not self.vpd_data: + self.vpd_data = self._parse_vpd_data(VPD_DATA_FILE) + model = self.vpd_data.get(SYS_DISPLAY, "N/A") + else: + self.initialize_eeprom() + model = self._eeprom.get_part_number() + return model def get_base_mac(self): """ @@ -944,6 +954,20 @@ def _parse_vpd_data(self, filename): return result + def _read_model_from_vpd(self): + """ + Returns if model number should be returned from VPD file + + Returns: + Returns True if spectrum version is higher than Spectrum-4 according to sku number + """ + sku = device_info.get_hwsku() + sku_num = re.search('[0-9]{4}', sku).group() + # fallback to spc1 in case sku number is not available + if sku_num is None: + sku_num = 2700 + return int(sku_num) >= 5000 + def _verify_reboot_cause(self, filename): ''' Open and read the reboot cause file in diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/thermal.py b/platform/mellanox/mlnx-platform-api/sonic_platform/thermal.py index 8167885227f3..e4a48784ffa1 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/thermal.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/thermal.py @@ -173,7 +173,10 @@ def initialize_chassis_thermals(): thermal_list.append(create_indexable_thermal(rule, index, CHASSIS_THERMAL_SYSFS_FOLDER, position)) position += 1 elif thermal_type == 'discrete': - thermal_list.extend(create_discrete_thermal(rule)) + discrete_thermals = create_discrete_thermal(rule, position) + if discrete_thermals: + position += len(discrete_thermals) + thermal_list.extend(discrete_thermals) else: thermal_object = create_single_thermal(rule, CHASSIS_THERMAL_SYSFS_FOLDER, position) if thermal_object: @@ -280,10 +283,9 @@ def create_single_thermal(rule, sysfs_folder, position, presence_cb=None): return RemovableThermal(name, temp_file, high_th_file, high_crit_th_file, high_th_default, high_crit_th_default, scale, position, presence_cb) -def create_discrete_thermal(rule): +def create_discrete_thermal(rule, position): search_pattern = rule.get('search_pattern') index_pattern = rule.get('index_pattern') - position = 1 thermal_list = [] for file_path in glob.iglob(search_pattern): file_name = os.path.basename(file_path) diff --git a/platform/mellanox/mlnx-platform-api/tests/test_eeprom.py b/platform/mellanox/mlnx-platform-api/tests/test_eeprom.py index b07f9327d098..5a72290cebba 100644 --- a/platform/mellanox/mlnx-platform-api/tests/test_eeprom.py +++ b/platform/mellanox/mlnx-platform-api/tests/test_eeprom.py @@ -1,5 +1,6 @@ # -# Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. +# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES +# Copyright (c) 2021-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,6 +19,7 @@ import os import pytest import sys +from sonic_py_common import device_info if sys.version_info.major == 3: from unittest.mock import MagicMock, patch else: @@ -33,6 +35,7 @@ class TestEeprom: @patch('os.path.exists', MagicMock(return_value=True)) @patch('os.path.islink', MagicMock(return_value=True)) + @patch('sonic_py_common.device_info.get_hwsku', MagicMock(return_value='MSN3420')) @patch('sonic_platform.eeprom.Eeprom.get_system_eeprom_info') @patch('sonic_platform.chassis.extract_RJ45_ports_index', MagicMock(return_value=[])) def test_chassis_eeprom(self, mock_eeprom_info): diff --git a/platform/nvidia-bluefield/installer/create_sonic_image b/platform/nvidia-bluefield/installer/create_sonic_image index a131df4c3360..7369da514c6d 100755 --- a/platform/nvidia-bluefield/installer/create_sonic_image +++ b/platform/nvidia-bluefield/installer/create_sonic_image @@ -292,15 +292,8 @@ create_bfb_image() { copy_bin $tool done - kernel_mft=$(dpkg -l | grep kernel-mft-dkms-modules | awk '/^ii/ {print $2}') - if [[ $kernel_mft == "" ]]; then - echo "ERROR: kernel-mft-dkms-modules package is not installed" - exit 1 - fi - for tool in `dpkg -L mft` \ `dpkg -L mft-oem` \ - `dpkg -L $kernel_mft` \ `dpkg -L xmlstarlet | grep -v share` do if [ -d $tool ]; then diff --git a/platform/nvidia-bluefield/installer/install.sh.j2 b/platform/nvidia-bluefield/installer/install.sh.j2 index 3df6387e6044..7f36a73a6f47 100755 --- a/platform/nvidia-bluefield/installer/install.sh.j2 +++ b/platform/nvidia-bluefield/installer/install.sh.j2 @@ -235,6 +235,17 @@ if [[ $fw_upgrade_is_needed == "true" ]]; then ex mkdir -p $sonic_fs_mountpoint ex mount -t squashfs $sonic_fs_path $sonic_fs_mountpoint + kernel_mft=$(chroot $sonic_fs_mountpoint dpkg -l | grep kernel-mft-dkms-modules | awk '/^ii/ {print $2}') + mft_files=$(chroot $sonic_fs_mountpoint dpkg -L $kernel_mft) + + for f in $mft_files; do + if [[ $sonic_fs_mountpoint/$f != *.ko ]]; then + continue + fi + + insmod "$sonic_fs_mountpoint/$f" + done + ex mkdir -p /etc/mlnx/ ex ln -s /mnt/$image_dir/platform/fw/asic/fw-BF3.mfa /etc/mlnx/fw-BF3.mfa diff --git a/platform/nvidia-bluefield/recipes/sdk.dep b/platform/nvidia-bluefield/recipes/sdk.dep index c0d553ecaf7a..8c276b05e1f9 100644 --- a/platform/nvidia-bluefield/recipes/sdk.dep +++ b/platform/nvidia-bluefield/recipes/sdk.dep @@ -80,24 +80,6 @@ $(IB_UMAD_DEV)_CACHE_MODE := GIT_CONTENT_SHA $(IB_UMAD_DEV)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(IB_UMAD_DEV)_DEP_FILES := $(DEP_FILES) -ifeq ($(SDK_FROM_SRC),y) -$(RDMA_CORE_DBGSYM)_CACHE_MODE := GIT_CONTENT_SHA -$(RDMA_CORE_DBGSYM)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(RDMA_CORE_DBGSYM)_DEP_FILES := $(DEP_FILES) - -$(IB_VERBS_PROV_DBGSYM)_CACHE_MODE := GIT_CONTENT_SHA -$(IB_VERBS_PROV_DBGSYM)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(IB_VERBS_PROV_DBGSYM)_DEP_FILES := $(DEP_FILES) - -$(IB_VERBS_DBGSYM)_CACHE_MODE := GIT_CONTENT_SHA -$(IB_VERBS_DBGSYM)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(IB_VERBS_DBGSYM)_DEP_FILES := $(DEP_FILES) - -$(IB_UMAD_DBGSYM)_CACHE_MODE := GIT_CONTENT_SHA -$(IB_UMAD_DBGSYM)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(IB_UMAD_DBGSYM)_DEP_FILES := $(DEP_FILES) -endif - # DPDK packages SPATH := $($(DPDK)_SRC_PATH) @@ -138,13 +120,9 @@ $(LIBGRPC_DEV)_CACHE_MODE := GIT_CONTENT_SHA $(LIBGRPC_DEV)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(LIBGRPC_DEV)_DEP_FILES := $(DEP_FILES) -$(LIBGRPC_DBG)_CACHE_MODE := GIT_CONTENT_SHA -$(LIBGRPC_DBG)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(LIBGRPC_DBG)_DEP_FILES := $(DEP_FILES) - # DOCA -SPATH := $($(DOCA_LIBS)_SRC_PATH) +SPATH := $($(DOCA_COMMON)_SRC_PATH) DEP_FILES := $(SDK_COMMON_FILES_LIST) DEP_FILES += $(shell git ls-files -- $(SPATH)) @@ -156,10 +134,6 @@ $(DOCA_COMMON_DEV)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_COMMON_DEV)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_COMMON_DEV)_DEP_FILES := $(DEP_FILES) -$(DOCA_COMMON_DBG)_CACHE_MODE := GIT_CONTENT_SHA -$(DOCA_COMMON_DBG)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(DOCA_COMMON_DBG)_DEP_FILES := $(DEP_FILES) - $(DOCA_ARGP)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_ARGP)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_ARGP)_DEP_FILES := $(DEP_FILES) @@ -168,10 +142,6 @@ $(DOCA_ARGP_DEV)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_ARGP_DEV)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_ARGP_DEV)_DEP_FILES := $(DEP_FILES) -$(DOCA_ARGP_DBG)_CACHE_MODE := GIT_CONTENT_SHA -$(DOCA_ARGP_DBG)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(DOCA_ARGP_DBG)_DEP_FILES := $(DEP_FILES) - $(DOCA_DPDK_BRIDGE)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_DPDK_BRIDGE)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_DPDK_BRIDGE)_DEP_FILES := $(DEP_FILES) @@ -180,10 +150,6 @@ $(DOCA_DPDK_BRIDGE_DEV)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_DPDK_BRIDGE_DEV)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_DPDK_BRIDGE_DEV)_DEP_FILES := $(DEP_FILES) -$(DOCA_DPDK_BRIDGE_DBG)_CACHE_MODE := GIT_CONTENT_SHA -$(DOCA_DPDK_BRIDGE_DBG)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(DOCA_DPDK_BRIDGE_DBG)_DEP_FILES := $(DEP_FILES) - $(DOCA_FLOW)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_FLOW)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_FLOW)_DEP_FILES := $(DEP_FILES) @@ -192,10 +158,6 @@ $(DOCA_FLOW_DEV)_CACHE_MODE := GIT_CONTENT_SHA $(DOCA_FLOW_DEV)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) $(DOCA_FLOW_DEV)_DEP_FILES := $(DEP_FILES) -$(DOCA_FLOW_DBG)_CACHE_MODE := GIT_CONTENT_SHA -$(DOCA_FLOW_DBG)_DEP_FLAGS := $(SDK_COMMON_FLAGS_LIST) -$(DOCA_FLOW_DBG)_DEP_FILES := $(DEP_FILES) - # SDN appliance SPATH := $($(SDN_APPL)_SRC_PATH) diff --git a/platform/nvidia-bluefield/recipes/sdk.mk b/platform/nvidia-bluefield/recipes/sdk.mk index 1703a6b4dd0f..2e3c23e5d157 100644 --- a/platform/nvidia-bluefield/recipes/sdk.mk +++ b/platform/nvidia-bluefield/recipes/sdk.mk @@ -72,20 +72,21 @@ MLNX_TOOLS = mlnx-tools_$(MLNX_TOOLS_VER)_arm64.deb $(MLNX_TOOLS)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/ofed OFED_KERNEL_UTILS = mlnx-ofed-kernel-utils_$(OFED_KERNEL_VER_FULL)-1_arm64.deb - -$(eval $(call add_derived_package,$(MLNX_TOOLS),$(OFED_KERNEL_UTILS))) - +$(OFED_KERNEL_UTILS)_DEPENDS = $(MLNX_TOOLS) OFED_KERNEL_DKMS = mlnx-ofed-kernel-dkms_$(OFED_KERNEL_VER_SHORT)-1_all.deb $(OFED_KERNEL_DKMS)_DEPENDS = $(OFED_KERNEL_UTILS) -$(eval $(call add_derived_package,$(MLNX_TOOLS),$(OFED_KERNEL_DKMS))) - OFED_KERNEL = mlnx-ofed-kernel-modules-$(KVERSION)_$(OFED_KERNEL_VER_SHORT)_$(BUILD_ARCH).deb $(OFED_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/ofed $(OFED_KERNEL)_DEPENDS = $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON) ifeq ($(SDK_FROM_SRC), y) $(OFED_KERNEL)_DEPENDS += $(OFED_KERNEL_DKMS) + +$(eval $(call add_derived_package,$(MLNX_TOOLS),$(OFED_KERNEL_UTILS))) +$(eval $(call add_derived_package,$(MLNX_TOOLS),$(OFED_KERNEL_DKMS))) +else +SDK_ONLINE_TARGETS += $(OFED_KERNEL_UTILS) endif export OFED_VER_SHORT OFED_VER_FULL OFED_KERNEL OFED_KERNEL_UTILS OFED_KERNEL_VER_FULL MLNX_TOOLS OFED_KERNEL_DKMS @@ -115,26 +116,21 @@ RDMA_CORE = rdma-core_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb $(RDMA_CORE)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/rdma $(RDMA_CORE)_RDEPENDS = $(LIBNL3) $(RDMA_CORE)_DEPENDS = $(LIBNL3_DEV) $(LIBNL_ROUTE3_DEV) -RDMA_CORE_DBGSYM = rdma-core-dbgsym_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb IB_VERBS_PROV = ibverbs-providers_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb $(IB_VERBS_PROV)_DEPENDS = $(LIBNL3_DEV) $(LIBNL_ROUTE3_DEV) -IB_VERBS_PROV_DBGSYM = ibverbs-providers-dbgsym_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb IB_VERBS = libibverbs1_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb $(IB_VERBS)_DEPENDS = $(LIBNL3_DEV) $(LIBNL_ROUTE3_DEV) IB_VERBS_DEV = libibverbs-dev_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb $(IB_VERBS_DEV)_DEPENDS = $(IB_VERBS) $(IB_VERBS_PROV) -IB_VERBS_DBGSYM = libibverbs1-dbg_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb IB_UMAD = libibumad3_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb IB_UMAD_DEV = libibumad-dev_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb -IB_UMAD_DBGSYM = libibumad3-dbg_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb RDMACM = librdmacm1_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb RDMACM_DEV = librdmacm-dev_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb $(RDMACM_DEV)_DEPENDS = $(RDMACM) $(IB_VERBS_DEV) -RDMACM_DBGSYM = librdmacm1-dbg_${RDMA_CORE_VER}_${CONFIGURED_ARCH}.deb $(eval $(call add_derived_package,$(RDMA_CORE),$(IB_VERBS_PROV))) $(eval $(call add_derived_package,$(RDMA_CORE),$(IB_VERBS))) @@ -144,32 +140,20 @@ $(eval $(call add_derived_package,$(RDMA_CORE),$(IB_UMAD_DEV))) $(eval $(call add_derived_package,$(RDMA_CORE),$(RDMACM))) $(eval $(call add_derived_package,$(RDMA_CORE),$(RDMACM_DEV))) -ifeq ($(SDK_FROM_SRC),y) -$(eval $(call add_derived_package,$(RDMA_CORE),$(RDMA_CORE_DBGSYM))) -$(eval $(call add_derived_package,$(RDMA_CORE),$(IB_VERBS_PROV_DBGSYM))) -$(eval $(call add_derived_package,$(RDMA_CORE),$(IB_VERBS_DBGSYM))) -$(eval $(call add_derived_package,$(RDMA_CORE),$(IB_UMAD_DBGSYM))) -$(eval $(call add_derived_package,$(RDMA_CORE),$(RDMACM_DBGSYM))) -endif - -export RDMA_CORE RDMA_CORE_DBGSYM -export IB_VERBS IB_VERBS_DEV IB_VERBS_DBGSYM -export IB_VERBS_PROV IB_VERBS_PROV_DBGSYM -export IB_UMAD IB_UMAD_DEV IB_UMAD_DBGSYM -export RDMACM RDMACM_DEV RDMACM_DBGSYM +export RDMA_CORE +export IB_VERBS IB_VERBS_DEV +export IB_VERBS_PROV +export IB_UMAD IB_UMAD_DEV +export RDMACM RDMACM_DEV -RDMA_CORE_DERIVED_DEBS = $(RDMA_CORE_DBGSYM) \ +RDMA_CORE_DERIVED_DEBS = \ $(IB_VERBS) \ $(IB_VERBS_DEV) \ - $(IB_VERBS_DBGSYM) \ $(IB_VERBS_PROV) \ - $(IB_VERBS_PROV_DBGSYM) \ $(IB_UMAD) \ $(IB_UMAD_DEV) \ - $(IB_UMAD_DBGSYM) \ $(RDMACM) \ - $(RDMACM_DEV) \ - $(RDMACM_DBGSYM) + $(RDMACM_DEV) export RDMA_CORE_DERIVED_DEBS @@ -222,16 +206,10 @@ LIBGRPC_VER = $(call get_sdk_package_version_full,"grpc") LIBGRPC_DEV = libgrpc-dev_$(LIBGRPC_VER)_arm64.deb $(LIBGRPC_DEV)_SRC_PATH = $(PLATFORM_PATH)/sdk-src/grpc -LIBGRPC_DBG = libgrpc-dev-dbgsym_$(LIBGRPC_VER)_arm64.deb -$(eval $(call add_derived_package,$(LIBGRPC_DEV),$(LIBGRPC_DBG))) +export LIBGRPC_DEV LIBGRPC_VER -export LIBGRPC_DEV LIBGRPC_DBG LIBGRPC_VER - -LIBGRPC_DERIVED_DEBS = $(LIBGRPC_DBG) -export LIBGRPC_DERIVED_DEBS - -SDK_DEBS += $(LIBGRPC_DEV) $(LIBGRPC_DERIVED_DEBS) +SDK_DEBS += $(LIBGRPC_DEV) SDK_SRC_TARGETS += $(LIBGRPC_DEV) # DOCA and derived packages @@ -249,7 +227,7 @@ $(DOCA_COMMON_DEV)_DEPENDS = $(DOCA_COMMON) SDK_SRC_TARGETS += $(DOCA_COMMON) DOCA_DEV_DEBS += $(DOCA_COMMON_DEV) -export DOCA_COMMON DOCA_COMMON_DEV DOCA_COMMON_DBG +export DOCA_COMMON DOCA_COMMON_DEV DOCA_ARGP = doca-sdk-argp_${DOCA_DEB_VERSION}_${CONFIGURED_ARCH}.deb $(DOCA_ARGP)_DEPENDS += $(DOCA_COMMON) @@ -258,7 +236,7 @@ $(DOCA_ARGP_DEV)_DEPENDS = $(DOCA_ARGP) DOCA_DEBS += $(DOCA_ARGP) DOCA_DEV_DEBS += $(DOCA_ARGP_DEV) - export DOCA_ARGP DOCA_ARGP_DEV DOCA_ARGP_DBG + export DOCA_ARGP DOCA_ARGP_DEV DOCA_DPDK_BRIDGE = doca-sdk-dpdk-bridge_${DOCA_DEB_VERSION}_${CONFIGURED_ARCH}.deb $(DOCA_DPDK_BRIDGE)_DEPENDS += $(DOCA_COMMON) @@ -267,7 +245,7 @@ $(DOCA_DPDK_BRIDGE_DEV)_DEPENDS = $(DOCA_DPDK_BRIDGE) DOCA_DEBS += $(DOCA_DPDK_BRIDGE) DOCA_DEV_DEBS += $(DOCA_DPDK_BRIDGE_DEV) -export DOCA_DPDK_BRIDGE DOCA_DPDK_BRIDGE_DEV DOCA_DPDK_BRIDGE_DBG +export DOCA_DPDK_BRIDGE DOCA_DPDK_BRIDGE_DEV DOCA_FLOW = doca-sdk-flow_${DOCA_DEB_VERSION}_${CONFIGURED_ARCH}.deb $(DOCA_FLOW)_DEPENDS += $(DOCA_COMMON) @@ -276,24 +254,20 @@ $(DOCA_FLOW_DEV)_DEPENDS = $(DOCA_FLOW) DOCA_DEBS += $(DOCA_FLOW) DOCA_DEV_DEBS += $(DOCA_FLOW_DEV) -DOCA_DBG_DEBS += $(DOCA_FLOW_DBG) -export DOCA_FLOW DOCA_FLOW_DEV DOCA_FLOW_DBG + +export DOCA_FLOW DOCA_FLOW_DEV export DOCA_DEBS DOCA_DEV_DEBS SDK_DEBS += $(DOCA_DEBS) $(DOCA_DEV_DEBS) ifeq ($(SDK_FROM_SRC), y) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_COMMON_DEV))) -$(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_COMMON_DBG))) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_ARGP))) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_ARGP_DEV))) -$(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_ARGP_DBG))) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_DPDK_BRIDGE))) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_DPDK_BRIDGE_DEV))) -$(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_DPDK_BRIDGE_DBG))) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_FLOW))) $(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_FLOW_DEV))) -$(eval $(call add_derived_package,$(DOCA_COMMON),$(DOCA_FLOW_DBG))) else SONIC_ONLINE_DEBS += $(DOCA_DEBS) $(DOCA_DEV_DEBS) endif diff --git a/platform/vs/docker-sonic-vs/orchagent.sh b/platform/vs/docker-sonic-vs/orchagent.sh index f044bc922cda..49dc3ad31ab9 100755 --- a/platform/vs/docker-sonic-vs/orchagent.sh +++ b/platform/vs/docker-sonic-vs/orchagent.sh @@ -46,6 +46,12 @@ if [ "$SYNC_MODE" == "enable" ]; then ORCHAGENT_ARGS+="-s " fi +# Enable ring buffer +ORCHDAEMON_RING_ENABLED=`sonic-db-cli CONFIG_DB hget "DEVICE_METADATA|localhost" "ring_thread_enabled"` +if [[ x"${ORCHDAEMON_RING_ENABLED}" == x"true" ]]; then + ORCHAGENT_ARGS+="-R " +fi + # Set mac address ORCHAGENT_ARGS+="-m $MAC_ADDRESS" diff --git a/rules/docker-fpm-frr.mk b/rules/docker-fpm-frr.mk index e81105caaec2..c914dbff1da6 100644 --- a/rules/docker-fpm-frr.mk +++ b/rules/docker-fpm-frr.mk @@ -41,6 +41,7 @@ $(DOCKER_FPM_FRR)_BASE_IMAGE_FILES += TSB:/usr/bin/TSB $(DOCKER_FPM_FRR)_BASE_IMAGE_FILES += TSC:/usr/bin/TSC $(DOCKER_FPM_FRR)_BASE_IMAGE_FILES += TS:/usr/bin/TS $(DOCKER_FPM_FRR)_BASE_IMAGE_FILES += idf_isolation:/usr/bin/idf_isolation +$(DOCKER_FPM_FRR)_BASE_IMAGE_FILES += prefix_list:/usr/bin/prefix_list SONIC_BOOKWORM_DOCKERS += $(DOCKER_FPM_FRR) SONIC_BOOKWORM_DBG_DOCKERS += $(DOCKER_FPM_FRR_DBG) diff --git a/rules/docker-stp.mk b/rules/docker-stp.mk new file mode 100644 index 000000000000..d35c89c290b3 --- /dev/null +++ b/rules/docker-stp.mk @@ -0,0 +1,31 @@ +# Docker image for STP + +DOCKER_STP_STEM = docker-stp +DOCKER_STP = $(DOCKER_STP_STEM).gz +DOCKER_STP_DBG = $(DOCKER_STP_STEM)-$(DBG_IMAGE_MARK).gz + +$(DOCKER_STP)_PATH = $(DOCKERS_PATH)/$(DOCKER_STP_STEM) + +$(DOCKER_STP)_DEPENDS += $(STP) $(SWSS) $(SONIC_RSYSLOG_PLUGIN) +$(DOCKER_STP)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_DEPENDS) +$(DOCKER_STP)_DBG_DEPENDS += $(STP) $(SWSS) $(SONIC_RSYSLOG_PLUGIN) + +$(DOCKER_STP)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BOOKWORM)_DBG_IMAGE_PACKAGES) + +$(DOCKER_STP)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE_BOOKWORM) + +ifeq ($(INCLUDE_STP), y) +SONIC_DOCKER_IMAGES += $(DOCKER_STP) +SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_STP) + +SONIC_DOCKER_DBG_IMAGES += $(DOCKER_STP_DBG) +SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_STP_DBG) +endif + +$(DOCKER_STP)_LOAD_DOCKERS = $(DOCKER_CONFIG_ENGINE_BOOKWORM) + +$(DOCKER_STP)_CONTAINER_NAME = stp +$(DOCKER_STP)_RUN_OPT += -t --cap-add=NET_ADMIN --cap-add=SYS_ADMIN +$(DOCKER_STP)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro + +$(DOCKER_STP)_BASE_IMAGE_FILES += stpctl:/usr/bin/stpctl \ No newline at end of file diff --git a/rules/openssh.mk b/rules/openssh.mk index 87bc2ee5cc02..a96cea8d3f6a 100644 --- a/rules/openssh.mk +++ b/rules/openssh.mk @@ -1,7 +1,7 @@ # openssh package OPENSSH_VERSION := 9.2p1 -OPENSSH_VERSION_FULL := $(OPENSSH_VERSION)-2+deb12u3 +OPENSSH_VERSION_FULL := $(OPENSSH_VERSION)-2+deb12u5 export OPENSSH_VERSION OPENSSH_VERSION_FULL diff --git a/rules/sonic-stp.dep b/rules/sonic-stp.dep new file mode 100644 index 000000000000..e509a9ce1f05 --- /dev/null +++ b/rules/sonic-stp.dep @@ -0,0 +1,11 @@ + +SPATH := $($(SONIC-STP)_SRC_PATH) +DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/sonic-stp.mk rules/sonic-stp.dep +DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST) +SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files)) + +$(SONIC-STP)_CACHE_MODE := GIT_CONTENT_SHA +$(SONIC-STP)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST) +$(SONIC-STP)_DEP_FILES := $(DEP_FILES) +$(SONIC-STP)_SMDEP_FILES := $(SMDEP_FILES) +$(SONIC-STP)_SMDEP_PATHS := $(SPATH) diff --git a/rules/sonic-stp.mk b/rules/sonic-stp.mk new file mode 100644 index 000000000000..cd2c26ad3e38 --- /dev/null +++ b/rules/sonic-stp.mk @@ -0,0 +1,17 @@ +# STP package +# +STP_VERSION = 1.0.0 +export STP_VERSION + +STP = stp_$(STP_VERSION)_$(CONFIGURED_ARCH).deb +$(STP)_SRC_PATH = $(SRC_PATH)/sonic-stp +$(STP)_DEPENDS += $(LIBSWSSCOMMON_DEV) +$(STP)_RDEPENDS += $(LIBSWSSCOMMON) +SONIC_DPKG_DEBS += $(STP) + +STP_DBG = stp-dbg_$(STP_VERSION)_$(CONFIGURED_ARCH).deb +$(STP_DBG)_DEPENDS += $(STP) +$(STP_DBG)_RDEPENDS += $(STP) +$(eval $(call add_derived_package,$(STP),$(STP_DBG))) + +export STP diff --git a/rules/swss.mk b/rules/swss.mk index df12ade5a479..b68804887c1b 100644 --- a/rules/swss.mk +++ b/rules/swss.mk @@ -4,7 +4,7 @@ SWSS = swss_1.0.0_$(CONFIGURED_ARCH).deb $(SWSS)_SRC_PATH = $(SRC_PATH)/sonic-swss $(SWSS)_DEPENDS += $(LIBSAIREDIS_DEV) $(LIBSAIMETADATA_DEV) $(LIBTEAM_DEV) \ $(LIBTEAMDCTL) $(LIBTEAM_UTILS) $(LIBSWSSCOMMON_DEV) \ - $(LIBSAIVS) $(LIBSAIVS_DEV) \ + $(LIBSAIVS) $(LIBSAIVS_DEV) $(STP)\ $(PROTOBUF) $(PROTOBUF_LITE) $(PROTOBUF_DEV) $(LIB_SONIC_DASH_API) $(SWSS)_UNINSTALLS = $(LIBSAIVS_DEV) diff --git a/slave.mk b/slave.mk index 7a92768d7ee4..8f3864c42c97 100644 --- a/slave.mk +++ b/slave.mk @@ -441,6 +441,7 @@ $(info "BLDENV" : "$(BLDENV)") $(info "VS_PREPARE_MEM" : "$(VS_PREPARE_MEM)") $(info "INCLUDE_MGMT_FRAMEWORK" : "$(INCLUDE_MGMT_FRAMEWORK)") $(info "INCLUDE_ICCPD" : "$(INCLUDE_ICCPD)") +$(info "INCLUDE_STP" : "$(INCLUDE_STP)") $(info "INCLUDE_SYSTEM_TELEMETRY" : "$(INCLUDE_SYSTEM_TELEMETRY)") $(info "INCLUDE_SYSTEM_GNMI" : "$(INCLUDE_SYSTEM_GNMI)") $(info "INCLUDE_SYSTEM_BMP" : "$(INCLUDE_SYSTEM_BMP)") @@ -1451,6 +1452,7 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \ export include_dhcp_server="$(INCLUDE_DHCP_SERVER)" export include_mgmt_framework="$(INCLUDE_MGMT_FRAMEWORK)" export include_iccpd="$(INCLUDE_ICCPD)" + export include_stpd="$(INCLUDE_STP)" export pddf_support="$(PDDF_SUPPORT)" export include_pde="$(INCLUDE_PDE)" export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)" diff --git a/sonic-slave-bullseye/Dockerfile.j2 b/sonic-slave-bullseye/Dockerfile.j2 index 06f8cb1e65a9..d9517ca7d5e3 100644 --- a/sonic-slave-bullseye/Dockerfile.j2 +++ b/sonic-slave-bullseye/Dockerfile.j2 @@ -535,6 +535,7 @@ RUN apt-get purge -y python3-pip python3-yaml # For building Python packages RUN pip3 install setuptools==49.6.00 +RUN pip3 install setuptools-scm==8.1.0 RUN pip3 install wheel==0.38.1 {%- if CONFIGURED_ARCH == "armhf" %} diff --git a/src/sonic-bgpcfgd/bgpcfgd/main.py b/src/sonic-bgpcfgd/bgpcfgd/main.py index bc50f22161c7..a39080bcfdc0 100644 --- a/src/sonic-bgpcfgd/bgpcfgd/main.py +++ b/src/sonic-bgpcfgd/bgpcfgd/main.py @@ -24,6 +24,7 @@ from .managers_chassis_app_db import ChassisAppDbMgr from .managers_bfd import BfdMgr from .managers_srv6 import SRv6Mgr +from .managers_prefix_list import PrefixListMgr from .static_rt_timer import StaticRouteTimer from .runner import Runner, signal_handler from .template import TemplateFabric @@ -79,7 +80,9 @@ def do_work(): DeviceGlobalCfgMgr(common_objs, "CONFIG_DB", swsscommon.CFG_BGP_DEVICE_GLOBAL_TABLE_NAME), # SRv6 Manager SRv6Mgr(common_objs, "CONFIG_DB", "SRV6_MY_SIDS"), - SRv6Mgr(common_objs, "CONFIG_DB", "SRV6_MY_LOCATORS") + SRv6Mgr(common_objs, "CONFIG_DB", "SRV6_MY_LOCATORS"), + # Prefix List Manager + PrefixListMgr(common_objs, "CONFIG_DB", "PREFIX_LIST") ] if device_info.is_chassis(): diff --git a/src/sonic-bgpcfgd/bgpcfgd/managers_advertise_rt.py b/src/sonic-bgpcfgd/bgpcfgd/managers_advertise_rt.py index 76dcee1c173b..28e6c430cae6 100644 --- a/src/sonic-bgpcfgd/bgpcfgd/managers_advertise_rt.py +++ b/src/sonic-bgpcfgd/bgpcfgd/managers_advertise_rt.py @@ -100,6 +100,8 @@ def advertise_route_commands(self, ip_prefix, vrf, op, data=None): "BGPAdvertiseRouteMgr:: %sbgp %s network %s" % ("Remove " if op == self.OP_DELETE else "Update ", bgp_asn, vrf + "|" + ip_prefix) ) + cmd_list.append(" exit-address-family") + cmd_list.append("exit") self.cfg_mgr.push_list(cmd_list) log_debug("BGPAdvertiseRouteMgr::Done") @@ -112,6 +114,7 @@ def bgp_network_import_check_commands(self, vrf, op): else: cmd_list.append("router bgp %s vrf %s" % (bgp_asn, vrf)) cmd_list.append(" %sbgp network import-check" % ("" if op == self.OP_DELETE else "no ")) + cmd_list.append("exit") self.cfg_mgr.push_list(cmd_list) diff --git a/src/sonic-bgpcfgd/bgpcfgd/managers_bbr.py b/src/sonic-bgpcfgd/bgpcfgd/managers_bbr.py index 6e1a33e8947d..663484c27a44 100644 --- a/src/sonic-bgpcfgd/bgpcfgd/managers_bbr.py +++ b/src/sonic-bgpcfgd/bgpcfgd/managers_bbr.py @@ -158,6 +158,8 @@ def __set_prepare_config(self, status): if peer_group_name.startswith(pg_name) and af in self.bbr_enabled_pgs[pg_name]: cmds.append(" %sneighbor %s allowas-in 1" % (prefix_of_commands, peer_group_name)) peer_groups_to_restart.add(peer_group_name) + cmds.append(" exit-address-family") + cmds.append("exit") return cmds, list(peer_groups_to_restart) def __get_available_peer_groups(self): diff --git a/src/sonic-bgpcfgd/bgpcfgd/managers_bgp.py b/src/sonic-bgpcfgd/bgpcfgd/managers_bgp.py index 19e478578c1d..38f7420ddf25 100644 --- a/src/sonic-bgpcfgd/bgpcfgd/managers_bgp.py +++ b/src/sonic-bgpcfgd/bgpcfgd/managers_bgp.py @@ -65,9 +65,9 @@ def update_pg(self, name, **kwargs): return False if kwargs['vrf'] == 'default': - cmd = ('router bgp %s\n' % kwargs['bgp_asn']) + pg + tsa_rm + idf_isolation_rm + cmd = ('router bgp %s\n' % kwargs['bgp_asn']) + pg + tsa_rm + idf_isolation_rm + "\nexit" else: - cmd = ('router bgp %s vrf %s\n' % (kwargs['bgp_asn'], kwargs['vrf'])) + pg + tsa_rm + idf_isolation_rm + cmd = ('router bgp %s vrf %s\n' % (kwargs['bgp_asn'], kwargs['vrf'])) + pg + tsa_rm + idf_isolation_rm + "\nexit" self.update_entity(cmd, "Peer-group for peer '%s'" % name) return True @@ -314,9 +314,9 @@ def apply_op(self, cmd, vrf): bgp_asn = self.directory.get_slot("CONFIG_DB", swsscommon.CFG_DEVICE_METADATA_TABLE_NAME)["localhost"]["bgp_asn"] enable_bgp_suppress_fib_pending_cmd = 'bgp suppress-fib-pending' if vrf == 'default': - cmd = ('router bgp %s\n %s\n' % (bgp_asn, enable_bgp_suppress_fib_pending_cmd)) + cmd + cmd = ('router bgp %s\n %s\n' % (bgp_asn, enable_bgp_suppress_fib_pending_cmd)) + cmd + "\nexit" else: - cmd = ('router bgp %s vrf %s\n %s\n' % (bgp_asn, vrf, enable_bgp_suppress_fib_pending_cmd)) + cmd + cmd = ('router bgp %s vrf %s\n %s\n' % (bgp_asn, vrf, enable_bgp_suppress_fib_pending_cmd)) + cmd + "\nexit" self.cfg_mgr.push(cmd) return True diff --git a/src/sonic-bgpcfgd/bgpcfgd/managers_prefix_list.py b/src/sonic-bgpcfgd/bgpcfgd/managers_prefix_list.py new file mode 100644 index 000000000000..965dea9ff247 --- /dev/null +++ b/src/sonic-bgpcfgd/bgpcfgd/managers_prefix_list.py @@ -0,0 +1,119 @@ +from .manager import Manager +from .log import log_debug, log_warn, log_info +from swsscommon import swsscommon +import netaddr + +class PrefixListMgr(Manager): + """This class responds to changes in the PREFIX_LIST table""" + + def __init__(self, common_objs, db, table): + """ + Initialize the object + :param common_objs: common object dictionary + :param db: name of the db + :param table: name of the table in the db + """ + self.directory = common_objs['directory'] + self.cfg_mgr = common_objs['cfg_mgr'] + self.constants = common_objs['constants'] + self.templates = { + "add_radian": common_objs['tf'].from_file("bgpd/radian/add_radian.conf.j2"), + "del_radian": common_objs['tf'].from_file("bgpd/radian/del_radian.conf.j2"), + } + super(PrefixListMgr, self).__init__( + common_objs, + [], + db, + table, + ) + + def generate_prefix_list_config(self, data, add): + """ + Generate the prefix list configuration from the template + :param data: data from the PREFIX_LIST table + :return: rendered configuration + """ + cmd = "\n" + metadata = self.directory.get_slot("CONFIG_DB", swsscommon.CFG_DEVICE_METADATA_TABLE_NAME)["localhost"] + try: + bgp_asn = metadata["bgp_asn"] + localhost_type = metadata["type"] + subtype = metadata["subtype"] + except KeyError as e: + log_warn(f"PrefixListMgr:: Missing metadata key: {e}") + return False + + if data["prefix_list_name"] != "ANCHOR_PREFIX": + log_warn("PrefixListMgr:: Prefix list %s is not supported" % data["prefix_list_name"]) + return False + if localhost_type != "SpineRouter" or subtype != "UpstreamLC": + log_warn("PrefixListMgr:: Prefix list %s is only supported on UpstreamLC of SpineRouter" % data["prefix_list_name"]) + return False + + # Add the anchor prefix to the radian configuration + data["bgp_asn"] = bgp_asn + if add: + # add some way of getting this asn list from the database in the future + cmd += self.templates["add_radian"].render(data=data) + log_debug("PrefixListMgr:: Anchor prefix %s added to radian configuration" % data["prefix"]) + else: + cmd += self.templates["del_radian"].render(data=data) + log_debug("PrefixListMgr:: Anchor prefix %s removed from radian configuration" % data["prefix"]) + self.cfg_mgr.push(cmd) + return True + + + + def set_handler(self, key, data): + log_debug("PrefixListMgr:: set handler") + if '|' in key: + prefix_list_name, prefix_str = key.split('|', 1) + try: + prefix = netaddr.IPNetwork(str(prefix_str)) + except (netaddr.NotRegisteredError, netaddr.AddrFormatError, netaddr.AddrConversionError): + log_warn("PrefixListMgr:: Prefix '%s' format is wrong for prefix list '%s'" % (prefix_str, prefix_list_name)) + return True + data["prefix_list_name"] = prefix_list_name + data["prefix"] = str(prefix.cidr) + data["ipv"] = self.get_ip_type(prefix) + # Generate the prefix list configuration + if self.generate_prefix_list_config(data, add=True): + log_info("PrefixListMgr:: %s %s configuration generated" % (prefix_list_name, data["prefix"])) + + self.directory.put(self.db_name, self.table_name, key, data) + log_info("PrefixListMgr:: set %s" % key) + return True + + def del_handler(self, key): + log_debug("PrefixListMgr:: del handler") + if '|' in key: + prefix_list_name, prefix_str = key.split('|', 1) + try: + prefix = netaddr.IPNetwork(str(prefix_str)) + except (netaddr.NotRegisteredError, netaddr.AddrFormatError, netaddr.AddrConversionError): + log_warn("PrefixListMgr:: Prefix '%s' format is wrong for prefix list '%s'" % (prefix_str, prefix_list_name)) + return True + data = {} + data["prefix_list_name"] = prefix_list_name + data["prefix"] = str(prefix.cidr) + data["ipv"] = self.get_ip_type(prefix) + # remove the prefix list configuration + if self.generate_prefix_list_config(data, add=False): + log_info("PrefixListMgr:: %s %s configuration deleted" % (prefix_list_name, data["prefix"])) + self.directory.remove(self.db_name, self.table_name, key) + log_info("PrefixListMgr:: deleted %s" % key) + # Implement deletion logic if necessary + return True + + def get_ip_type(self, prefix: netaddr.IPNetwork): + """ + Determine the IP type (IPv4 or IPv6) of a prefix. + :param prefix: The prefix to check (e.g., "192.168.1.0/24" or "2001:db8::/32") + :return: "ip" if the prefix is an IPv4 address, "ipv6" if it is an IPv6 address, None if invalid + """ + if prefix.version == 4: + return "ip" + elif prefix.version == 6: + return "ipv6" + else: + return None \ No newline at end of file diff --git a/src/sonic-bgpcfgd/bgpcfgd/managers_static_rt.py b/src/sonic-bgpcfgd/bgpcfgd/managers_static_rt.py index 3f6a979eb0b1..e05c760000cf 100644 --- a/src/sonic-bgpcfgd/bgpcfgd/managers_static_rt.py +++ b/src/sonic-bgpcfgd/bgpcfgd/managers_static_rt.py @@ -43,7 +43,7 @@ def set_handler(self, key, data): dist_list = arg_list(data['distance']) if 'distance' in data else None nh_vrf_list = arg_list(data['nexthop-vrf']) if 'nexthop-vrf' in data else None bfd_enable = arg_list(data['bfd']) if 'bfd' in data else None - route_tag = self.ROUTE_ADVERTISE_DISABLE_TAG if 'advertise' in data and data['advertise'] == "false" else self.ROUTE_ADVERTISE_ENABLE_TAG + route_tag = self.ROUTE_ADVERTISE_DISABLE_TAG if 'advertise' in data and data['advertise'] == "false" else self.ROUTE_ADVERTISE_ENABLE_TAG # bfd enabled route would be handled in staticroutebfd, skip here if bfd_enable and bfd_enable[0].lower() == "true": @@ -231,6 +231,8 @@ def enable_redistribution_command(self, vrf): for af in ["ipv4", "ipv6"]: cmd_list.append(" address-family %s" % af) cmd_list.append(" redistribute static route-map STATIC_ROUTE_FILTER") + cmd_list.append(" exit-address-family") + cmd_list.append("exit") return cmd_list def disable_redistribution_command(self, vrf): @@ -244,6 +246,8 @@ def disable_redistribution_command(self, vrf): for af in ["ipv4", "ipv6"]: cmd_list.append(" address-family %s" % af) cmd_list.append(" no redistribute static route-map STATIC_ROUTE_FILTER") + cmd_list.append(" exit-address-family") + cmd_list.append("exit") cmd_list.append("no route-map STATIC_ROUTE_FILTER") return cmd_list diff --git a/src/sonic-bgpcfgd/bgpcfgd/runner.py b/src/sonic-bgpcfgd/bgpcfgd/runner.py index 3ede4bbfe852..75df6f902e9a 100644 --- a/src/sonic-bgpcfgd/bgpcfgd/runner.py +++ b/src/sonic-bgpcfgd/bgpcfgd/runner.py @@ -40,7 +40,7 @@ def add_manager(self, manager): db = swsscommon.SonicDBConfig.getDbId(db_name) if db not in self.db_connectors: if db_name == "CHASSIS_APP_DB": - self.db_connectors[db] = swsscommon.DBConnector(db_name, 0, False, '') + self.db_connectors[db] = swsscommon.DBConnector(db_name, 0, True, '') else: self.db_connectors[db] = swsscommon.DBConnector(db_name, 0) diff --git a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt.json b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt.json index 0a96a1cacfd6..420577ef399e 100644 --- a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt.json +++ b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt.json @@ -5,10 +5,13 @@ "allow_list": { "enabled": true, "drop_community": "12345:12345" - }, - "route_eligible_for_fallback_to_default_tag": "203", - "route_do_not_send_appdb_tag" : "202", - "internal_fallback_community": "1111:2222" + }, + "route_eligible_for_fallback_to_default_tag": "203", + "route_do_not_send_appdb_tag" : "202", + "internal_fallback_community": "1111:2222", + "local_anchor_route_community": "12345:555", + "anchor_route_community": "12345:666", + "anchor_contributing_route_community": "12345:777" } }, "allow_list_default_action": "permit", diff --git a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt_down.json b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt_down.json index 103e5a1fdcac..d8ef3a0c9071 100644 --- a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt_down.json +++ b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_chassis_pkt_down.json @@ -5,10 +5,10 @@ "allow_list": { "enabled": true, "drop_community": "12345:12345" - }, + }, "route_eligible_for_fallback_to_default_tag": "203", "route_do_not_send_appdb_tag" : "202", - "internal_fallback_community": "1111:2222" + "internal_fallback_community": "1111:2222" } }, "allow_list_default_action": "permit", diff --git a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq.json b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq.json index a940effc8463..f4e0f9447f1f 100644 --- a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq.json +++ b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq.json @@ -5,10 +5,13 @@ "allow_list": { "enabled": true, "drop_community": "12345:12345" - }, - "route_eligible_for_fallback_to_default_tag": "203", - "route_do_not_send_appdb_tag" : "202", - "internal_fallback_community": "1111:2222" + }, + "route_eligible_for_fallback_to_default_tag": "203", + "route_do_not_send_appdb_tag" : "202", + "internal_fallback_community": "1111:2222", + "local_anchor_route_community": "12345:555", + "anchor_route_community": "12345:666", + "anchor_contributing_route_community": "12345:777" } }, "allow_list_default_action": "permit", diff --git a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq_down.json b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq_down.json index 9671b7fcf25c..67aa23c92ff1 100644 --- a/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq_down.json +++ b/src/sonic-bgpcfgd/tests/data/general/policies.conf/param_all_voq_down.json @@ -5,10 +5,10 @@ "allow_list": { "enabled": true, "drop_community": "12345:12345" - }, + }, "route_eligible_for_fallback_to_default_tag": "203", "route_do_not_send_appdb_tag" : "202", - "internal_fallback_community": "1111:2222" + "internal_fallback_community": "1111:2222" } }, "allow_list_default_action": "permit", diff --git a/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_chassis_pkt.conf b/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_chassis_pkt.conf index 7262a0c857d1..842b75ed47e7 100644 --- a/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_chassis_pkt.conf +++ b/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_chassis_pkt.conf @@ -1,13 +1,17 @@ ! ! template: bgpd/templates/general/policies.conf.j2 ! +! ip prefix-list DEFAULT_IPV4 permit 0.0.0.0/0 ipv6 prefix-list DEFAULT_IPV6 permit ::/0 ! +! +! ! please don't remove. 65535 entries are default rules ! which works when allow_list is enabled, but new configuration ! is not applied ! +! route-map ALLOW_LIST_DEPLOYMENT_ID_0_V4 permit 65535 set community 12345:12345 additive ! @@ -45,13 +49,17 @@ route-map FROM_BGP_PEER_V6 permit 12 ! route-map FROM_BGP_PEER_V6 permit 13 set tag 203 - set community 1111:2222 additive + set community 1111:2222 additive +! +! +! ! route-map FROM_BGP_PEER_V4 permit 100 ! route-map TO_BGP_PEER_V4 permit 100 call CHECK_IDF_ISOLATION ! +! route-map FROM_BGP_PEER_V6 permit 1 on-match next set ipv6 next-hop prefer-global @@ -63,5 +71,40 @@ route-map TO_BGP_PEER_V6 permit 100 ! route-map CHECK_IDF_ISOLATION permit 10 ! -! end of template: bgpd/templates/general/policies.conf.j2 ! +! +bgp community-list standard ANCHOR_ROUTE_COMMUNITY permit 12345:666 +bgp community-list standard LOCAL_ANCHOR_ROUTE_COMMUNITY permit 12345:555 +bgp community-list standard ANCHOR_CONTRIBUTING_ROUTE_COMMUNITY permit 12345:777 +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V4 deny 10 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V4 permit 1000 +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V6 deny 10 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V6 permit 1000 +! +route-map TAG_ANCHOR_COMMUNITY permit 10 + set community 12345:555 12345:666 additive +! +route-map TO_BGP_PEER_V6 permit 30 + match ipv6 address prefix-list ANCHOR_CONTRIBUTING_ROUTES + set community 12345:777 additive + on-match next +! +route-map TO_BGP_PEER_V6 permit 40 + set comm-list LOCAL_ANCHOR_ROUTE_COMMUNITY delete +! +route-map TO_BGP_PEER_V4 permit 30 + match ipv6 address prefix-list ANCHOR_CONTRIBUTING_ROUTES + set community 12345:777 additive + on-match next +! +route-map TO_BGP_PEER_V4 permit 40 + set comm-list LOCAL_ANCHOR_ROUTE_COMMUNITY delete +! +! end of template: bgpd/templates/general/policies.conf.j2 +! \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_voq.conf b/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_voq.conf index 9c6b1fc28422..1697cb0fd8ea 100644 --- a/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_voq.conf +++ b/src/sonic-bgpcfgd/tests/data/general/policies.conf/result_all_voq.conf @@ -1,13 +1,17 @@ ! ! template: bgpd/templates/general/policies.conf.j2 ! +! ip prefix-list DEFAULT_IPV4 permit 0.0.0.0/0 ipv6 prefix-list DEFAULT_IPV6 permit ::/0 ! +! +! ! please don't remove. 65535 entries are default rules ! which works when allow_list is enabled, but new configuration ! is not applied ! +! route-map ALLOW_LIST_DEPLOYMENT_ID_0_V4 permit 65535 set community 12345:12345 additive ! @@ -45,13 +49,17 @@ route-map FROM_BGP_PEER_V6 permit 12 ! route-map FROM_BGP_PEER_V6 permit 13 set tag 202 - set community 1111:2222 additive + set community 1111:2222 additive +! +! +! ! route-map FROM_BGP_PEER_V4 permit 100 ! route-map TO_BGP_PEER_V4 permit 100 call CHECK_IDF_ISOLATION ! +! route-map FROM_BGP_PEER_V6 permit 1 on-match next set ipv6 next-hop prefer-global @@ -63,5 +71,40 @@ route-map TO_BGP_PEER_V6 permit 100 ! route-map CHECK_IDF_ISOLATION permit 10 ! +! +! +bgp community-list standard ANCHOR_ROUTE_COMMUNITY permit 12345:666 +bgp community-list standard LOCAL_ANCHOR_ROUTE_COMMUNITY permit 12345:555 +bgp community-list standard ANCHOR_CONTRIBUTING_ROUTE_COMMUNITY permit 12345:777 +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V4 deny 10 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V4 permit 1000 +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V6 deny 10 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! +route-map SELECTIVE_ROUTE_DOWNLOAD_V6 permit 1000 +! +route-map TAG_ANCHOR_COMMUNITY permit 10 + set community 12345:555 12345:666 additive +! +route-map TO_BGP_PEER_V6 permit 30 + match ipv6 address prefix-list ANCHOR_CONTRIBUTING_ROUTES + set community 12345:777 additive + on-match next +! +route-map TO_BGP_PEER_V6 permit 40 + set comm-list LOCAL_ANCHOR_ROUTE_COMMUNITY delete +! +route-map TO_BGP_PEER_V4 permit 30 + match ipv6 address prefix-list ANCHOR_CONTRIBUTING_ROUTES + set community 12345:777 additive + on-match next +! +route-map TO_BGP_PEER_V4 permit 40 + set comm-list LOCAL_ANCHOR_ROUTE_COMMUNITY delete +! ! end of template: bgpd/templates/general/policies.conf.j2 ! diff --git a/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/add_radian.conf b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/add_radian.conf new file mode 100644 index 000000000000..56158fe170a2 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/add_radian.conf @@ -0,0 +1,6 @@ +ipv6 prefix-list ANCHOR_CONTRIBUTING_ROUTES permit ffff::/64 ge 48 +router bgp 1234 +address-family ipv6 unicast + aggregate-address ffff::/64 route-map TAG_ANCHOR_COMMUNITY + exit +exit \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/add_radian.json b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/add_radian.json new file mode 100644 index 000000000000..d8e992aa8ae4 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/add_radian.json @@ -0,0 +1,7 @@ +{ + "data": { + "ipv": "ipv6", + "prefix": "ffff::/64", + "bgp_asn": 1234 + } +} diff --git a/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/del_radian.conf b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/del_radian.conf new file mode 100644 index 000000000000..165976815187 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/del_radian.conf @@ -0,0 +1,6 @@ +no ipv6 prefix-list ANCHOR_CONTRIBUTING_ROUTES permit ffff::/64 ge 48 +router bgp 1234 + address-family ipv6 unicast +no aggregate-address ffff::/64 route-map TAG_ANCHOR_COMMUNITY + exit +exit \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/del_radian.json b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/del_radian.json new file mode 100644 index 000000000000..d8e992aa8ae4 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/data/sonic-cfggen/radian/del_radian.json @@ -0,0 +1,7 @@ +{ + "data": { + "ipv": "ipv6", + "prefix": "ffff::/64", + "bgp_asn": 1234 + } +} diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/param_base.json b/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/param_base.json index 1d2f80eed337..fd0aaf54580a 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/param_base.json +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/param_base.json @@ -3,14 +3,15 @@ "localhost": { "type": "SpineRouter", "subtype": "DownstreamLC" - } + } }, "constants": { "bgp": { "internal_community": "12345:556", - "internal_community_match_tag": "101", + "internal_community_match_tag": "101", "route_eligible_for_fallback_to_default_tag": "203", - "internal_fallback_community": "1111:2222" + "internal_fallback_community": "1111:2222", + "local_anchor_route_community": "12345:555" } } } diff --git a/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf b/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf index 10fe3c832655..f63593b85d5c 100644 --- a/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf +++ b/src/sonic-bgpcfgd/tests/data/voq_chassis/policies.conf/result_base.conf @@ -1,6 +1,7 @@ ! ! template: bgpd/templates/voq_chassis/policies.conf.j2 ! +bgp community-list standard LOCAL_ANCHOR_ROUTE_COMMUNITY permit 12345:555 bgp community-list standard DEVICE_INTERNAL_COMMUNITY permit 12345:556 bgp community-list standard DEVICE_INTERNAL_FALLBACK_COMMUNITY permit 1111:2222 bgp community-list standard NO_EXPORT permit no-export @@ -26,6 +27,9 @@ route-map TO_VOQ_CHASSIS_V4_PEER permit 1 match ip address prefix-list PL_LoopbackV4 set community 12345:556 ! +route-map TO_VOQ_CHASSIS_V4_PEER deny 15 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! route-map TO_VOQ_CHASSIS_V4_PEER permit 100 ! route-map FROM_VOQ_CHASSIS_V6_PEER permit 1 @@ -53,7 +57,10 @@ route-map TO_VOQ_CHASSIS_V6_PEER permit 1 match ipv6 address prefix-list PL_LoopbackV6 set community 12345:556 ! +route-map TO_VOQ_CHASSIS_V6_PEER deny 15 + match community LOCAL_ANCHOR_ROUTE_COMMUNITY +! route-map TO_VOQ_CHASSIS_V6_PEER permit 100 ! ! end of template: bgpd/templates/voq_chassis/policies.conf.j2 -! +! \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/test_advertise_rt.py b/src/sonic-bgpcfgd/tests/test_advertise_rt.py index 751540600006..c246f13a2056 100644 --- a/src/sonic-bgpcfgd/tests/test_advertise_rt.py +++ b/src/sonic-bgpcfgd/tests/test_advertise_rt.py @@ -52,10 +52,13 @@ def test_set_del(): True, [ ["router bgp 65100", - " no bgp network import-check"], + " no bgp network import-check", + "exit"], ["router bgp 65100", " address-family ipv4 unicast", - " network 10.1.0.0/24"] + " network 10.1.0.0/24", + " exit-address-family", + "exit"] ] ) @@ -67,7 +70,9 @@ def test_set_del(): [ ["router bgp 65100", " address-family ipv6 unicast", - " network fc00:10::/64"] + " network fc00:10::/64", + " exit-address-family", + "exit"] ] ) @@ -79,7 +84,9 @@ def test_set_del(): [ ["router bgp 65100", " address-family ipv4 unicast", - " no network 10.1.0.0/24"] + " no network 10.1.0.0/24", + " exit-address-family", + "exit"] ] ) @@ -90,10 +97,13 @@ def test_set_del(): True, [ ["router bgp 65100", - " bgp network import-check"], + " bgp network import-check", + "exit"], ["router bgp 65100", " address-family ipv6 unicast", - " no network fc00:10::/64"] + " no network fc00:10::/64", + " exit-address-family", + "exit"] ] ) @@ -107,10 +117,13 @@ def test_set_del_vrf(): True, [ ["router bgp 65100 vrf vrfRED", - " no bgp network import-check"], + " no bgp network import-check", + "exit"], ["router bgp 65100 vrf vrfRED", " address-family ipv4 unicast", - " network 10.2.0.0/24"] + " network 10.2.0.0/24", + " exit-address-family", + "exit"] ] ) @@ -122,7 +135,9 @@ def test_set_del_vrf(): [ ["router bgp 65100 vrf vrfRED", " address-family ipv6 unicast", - " network fc00:20::/64"] + " network fc00:20::/64", + " exit-address-family", + "exit"] ] ) @@ -134,7 +149,9 @@ def test_set_del_vrf(): [ ["router bgp 65100 vrf vrfRED", " address-family ipv4 unicast", - " no network 10.2.0.0/24"] + " no network 10.2.0.0/24", + " exit-address-family", + "exit"] ] ) @@ -145,10 +162,13 @@ def test_set_del_vrf(): True, [ ["router bgp 65100 vrf vrfRED", - " bgp network import-check"], + " bgp network import-check", + "exit"], ["router bgp 65100 vrf vrfRED", " address-family ipv6 unicast", - " no network fc00:20::/64"] + " no network fc00:20::/64", + " exit-address-family", + "exit"] ] ) @@ -169,10 +189,13 @@ def test_set_del_bgp_asn_change(): test_set_del_bgp_asn_change.push_list_called = False expected_cmds = [ ["router bgp 65100 vrf vrfRED", - " no bgp network import-check"], + " no bgp network import-check", + "exit"], ["router bgp 65100 vrf vrfRED", " address-family ipv4 unicast", - " network 10.3.0.0/24 route-map FROM_SDN_SLB_ROUTES_RM"] + " network 10.3.0.0/24 route-map FROM_SDN_SLB_ROUTES_RM", + " exit-address-family", + "exit"] ] def push_list(cmds): test_set_del_bgp_asn_change.push_list_called = True @@ -197,10 +220,13 @@ def test_set_del_with_community(): True, [ ["router bgp 65100", - " no bgp network import-check"], + " no bgp network import-check", + "exit"], ["router bgp 65100", " address-family ipv4 unicast", - " network 10.1.0.0/24 route-map FROM_SDN_SLB_ROUTES_RM"] + " network 10.1.0.0/24 route-map FROM_SDN_SLB_ROUTES_RM", + " exit-address-family", + "exit"] ] ) @@ -214,7 +240,9 @@ def test_set_del_with_community(): [ ["router bgp 65100", " address-family ipv6 unicast", - " network fc00:10::/64 route-map FROM_SDN_SLB_ROUTES_RM"] + " network fc00:10::/64 route-map FROM_SDN_SLB_ROUTES_RM", + " exit-address-family", + "exit"] ] ) @@ -226,7 +254,9 @@ def test_set_del_with_community(): [ ["router bgp 65100", " address-family ipv4 unicast", - " no network 10.1.0.0/24"] + " no network 10.1.0.0/24", + " exit-address-family", + "exit"] ] ) @@ -237,9 +267,12 @@ def test_set_del_with_community(): True, [ ["router bgp 65100", - " bgp network import-check"], + " bgp network import-check", + "exit"], ["router bgp 65100", " address-family ipv6 unicast", - " no network fc00:10::/64"] + " no network fc00:10::/64", + " exit-address-family", + "exit"] ] ) \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/test_bbr.py b/src/sonic-bgpcfgd/tests/test_bbr.py index 554c4acfcd47..1abd52f611d1 100644 --- a/src/sonic-bgpcfgd/tests/test_bbr.py +++ b/src/sonic-bgpcfgd/tests/test_bbr.py @@ -309,9 +309,12 @@ def test___set_prepare_config_enabled(): 'router bgp 65500', ' address-family ipv4', ' neighbor PEER_V4 allowas-in 1', + " exit-address-family", ' address-family ipv6', ' neighbor PEER_V4 allowas-in 1', ' neighbor PEER_V6 allowas-in 1', + " exit-address-family", + "exit" ]) def test___set_prepare_config_disabled(): @@ -322,9 +325,12 @@ def test___set_prepare_config_disabled(): 'router bgp 65500', ' address-family ipv4', ' no neighbor PEER_V4 allowas-in 1', + " exit-address-family", ' address-family ipv6', ' no neighbor PEER_V4 allowas-in 1', ' no neighbor PEER_V6 allowas-in 1', + " exit-address-family", + "exit" ]) def test___set_prepare_config_enabled_part(): @@ -336,9 +342,12 @@ def test___set_prepare_config_enabled_part(): 'router bgp 65500', ' address-family ipv4', ' neighbor PEER_V4 allowas-in 1', + " exit-address-family", ' address-family ipv6', ' neighbor PEER_V4 allowas-in 1', ' neighbor PEER_V6 allowas-in 1', + " exit-address-family", + "exit" ]) def test___set_prepare_config_disabled_part(): @@ -350,9 +359,12 @@ def test___set_prepare_config_disabled_part(): 'router bgp 65500', ' address-family ipv4', ' no neighbor PEER_V4 allowas-in 1', + " exit-address-family", ' address-family ipv6', ' no neighbor PEER_V4 allowas-in 1', ' no neighbor PEER_V6 allowas-in 1', + " exit-address-family", + "exit" ]) def test___set_prepare_config_enabled_multiple_peers(): __set_prepare_config_common("enabled", { @@ -365,10 +377,13 @@ def test___set_prepare_config_enabled_multiple_peers(): ' neighbor PEER_V4 allowas-in 1', ' neighbor PEER_V4_DEPLOYMENT_ID_0 allowas-in 1', ' neighbor PEER_V4_DEPLOYMENT_ID_1 allowas-in 1', + " exit-address-family", ' address-family ipv6', ' neighbor PEER_V6 allowas-in 1', ' neighbor PEER_V6_DEPLOYMENT_ID_0 allowas-in 1', ' neighbor PEER_V6_DEPLOYMENT_ID_1 allowas-in 1', + " exit-address-family", + "exit" ], {"PEER_V4", "PEER_V4_DEPLOYMENT_ID_0", "PEER_V4_DEPLOYMENT_ID_1", "PEER_V6", "PEER_V6_DEPLOYMENT_ID_0", "PEER_V6_DEPLOYMENT_ID_1"}) @@ -383,10 +398,13 @@ def test___set_prepare_config_disabled_multiple_peers(): ' no neighbor PEER_V4 allowas-in 1', ' no neighbor PEER_V4_DEPLOYMENT_ID_0 allowas-in 1', ' no neighbor PEER_V4_DEPLOYMENT_ID_1 allowas-in 1', + " exit-address-family", ' address-family ipv6', ' no neighbor PEER_V6 allowas-in 1', ' no neighbor PEER_V6_DEPLOYMENT_ID_0 allowas-in 1', ' no neighbor PEER_V6_DEPLOYMENT_ID_1 allowas-in 1', + " exit-address-family", + "exit" ], {"PEER_V4", "PEER_V4_DEPLOYMENT_ID_0", "PEER_V4_DEPLOYMENT_ID_1", "PEER_V6", "PEER_V6_DEPLOYMENT_ID_0", "PEER_V6_DEPLOYMENT_ID_1"}) diff --git a/src/sonic-bgpcfgd/tests/test_prefix_list.py b/src/sonic-bgpcfgd/tests/test_prefix_list.py new file mode 100644 index 000000000000..9f1ef6a48c99 --- /dev/null +++ b/src/sonic-bgpcfgd/tests/test_prefix_list.py @@ -0,0 +1,70 @@ +from unittest.mock import MagicMock, patch + +import os +from bgpcfgd.directory import Directory +from bgpcfgd.template import TemplateFabric +from . import swsscommon_test +from swsscommon import swsscommon + +from bgpcfgd.managers_prefix_list import PrefixListMgr + +TEMPLATE_PATH = os.path.abspath('../../dockers/docker-fpm-frr/frr') + +def constructor(): + cfg_mgr = MagicMock() + common_objs = { + 'directory': Directory(), + 'cfg_mgr': cfg_mgr, + 'tf': TemplateFabric(TEMPLATE_PATH), + 'constants': {}, + } + + m = PrefixListMgr(common_objs, "CONFIG_DB", "PREFIX_LIST") + m.directory.put("CONFIG_DB", swsscommon.CFG_DEVICE_METADATA_TABLE_NAME, "localhost", {"bgp_asn": "65100", "type": "SpineRouter", "subtype": "UpstreamLC"}) + + return m + +def set_handler_test(manager, key, value): + res = manager.set_handler(key, value) + assert res, "Returns always True" + +def del_handler_test(manager, key): + res = manager.del_handler(key) + assert res, "Returns always True" + +# test if the ipv4 radian configs are set correctly +@patch('bgpcfgd.managers_prefix_list.log_debug') +def test_generate_prefix_list_config_ipv4(mocked_log_debug): + m = constructor() + set_handler_test(m, "ANCHOR_PREFIX|192.168.0.0/24", {}) + mocked_log_debug.assert_called_with("PrefixListMgr:: Anchor prefix 192.168.0.0/24 added to radian configuration") + +# test if the ipv6 radian configs are set correctly +@patch('bgpcfgd.managers_prefix_list.log_debug') +def test_generate_prefix_list_config_ipv6(mocked_log_debug): + m = constructor() + set_handler_test(m, "ANCHOR_PREFIX|fc02:100::/64", {}) + mocked_log_debug.assert_called_with("PrefixListMgr:: Anchor prefix fc02:100::/64 added to radian configuration") + +# test if invalid prefix is handled correctly +@patch('bgpcfgd.managers_prefix_list.log_warn') +def test_generate_prefix_list_config_invalid_prefix(mocked_log_warn): + m = constructor() + set_handler_test(m, "ANCHOR_PREFIX|invalid_prefix", {}) + mocked_log_warn.assert_called_with("PrefixListMgr:: Prefix 'invalid_prefix' format is wrong for prefix list 'ANCHOR_PREFIX'") + +# test if the ipv4 radian configs are deleted correctly +@patch('bgpcfgd.managers_prefix_list.log_debug') +def test_del_handler_ipv4(mocked_log_debug): + m = constructor() + set_handler_test(m, "ANCHOR_PREFIX|192.168.0.0/24", {}) + del_handler_test(m, "ANCHOR_PREFIX|192.168.0.0/24") + mocked_log_debug.assert_called_with("PrefixListMgr:: Anchor prefix 192.168.0.0/24 removed from radian configuration") + +# test if the ipv6 radian configs are deleted correctly +@patch('bgpcfgd.managers_prefix_list.log_debug') +def test_del_handler_ipv6(mocked_log_debug): + m = constructor() + set_handler_test(m, "ANCHOR_PREFIX|fc02:100::/64", {}) + del_handler_test(m, "ANCHOR_PREFIX|fc02:100::/64") + mocked_log_debug.assert_called_with("PrefixListMgr:: Anchor prefix fc02:100::/64 removed from radian configuration") \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/test_sonic-cfggen.py b/src/sonic-bgpcfgd/tests/test_sonic-cfggen.py index 908c4d802e54..b259f41baf1a 100644 --- a/src/sonic-bgpcfgd/tests/test_sonic-cfggen.py +++ b/src/sonic-bgpcfgd/tests/test_sonic-cfggen.py @@ -206,3 +206,15 @@ def test_bgpd_main_conf_defaults_router_id(): "bgpd/bgpd.main.conf.j2", "bgpd.main.conf.j2/defaults_router_id.json", "bgpd.main.conf.j2/defaults_router_id.conf") + +def test_prefix_list_add_radian(): + run_test("Add radian configuration", + "bgpd/radian/add_radian.conf.j2", + "radian/add_radian.json", + "radian/add_radian.conf") + +def test_prefix_list_del_radian(): + run_test("Del radian configuration", + "bgpd/radian/del_radian.conf.j2", + "radian/del_radian.json", + "radian/del_radian.conf") \ No newline at end of file diff --git a/src/sonic-bgpcfgd/tests/test_static_rt.py b/src/sonic-bgpcfgd/tests/test_static_rt.py index 422a3451c4fb..e20a8e9c81db 100644 --- a/src/sonic-bgpcfgd/tests/test_static_rt.py +++ b/src/sonic-bgpcfgd/tests/test_static_rt.py @@ -68,8 +68,11 @@ def test_set(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -79,13 +82,13 @@ class MockRedisConfigDbGet: def __init__(self, cache=dict()): self.cache = cache self.CONFIG_DB = "CONFIG_DB" - + def get(self, db, key, field): if key in self.cache: if field in self.cache[key]["value"]: return self.cache[key]["value"][field] return None # return nil - + mgr = constructor() set_del_test( @@ -102,8 +105,11 @@ def get(self, db, key, field): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -164,8 +170,11 @@ def get(self, db, key, field): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) cfg_db_cache = { @@ -189,8 +198,11 @@ def get(self, db, key, field): "router bgp 65100", " address-family ipv4", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit", "no route-map STATIC_ROUTE_FILTER" ] ) @@ -210,8 +222,11 @@ def get(self, db, key, field): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -228,8 +243,11 @@ def get(self, db, key, field): "router bgp 65100", " address-family ipv4", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit", "no route-map STATIC_ROUTE_FILTER" ] ) @@ -250,8 +268,11 @@ def test_set_nhportchannel(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -265,8 +286,11 @@ def test_set_nhportchannel(): "router bgp 65100", " address-family ipv4", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit", "no route-map STATIC_ROUTE_FILTER" ] ) @@ -288,8 +312,11 @@ def test_set_several_nhportchannels(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -313,8 +340,11 @@ def test_set_nhvrf(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -338,8 +368,11 @@ def test_set_blackhole(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -363,8 +396,11 @@ def test_set_vrf(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -388,8 +424,11 @@ def test_set_ipv6(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -414,8 +453,11 @@ def test_set_nh_only(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -440,8 +482,11 @@ def test_set_ifname_only(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -467,8 +512,11 @@ def test_set_with_empty_ifname(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -494,8 +542,11 @@ def test_set_with_empty_nh(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -521,8 +572,11 @@ def test_set_del(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) set_del_test( @@ -537,8 +591,11 @@ def test_set_del(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit", "no route-map STATIC_ROUTE_FILTER" ] ) @@ -562,8 +619,11 @@ def test_set_del(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -589,8 +649,11 @@ def test_set_same_route(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) set_del_test( @@ -636,8 +699,11 @@ def test_set_add_del_nh(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) set_del_test( @@ -694,8 +760,11 @@ def test_set_add_del_nh_ethernet(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) set_del_test( @@ -749,8 +818,11 @@ def test_set_no_action(mocked_log_debug): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -810,8 +882,11 @@ def test_set_invalid_blackhole(mocked_log_err): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) mocked_log_err.assert_called_with("Mandatory attribute not found for nexthop") @@ -887,8 +962,11 @@ def test_set_del_bgp_asn_change(): "router bgp 65100 vrf vrfRED", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] def push_list(cmds): set_del_test.push_list_called = True @@ -923,8 +1001,11 @@ def test_set_tag_enable(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -944,8 +1025,11 @@ def test_set_tag_disable(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -965,8 +1049,11 @@ def test_set_tag_change(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -1000,8 +1087,11 @@ def test_set_bfd_false(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) @@ -1015,8 +1105,11 @@ def test_set_bfd_false(): "router bgp 65100", " address-family ipv4", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", " no redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit", "no route-map STATIC_ROUTE_FILTER" ] ) @@ -1038,8 +1131,11 @@ def test_set_bfd_true(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) #do nothing for adding smae route second time @@ -1083,8 +1179,11 @@ def test_set_bfd_true(): "router bgp 65100", " address-family ipv4", " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", " address-family ipv6", - " redistribute static route-map STATIC_ROUTE_FILTER" + " redistribute static route-map STATIC_ROUTE_FILTER", + " exit-address-family", + "exit" ] ) diff --git a/src/sonic-config-engine/tests/common_utils.py b/src/sonic-config-engine/tests/common_utils.py index a5a15c45be42..954cf1f393cc 100644 --- a/src/sonic-config-engine/tests/common_utils.py +++ b/src/sonic-config-engine/tests/common_utils.py @@ -52,7 +52,7 @@ def validate(self, argument): """ Raise exception when yang validation failed """ - if PY3x and "-m" in argument: + if PY3x and ("-m" in argument or "--preset" in argument): import sonic_yang parser=argparse.ArgumentParser(description="Render configuration file from minigraph data and jinja2 template.") parser.add_argument("-m", "--minigraph", help="minigraph xml file", nargs='?', const='/etc/sonic/minigraph.xml') @@ -61,10 +61,17 @@ def validate(self, argument): parser.add_argument("-p", "--port-config", help="port config file, used with -m or -k", nargs='?', const=None) parser.add_argument("-S", "--hwsku-config", help="hwsku config file, used with -p and -m or -k", nargs='?', const=None) parser.add_argument("-j", "--json", help="additional json file input, used with -p, -S and -m or -k", nargs='?', const=None) + parser.add_argument("-a", "--additional-data", help="addition data, in json string", nargs='?', const=None) + parser.add_argument("--preset", help="generate sample configuration from a preset template", nargs='?', const=None) args, unknown = parser.parse_known_args(argument) print('\n Validating yang schema') - cmd = self.script_file + ['-m', args.minigraph] + if "-m" in argument: + cmd = self.script_file + ['-m', args.minigraph] + cmd += ['--print-data'] + elif "--preset" in argument: + cmd = self.script_file + ['--preset', args.preset] + if args.hwsku is not None: cmd += ['-k', args.hwsku] if args.hwsku_config is not None: @@ -75,7 +82,9 @@ def validate(self, argument): cmd += ['-n', args.namespace] if args.json is not None: cmd += ['-j', args.json] - cmd += ['--print-data'] + if args.additional_data is not None: + cmd += ['-a', args.additional_data] + output = subprocess.check_output(cmd).decode() try: self.yang_parser.loadData(configdbJson=json.loads(output)) @@ -87,6 +96,7 @@ def validate(self, argument): return False return True + def cmp(file1, file2): """ compare files """ try: diff --git a/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json index 95add1de513a..65211c1b8e11 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json +++ b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch.json @@ -14,25 +14,25 @@ "Ethernet224": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" }, "Ethernet232": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" }, "Ethernet240": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" }, "Ethernet248": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" } }, @@ -415,27 +415,15 @@ "Ethernet216|0": { "profile": "ingress_lossy_profile" }, - "Ethernet224|3-4": { - "profile": "ingress_lossy_profile" - }, "Ethernet224|0": { "profile": "ingress_lossy_profile" }, - "Ethernet232|3-4": { - "profile": "ingress_lossy_profile" - }, "Ethernet232|0": { "profile": "ingress_lossy_profile" }, - "Ethernet240|3-4": { - "profile": "ingress_lossy_profile" - }, "Ethernet240|0": { "profile": "ingress_lossy_profile" }, - "Ethernet248|3-4": { - "profile": "ingress_lossy_profile" - }, "Ethernet248|0": { "profile": "ingress_lossy_profile" }, diff --git a/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json index 4afe1c8e23cf..ed1c877a23af 100644 --- a/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json +++ b/src/sonic-config-engine/tests/sample_output/py3/qos-mellanox4700-o28-t1-smartswitch_dyn.json @@ -14,25 +14,25 @@ "Ethernet224": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" }, "Ethernet232": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" }, "Ethernet240": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" }, "Ethernet248": { "dscp_to_tc_map": "AZURE", "tc_to_queue_map": "AZURE", - "tc_to_pg_map": "AZURE", + "tc_to_pg_map": "AZURE_DPC", "pfc_to_queue_map": "AZURE" } }, @@ -391,25 +391,25 @@ "profile": "ingress_lossy_profile" }, "Ethernet224|3-4": { - "profile": "ingress_lossy_profile" + "profile": "NULL" }, "Ethernet224|0": { "profile": "ingress_lossy_profile" }, "Ethernet232|3-4": { - "profile": "ingress_lossy_profile" + "profile": "NULL" }, "Ethernet232|0": { "profile": "ingress_lossy_profile" }, "Ethernet240|3-4": { - "profile": "ingress_lossy_profile" + "profile": "NULL" }, "Ethernet240|0": { "profile": "ingress_lossy_profile" }, "Ethernet248|3-4": { - "profile": "ingress_lossy_profile" + "profile": "NULL" }, "Ethernet248|0": { "profile": "ingress_lossy_profile" diff --git a/src/sonic-config-engine/tests/sample_output/t1-smartswitch-dpu.json b/src/sonic-config-engine/tests/sample_output/t1-smartswitch-dpu.json index 400d36127a7a..3bd84f20aa88 100644 --- a/src/sonic-config-engine/tests/sample_output/t1-smartswitch-dpu.json +++ b/src/sonic-config-engine/tests/sample_output/t1-smartswitch-dpu.json @@ -14,7 +14,8 @@ "lanes": "0,1,2,3,4,5,6,7", "alias": "etp1", "admin_status": "up", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" } }, "FLEX_COUNTER_TABLE": { diff --git a/src/sonic-config-engine/tests/sample_output/t1-smartswitch.json b/src/sonic-config-engine/tests/sample_output/t1-smartswitch.json index d49ed7feb22c..87036e755b96 100644 --- a/src/sonic-config-engine/tests/sample_output/t1-smartswitch.json +++ b/src/sonic-config-engine/tests/sample_output/t1-smartswitch.json @@ -455,193 +455,225 @@ "admin_status": "up", "alias": "etp1", "lanes": "0,1,2,3,4,5,6,7", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet104": { "admin_status": "up", "alias": "etp14", "lanes": "104,105,106,107,108,109,110,111", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet112": { "admin_status": "up", "alias": "etp15", "lanes": "112,113,114,115,116,117,118,119", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet120": { "admin_status": "up", "alias": "etp16", "lanes": "120,121,122,123,124,125,126,127", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet128": { "admin_status": "up", "alias": "etp17", "lanes": "128,129,130,131,132,133,134,135", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet136": { "admin_status": "up", "alias": "etp18", "lanes": "136,137,138,139,140,141,142,143", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet144": { "admin_status": "up", "alias": "etp19", "lanes": "144,145,146,147,148,149,150,151", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet152": { "admin_status": "up", "alias": "etp20", "lanes": "152,153,154,155,156,157,158,159", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet16": { "admin_status": "up", "alias": "etp3", "lanes": "16,17,18,19,20,21,22,23", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet160": { "admin_status": "up", "alias": "etp21", "lanes": "160,161,162,163,164,165,166,167", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet168": { "admin_status": "up", "alias": "etp22", "lanes": "168,169,170,171,172,173,174,175", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet176": { "admin_status": "up", "alias": "etp23", "lanes": "176,177,178,179,180,181,182,183", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet184": { "admin_status": "up", "alias": "etp24", "lanes": "184,185,186,187,188,189,190,191", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet192": { "admin_status": "up", "alias": "etp25", "lanes": "192,193,194,195,196,197,198,199", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet200": { "admin_status": "up", "alias": "etp26", "lanes": "200,201,202,203,204,205,206,207", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet208": { "admin_status": "up", "alias": "etp27", "lanes": "208,209,210,211,212,213,214,215", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet216": { "admin_status": "up", "alias": "etp28", "lanes": "216,217,218,219,220,221,222,223", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet224": { "admin_status": "up", "alias": "etp29", "lanes": "224,225,226,227,228,229,230,231", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet232": { "admin_status": "up", "alias": "etp30", "lanes": "232,233,234,235,236,237,238,239", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet24": { "admin_status": "up", "alias": "etp4", "lanes": "24,25,26,27,28,29,30,31", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet240": { "admin_status": "up", "alias": "etp31", "lanes": "240,241,242,243,244,245,246,247", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet248": { "admin_status": "up", "alias": "etp32", "lanes": "248,249,250,251,252,253,254,255", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet32": { "admin_status": "up", "alias": "etp5", "lanes": "32,33,34,35,36,37,38,39", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet40": { "admin_status": "up", "alias": "etp6", "lanes": "40,41,42,43,44,45,46,47", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet48": { "admin_status": "up", "alias": "etp7", "lanes": "48,49,50,51,52,53,54,55", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet56": { "admin_status": "up", "alias": "etp8", "lanes": "56,57,58,59,60,61,62,63", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet64": { "admin_status": "up", "alias": "etp9", "lanes": "64,65,66,67,68,69,70,71", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet72": { "admin_status": "up", "alias": "etp10", "lanes": "72,73,74,75,76,77,78,79", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet8": { "admin_status": "up", "alias": "etp2", "lanes": "8,9,10,11,12,13,14,15", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet80": { "admin_status": "up", "alias": "etp11", "lanes": "80,81,82,83,84,85,86,87", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet88": { "admin_status": "up", "alias": "etp12", "lanes": "88,89,90,91,92,93,94,95", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" }, "Ethernet96": { "admin_status": "up", "alias": "etp13", "lanes": "96,97,98,99,100,101,102,103", - "mtu": "9100" + "mtu": "9100", + "speed": "100000" } } } diff --git a/src/sonic-config-engine/tests/t1-ss-dpu-sample-port-config.ini b/src/sonic-config-engine/tests/t1-ss-dpu-sample-port-config.ini index eb8916447e47..98a7a50d6e79 100644 --- a/src/sonic-config-engine/tests/t1-ss-dpu-sample-port-config.ini +++ b/src/sonic-config-engine/tests/t1-ss-dpu-sample-port-config.ini @@ -1,2 +1,2 @@ -# name lanes alias -Ethernet0 0,1,2,3,4,5,6,7 etp1 +# name lanes alias speed +Ethernet0 0,1,2,3,4,5,6,7 etp1 100000 diff --git a/src/sonic-config-engine/tests/t1-ss-sample-port-config.ini b/src/sonic-config-engine/tests/t1-ss-sample-port-config.ini index d140050c87ea..a7a7f13faa21 100644 --- a/src/sonic-config-engine/tests/t1-ss-sample-port-config.ini +++ b/src/sonic-config-engine/tests/t1-ss-sample-port-config.ini @@ -1,33 +1,33 @@ -# name lanes alias -Ethernet0 0,1,2,3,4,5,6,7 etp1 -Ethernet8 8,9,10,11,12,13,14,15 etp2 -Ethernet16 16,17,18,19,20,21,22,23 etp3 -Ethernet24 24,25,26,27,28,29,30,31 etp4 -Ethernet32 32,33,34,35,36,37,38,39 etp5 -Ethernet40 40,41,42,43,44,45,46,47 etp6 -Ethernet48 48,49,50,51,52,53,54,55 etp7 -Ethernet56 56,57,58,59,60,61,62,63 etp8 -Ethernet64 64,65,66,67,68,69,70,71 etp9 -Ethernet72 72,73,74,75,76,77,78,79 etp10 -Ethernet80 80,81,82,83,84,85,86,87 etp11 -Ethernet88 88,89,90,91,92,93,94,95 etp12 -Ethernet96 96,97,98,99,100,101,102,103 etp13 -Ethernet104 104,105,106,107,108,109,110,111 etp14 -Ethernet112 112,113,114,115,116,117,118,119 etp15 -Ethernet120 120,121,122,123,124,125,126,127 etp16 -Ethernet128 128,129,130,131,132,133,134,135 etp17 -Ethernet136 136,137,138,139,140,141,142,143 etp18 -Ethernet144 144,145,146,147,148,149,150,151 etp19 -Ethernet152 152,153,154,155,156,157,158,159 etp20 -Ethernet160 160,161,162,163,164,165,166,167 etp21 -Ethernet168 168,169,170,171,172,173,174,175 etp22 -Ethernet176 176,177,178,179,180,181,182,183 etp23 -Ethernet184 184,185,186,187,188,189,190,191 etp24 -Ethernet192 192,193,194,195,196,197,198,199 etp25 -Ethernet200 200,201,202,203,204,205,206,207 etp26 -Ethernet208 208,209,210,211,212,213,214,215 etp27 -Ethernet216 216,217,218,219,220,221,222,223 etp28 -Ethernet224 224,225,226,227,228,229,230,231 etp29 -Ethernet232 232,233,234,235,236,237,238,239 etp30 -Ethernet240 240,241,242,243,244,245,246,247 etp31 -Ethernet248 248,249,250,251,252,253,254,255 etp32 +# name lanes alias speed +Ethernet0 0,1,2,3,4,5,6,7 etp1 100000 +Ethernet8 8,9,10,11,12,13,14,15 etp2 100000 +Ethernet16 16,17,18,19,20,21,22,23 etp3 100000 +Ethernet24 24,25,26,27,28,29,30,31 etp4 100000 +Ethernet32 32,33,34,35,36,37,38,39 etp5 100000 +Ethernet40 40,41,42,43,44,45,46,47 etp6 100000 +Ethernet48 48,49,50,51,52,53,54,55 etp7 100000 +Ethernet56 56,57,58,59,60,61,62,63 etp8 100000 +Ethernet64 64,65,66,67,68,69,70,71 etp9 100000 +Ethernet72 72,73,74,75,76,77,78,79 etp10 100000 +Ethernet80 80,81,82,83,84,85,86,87 etp11 100000 +Ethernet88 88,89,90,91,92,93,94,95 etp12 100000 +Ethernet96 96,97,98,99,100,101,102,103 etp13 100000 +Ethernet104 104,105,106,107,108,109,110,111 etp14 100000 +Ethernet112 112,113,114,115,116,117,118,119 etp15 100000 +Ethernet120 120,121,122,123,124,125,126,127 etp16 100000 +Ethernet128 128,129,130,131,132,133,134,135 etp17 100000 +Ethernet136 136,137,138,139,140,141,142,143 etp18 100000 +Ethernet144 144,145,146,147,148,149,150,151 etp19 100000 +Ethernet152 152,153,154,155,156,157,158,159 etp20 100000 +Ethernet160 160,161,162,163,164,165,166,167 etp21 100000 +Ethernet168 168,169,170,171,172,173,174,175 etp22 100000 +Ethernet176 176,177,178,179,180,181,182,183 etp23 100000 +Ethernet184 184,185,186,187,188,189,190,191 etp24 100000 +Ethernet192 192,193,194,195,196,197,198,199 etp25 100000 +Ethernet200 200,201,202,203,204,205,206,207 etp26 100000 +Ethernet208 208,209,210,211,212,213,214,215 etp27 100000 +Ethernet216 216,217,218,219,220,221,222,223 etp28 100000 +Ethernet224 224,225,226,227,228,229,230,231 etp29 100000 +Ethernet232 232,233,234,235,236,237,238,239 etp30 100000 +Ethernet240 240,241,242,243,244,245,246,247 etp31 100000 +Ethernet248 248,249,250,251,252,253,254,255 etp32 100000 diff --git a/src/sonic-config-engine/tests/test_j2files.py b/src/sonic-config-engine/tests/test_j2files.py index 3ff70d40ae83..30fc9f0e30bc 100644 --- a/src/sonic-config-engine/tests/test_j2files.py +++ b/src/sonic-config-engine/tests/test_j2files.py @@ -11,6 +11,7 @@ class TestJ2Files(TestCase): def setUp(self): + self.yang = utils.YangWrapper() self.test_dir = os.path.dirname(os.path.realpath(__file__)) self.script_file = [utils.PYTHON_INTERPRETTER, os.path.join(self.test_dir, '..', 'sonic-cfggen')] self.simple_minigraph = os.path.join(self.test_dir, 'simple-sample-graph.xml') @@ -260,6 +261,7 @@ def test_l2switch_template(self): def test_l1_ports_template(self): argument = ['-k', '32x1000Gb', '--preset', 'l1', '-p', self.l1_l3_port_config] + self.assertTrue(self.yang.validate(argument)) output = self.run_script(argument) output_json = json.loads(output) @@ -278,6 +280,7 @@ def test_l1_ports_template(self): def test_l3_ports_template(self): argument = ['-k', '32x1000Gb', '--preset', 'l3', '-p', self.l1_l3_port_config] + self.assertTrue(self.yang.validate(argument)) output = self.run_script(argument) output_json = json.loads(output) @@ -311,6 +314,7 @@ def test_l2switch_template_dualtor(self): ] } argument = ['-a', json.dumps(extra_args), '-k', 'Arista-7050CX3-32S-D48C8', '--preset', 'l2', '-p', self.t0_7050cx3_port_config] + self.assertTrue(self.yang.validate(argument)) output = self.run_script(argument) output_json = json.loads(output) @@ -322,6 +326,7 @@ def test_l2switch_template_dualtor(self): def test_t1_smartswitch_template(self): argument = ['-k', 'SSwitch-32x1000Gb', '--preset', 't1-smartswitch', '-p', self.t1_ss_port_config] + self.assertTrue(self.yang.validate(argument)) output = self.run_script(argument) output_json = json.loads(output) @@ -333,6 +338,7 @@ def test_t1_smartswitch_template(self): def test_t1_smartswitch_dpu_template(self): argument = ['-k', 'SS-DPU-1x400Gb', '--preset', 't1-smartswitch', '-p', self.t1_ss_dpu_port_config] + self.assertTrue(self.yang.validate(argument)) output = self.run_script(argument) output_json = json.loads(output) diff --git a/src/sonic-device-data/tests/permitted_list b/src/sonic-device-data/tests/permitted_list index ff0f433b0917..e5dc1cd3da97 100644 --- a/src/sonic-device-data/tests/permitted_list +++ b/src/sonic-device-data/tests/permitted_list @@ -353,3 +353,5 @@ flowtracker_ipfix_observation_domain_id flowtracker_num_unique_user_entry_keys sai_mmu_tc_to_pg_config sai_hostif_netif_iff_up_set +appl_param_active_links_thr_high +appl_param_active_links_thr_low diff --git a/src/sonic-frr/patch/0082-Revert-bgpd-upon-if-event-evaluate-bnc-with-matching.patch b/src/sonic-frr/patch/0082-Revert-bgpd-upon-if-event-evaluate-bnc-with-matching.patch new file mode 100644 index 000000000000..3af2f3be74df --- /dev/null +++ b/src/sonic-frr/patch/0082-Revert-bgpd-upon-if-event-evaluate-bnc-with-matching.patch @@ -0,0 +1,78 @@ +From 086c32eb5bf2ebfb4805f76219c1a3bc5dd9213e Mon Sep 17 00:00:00 2001 +From: dgsudharsan +Date: Wed, 19 Feb 2025 17:24:39 +0000 +Subject: [PATCH] Revert "bgpd: upon if event, evaluate bnc with matching + nexthop" + +This reverts commit 58592be57783a3b24e7351af2a5afc61299768df. + +diff --git a/bgpd/bgp_nht.c b/bgpd/bgp_nht.c +index 196cc00385..78eb1a9183 100644 +--- a/bgpd/bgp_nht.c ++++ b/bgpd/bgp_nht.c +@@ -751,10 +751,6 @@ static void bgp_nht_ifp_table_handle(struct bgp *bgp, + struct interface *ifp, bool up) + { + struct bgp_nexthop_cache *bnc; +- struct nexthop *nhop; +- uint16_t other_nh_count; +- bool nhop_ll_found = false; +- bool nhop_found = false; + + if (ifp->ifindex == IFINDEX_INTERNAL) { + zlog_warn("%s: The interface %s ignored", __func__, ifp->name); +@@ -762,42 +758,9 @@ static void bgp_nht_ifp_table_handle(struct bgp *bgp, + } + + frr_each (bgp_nexthop_cache, table, bnc) { +- other_nh_count = 0; +- nhop_ll_found = bnc->ifindex_ipv6_ll == ifp->ifindex; +- for (nhop = bnc->nexthop; nhop; nhop = nhop->next) { +- if (nhop->ifindex == bnc->ifindex_ipv6_ll) +- continue; +- +- if (nhop->ifindex != ifp->ifindex) { +- other_nh_count++; +- continue; +- } +- if (nhop->vrf_id != ifp->vrf->vrf_id) { +- other_nh_count++; +- continue; +- } +- nhop_found = true; +- } +- +- if (!nhop_found && !nhop_ll_found) +- /* The event interface does not match the nexthop cache +- * entry */ +- continue; +- +- if (!up && other_nh_count > 0) +- /* Down event ignored in case of multiple next-hop +- * interfaces. The other might interfaces might be still +- * up. The cases where all interfaces are down or a bnc +- * is invalid are processed by a separate zebra rnh +- * messages. +- */ ++ if (bnc->ifindex_ipv6_ll != ifp->ifindex) + continue; + +- if (!nhop_ll_found) { +- evaluate_paths(bnc); +- continue; +- } +- + bnc->last_update = monotime(NULL); + bnc->change_flags = 0; + +@@ -810,7 +773,6 @@ static void bgp_nht_ifp_table_handle(struct bgp *bgp, + if (up) { + SET_FLAG(bnc->flags, BGP_NEXTHOP_VALID); + SET_FLAG(bnc->change_flags, BGP_NEXTHOP_CHANGED); +- /* change nexthop number only for ll */ + bnc->nexthop_num = 1; + } else { + UNSET_FLAG(bnc->flags, BGP_NEXTHOP_PEER_NOTIFIED); +-- +2.43.2 + diff --git a/src/sonic-frr/patch/series b/src/sonic-frr/patch/series index 427df08d8af4..72529f1cb0df 100644 --- a/src/sonic-frr/patch/series +++ b/src/sonic-frr/patch/series @@ -61,3 +61,4 @@ 0078-vtysh-de-conditionalize-and-reorder-install-node.patch 0079-staticd-add-support-for-srv6.patch 0080-SRv6-vpn-route-and-sidlist-install.patch +0082-Revert-bgpd-upon-if-event-evaluate-bnc-with-matching.patch diff --git a/src/sonic-linux-kernel b/src/sonic-linux-kernel index 7a1f547cd063..7faad281a534 160000 --- a/src/sonic-linux-kernel +++ b/src/sonic-linux-kernel @@ -1 +1 @@ -Subproject commit 7a1f547cd0630c386b62f2f9dacfa4465b0382d4 +Subproject commit 7faad281a5340b79a0ec5af564324c9d9e1d4379 diff --git a/src/sonic-platform-common b/src/sonic-platform-common index cb5564c20ac7..c6f6bed9eae5 160000 --- a/src/sonic-platform-common +++ b/src/sonic-platform-common @@ -1 +1 @@ -Subproject commit cb5564c20ac74694f2391759f9235eee428a97d0 +Subproject commit c6f6bed9eae562d1a045bbf62601216707969ca9 diff --git a/src/sonic-platform-daemons b/src/sonic-platform-daemons index 29e65fe7f6d7..803aae75557d 160000 --- a/src/sonic-platform-daemons +++ b/src/sonic-platform-daemons @@ -1 +1 @@ -Subproject commit 29e65fe7f6d736841bb140150adea03a3e125132 +Subproject commit 803aae75557d43f1020728bf1d2438171cfe3a32 diff --git a/src/sonic-py-common/sonic_py_common/daemon_base.py b/src/sonic-py-common/sonic_py_common/daemon_base.py index 1e65e47dd5c9..fd98a12b28e2 100644 --- a/src/sonic-py-common/sonic_py_common/daemon_base.py +++ b/src/sonic-py-common/sonic_py_common/daemon_base.py @@ -26,7 +26,7 @@ def db_connect(db_name, namespace=EMPTY_NAMESPACE): from swsscommon import swsscommon - return swsscommon.DBConnector(db_name, REDIS_TIMEOUT_MSECS, False, namespace) + return swsscommon.DBConnector(db_name, REDIS_TIMEOUT_MSECS, True, namespace) # diff --git a/src/sonic-swss-common b/src/sonic-swss-common index eb30bb72effe..599b0a67fd3d 160000 --- a/src/sonic-swss-common +++ b/src/sonic-swss-common @@ -1 +1 @@ -Subproject commit eb30bb72effea2fa184cb9984b395e92b44d4eb6 +Subproject commit 599b0a67fd3dc6caa1f2590fc4bd96349fc625ee diff --git a/src/sonic-utilities b/src/sonic-utilities index 3aec51927b06..940ed0ddd6a2 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit 3aec51927b06fd8cce2d71adec0ec5ad7f2abf53 +Subproject commit 940ed0ddd6a2a26308bf4d6d7ddf335ed4c198bf diff --git a/src/sonic-yang-models/doc/Configuration.md b/src/sonic-yang-models/doc/Configuration.md index 14a90731cd60..72b2b9d3a22a 100644 --- a/src/sonic-yang-models/doc/Configuration.md +++ b/src/sonic-yang-models/doc/Configuration.md @@ -80,6 +80,7 @@ * [VLAN](#vlan) * [VLAN_MEMBER](#vlan_member) * [VNET](#vnet) + * [VNET_ROUTE_TUNNEL](#vnet_route_tunnel) * [VOQ Inband Interface](#voq-inband-interface) * [VXLAN](#vxlan) * [Virtual router](#virtual-router) @@ -94,6 +95,7 @@ * [Static DNS](#static-dns) * [ASIC_SENSORS](#asic_sensors) * [SRv6](#srv6) + * [Prefix List](#prefix-list) * [For Developers](#for-developers) * [Generating Application Config by Jinja2 Template](#generating-application-config-by-jinja2-template) * [Incremental Configuration by Subscribing to ConfigDB](#incremental-configuration-by-subscribing-to-configdb) @@ -2542,6 +2544,31 @@ monitoring sessions for the vnet routes and is optional. } ``` +### VNET_ROUTE_TUNNEL + +VNET_ROUTE_TUNNEL table has vnet_name|prefix as the object key, where vnet_name is the name of the VNet and prefix is the prefix associated with the route tunnel. The table includes the following attributes: +- ENDPOINT: The endpoint/nexthop tunnel IP (mandatory). It is used to identify the endpoint of the tunnel. +- MAC_ADDRESS: The inner destination MAC address in the encapsulated packet (optional). It should be a 12-hexadeimal digit value. +- VXLANID: The VNI value in the encapsulated packet (optional). It should be a numeric value. + +``` +{ + "VNET_ROUTE_TUNNEL": { + "Vnet_2000|100.100.1.1/32": { + "name": "Vnet_2000|100.100.1.1/32", + "endpoint": "192.168.1.1", + "mac_address": "F9:22:83:99:22:A2" + }, + "Vnetv4_v4-0|10.0.1.0/24": { + "name": "Vnetv4_v4-0|10.0.1.0/24", + "endpoint": "192.168.1.2", + "mac_address": "F8:22:83:99:22:A2", + "vxlanid": "10012" + } + } +} +``` + ### VOQ INBAND INTERFACE VOQ_INBAND_INTERFACE holds the name of the inband system port dedicated for cpu communication. At this time, only inband_type of "port" is supported @@ -2913,6 +2940,18 @@ An example is as follows: } ``` +### Prefix List +Prefix list table stores a list of prefixes with type and prefix separated by `|`. The specific configuration for the prefix type are then rendered by the PrefixListMgr. Currently ANCHOR_PREFIX is supported to add RADIAN configuration. + +An example is as follows: +```json +{ + "PREFIX_LIST": { + "ANCHOR_PREFIX|fc00::/48": {} + } +} +``` + ### FIPS The FIPS table introduces FIPS configuration. diff --git a/src/sonic-yang-models/setup.py b/src/sonic-yang-models/setup.py index 02668030182c..ac670d49c1fe 100644 --- a/src/sonic-yang-models/setup.py +++ b/src/sonic-yang-models/setup.py @@ -205,6 +205,7 @@ def run(self): './yang-models/sonic-system-port.yang', './yang-models/sonic-macsec.yang', './yang-models/sonic-bgp-sentinel.yang', + './yang-models/sonic-bgp-prefix-list.yang', './yang-models/sonic-asic-sensors.yang', './yang-models/sonic-bmp.yang', './yang-models/sonic-xcvrd-log.yang', diff --git a/src/sonic-yang-models/tests/files/sample_config_db.json b/src/sonic-yang-models/tests/files/sample_config_db.json index 6a4ca851e76b..cf753f9cd073 100644 --- a/src/sonic-yang-models/tests/files/sample_config_db.json +++ b/src/sonic-yang-models/tests/files/sample_config_db.json @@ -2337,6 +2337,14 @@ "overlay_dmac": "22:33:44:55:66:77" } }, + "VNET_ROUTE_TUNNEL" : { + "vnet1|10.0.0.0/24" : { + "name":"vnet1|10.0.0.0/24", + "endpoint": "192.168.1.2", + "mac_address": "F9:22:83:99:22:A2", + "vxlanid": "10011" + } + }, "PORT_QOS_MAP": { "Ethernet0": { "dot1p_to_tc_map" : "Dot1p_to_tc_map1", @@ -2852,6 +2860,10 @@ "action": "uN", "decap_dscp_mode": "pipe" } + }, + "PREFIX_LIST": { + "ANCHOR_PREFIX|10.0.0.0/8" : {}, + "ANCHOR_PREFIX|FC00::/48" : {} } }, "SAMPLE_CONFIG_DB_UNKNOWN": { diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/bgp_prefix_list.json b/src/sonic-yang-models/tests/yang_model_tests/tests/bgp_prefix_list.json new file mode 100644 index 000000000000..85d3f7956a2b --- /dev/null +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/bgp_prefix_list.json @@ -0,0 +1,13 @@ +{ + "BGP_PREFIX_LIST_WITH_VALID_IPV4_PREFIX": { + "desc": "Load BGP prefix list table with a valid IPv4 prefix" + }, + "BGP_PREFIX_LIST_WITH_VALID_IPV6_PREFIX": { + "desc": "Load BGP prefix list table with a valid IPv6 prefix" + }, + "BGP_PREFIX_LIST_WITH_INVALID_PREFIX": { + "desc": "Load BGP prefix list table with an invalid prefix", + "eStrKey": "InvalidValue", + "eStr": ["prefix"] + } +} diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json index 9f4cfd5558ac..6ca674f7e554 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/device_metadata.json @@ -94,6 +94,9 @@ "DEVICE_METADATA_RESOURCE_TYPE_CONFIG": { "desc": "Verifying resource type configuration." }, + "DEVICE_METADATA_MGMT_TYPE_CONFIG": { + "desc": "Verifying mgmt type configuration." + }, "DEVICE_METADATA_VALID_CLUSTER": { "desc": "Verifying valid cluster configuration." }, diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests/vnet.json b/src/sonic-yang-models/tests/yang_model_tests/tests/vnet.json index 555ceea7d28a..6ef0012a957d 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests/vnet.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests/vnet.json @@ -24,5 +24,56 @@ "VNET_INVALID_VXLAN_VTEP": { "desc": "Missing Vxlan_TUNNEL configuration", "eStr" : [ "points to a non-existing leaf" ] + }, + "VNET_ROUTE_TUNNEL_MIN_TEST": { + "desc": "Basic VNET route tunnel configuration with minimal required field - endpoint in VNET_ROUTE_TUNNEL_LIST table." + }, + + "VNET_ROUTE_TUNNEL_MULTI_TEST": { + "desc": "Multiple VNET route tunnel configurations for different VNETs in VNET_ROUTE_TUNNEL_LIST table." + }, + + "VNET_ROUTE_TUNNEL_COMPLETE_TEST": { + "desc": "Complete VNET route tunnel configuration with all optional fields (including mac_address and vxlanid)in VNET_ROUTE_TUNNEL_LIST table." + }, + + "VNET_ROUTE_TUNNEL_TEST_DUPLICATE_NAME": { + "desc": "VNET route tunnel configuration with duplicate name keys in VNET_ROUTE_TUNNEL_LIST table.", + "eStr": "Duplicated instance of \"VNET_ROUTE_TUNNEL_LIST\" list." + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_ENDPOINT": { + "desc": "VNET route tunnel configuration with invalid endpoint IP value (256.256.256.256) in VNET_ROUTE_TUNNEL_LIST table.", + "eStr": "Value \"256.256.256.256\" does not satisfy the constraint" + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_MAC": { + "desc": "VNET route tunnel configuration with invalid MAC address format (non-hexadecimal characters) in VNET_ROUTE_TUNNEL_LIST table.", + "eStr": "Value \"GG:HH:II:JJ:KK:LL\" does not satisfy the constraint \"[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}\"" + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_VXLANID": { + "desc": "VNET route tunnel configuration with invalid VXLAN ID (exceeding max value of 16777215) in VNET_ROUTE_TUNNEL_LIST table.", + "eStr": "Value \"16777216\" does not satisfy the constraint \"1..16777215\"" + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_NAME_FORMAT": { + "desc": "VNET route tunnel configuration with invalid name format (missing pipe and prefix) in VNET_ROUTE_TUNNEL_LIST table.", + "eStr": "Value \"Vnet1\" does not satisfy the constraint \"[^|]+[|]((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2])))\" (range, length, or pattern)\"" + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_PREFIX": { + "desc": "VNET route tunnel configuration with invalid prefix format (300.168.1.0/24) in name field.", + "eStr": "Value \"Vnet1|300.168.1.0/24\" does not satisfy the constraint \"[^|]+[|]((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2])))\" (range, length, or pattern)\"" + }, + + "VNET_ROUTE_TUNNEL_TEST_MISSING_ENDPOINT": { + "desc": "VNET route tunnel configuration with missing mandatory attribute (endpoint) in VNET_ROUTE_TUNNEL_LIST table.", + "eStr": "Missing required element \"endpoint\" in \"VNET_ROUTE_TUNNEL_LIST\"." + }, + + "VNET_ROUTE_TUNNEL_TEST_NONEXISTENT_VNET": { + "desc": "VNET route tunnel configuration referencing a non-existent VNET name, violating the must condition.", + "eStr": "VNET name in the key must reference a valid VNET in the VNET table" } } \ No newline at end of file diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/bgp_prefix_list.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/bgp_prefix_list.json new file mode 100644 index 000000000000..5191ba7e8511 --- /dev/null +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/bgp_prefix_list.json @@ -0,0 +1,40 @@ +{ + "BGP_PREFIX_LIST_WITH_VALID_IPV4_PREFIX": { + "sonic-bgp-prefix-list:sonic-bgp-prefix-list": { + "sonic-bgp-prefix-list:PREFIX_LIST": { + "PREFIX_LIST_LIST": [ + { + "prefix_type": "ANCHOR_PREFIX", + "ip-prefix": "10.0.0.0/8" + } + ] + } + } + }, + "BGP_PREFIX_LIST_WITH_VALID_IPV6_PREFIX": { + "sonic-bgp-prefix-list:sonic-bgp-prefix-list": { + "sonic-bgp-prefix-list:PREFIX_LIST": { + "PREFIX_LIST_LIST": [ + { + "prefix_type": "ANCHOR_PREFIX", + "ip-prefix": "fc00::/48" + } + ] + } + } + }, + "BGP_PREFIX_LIST_WITH_INVALID_PREFIX": { + "sonic-bgp-prefix-list:sonic-bgp-prefix-list": { + "sonic-bgp-prefix-list:PREFIX_LIST": { + "PREFIX_LIST_LIST": [ + { + "prefix_type": "ANCHOR_PREFIX", + "ip-prefix": "invalid_prefix" + } + ] + } + }, + "eStrKey": "InvalidValue", + "eStr": ["prefix"] + } +} \ No newline at end of file diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json index 8804e7984dbc..d4d885e78020 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/device_metadata.json @@ -257,6 +257,15 @@ } } }, + "DEVICE_METADATA_MGMT_TYPE_CONFIG": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "sonic-device_metadata:localhost": { + "mgmt_type": "mgmt_type_x" + } + } + } + }, "DEVICE_METADATA_VALID_CLUSTER": { "sonic-device_metadata:sonic-device_metadata": { "sonic-device_metadata:DEVICE_METADATA": { @@ -545,5 +554,14 @@ } } } + }, + "DEVICE_METADATA_RING_THREAD_ENABLED": { + "sonic-device_metadata:sonic-device_metadata": { + "sonic-device_metadata:DEVICE_METADATA": { + "sonic-device_metadata:localhost": { + "ring_thread_enabled": true + } + } + } } } diff --git a/src/sonic-yang-models/tests/yang_model_tests/tests_config/vnet.json b/src/sonic-yang-models/tests/yang_model_tests/tests_config/vnet.json index 9dcb67530287..e989953da9b8 100644 --- a/src/sonic-yang-models/tests/yang_model_tests/tests_config/vnet.json +++ b/src/sonic-yang-models/tests/yang_model_tests/tests_config/vnet.json @@ -178,5 +178,405 @@ ] } } + }, + + "VNET_ROUTE_TUNNEL_MIN_TEST": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.1" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_MULTI_TEST": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + }, + { + "name": "Vnet2", + "vxlan_tunnel": "vtep1", + "vni": "10002" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.1", + "vxlanid": "10011" + }, + { + "name": "Vnet2|10.0.1.0/24", + "endpoint": "192.168.1.2", + "vxlanid": "10012" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_COMPLETE_TEST": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.1", + "mac_address": "00:aa:bb:cc:dd:ee", + "vxlanid": "10011" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_DUPLICATE_NAME": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.1", + "vxlanid": "10011" + }, + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.2", + "vxlanid": "10012" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_ENDPOINT": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "256.256.256.256", + "vxlanid": "10011" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_MAC": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.1", + "mac_address": "GG:HH:II:JJ:KK:LL", + "vxlanid": "10011" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_VXLANID": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "endpoint": "192.168.1.1", + "vxlanid": "16777216" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_NAME_FORMAT": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1", + "endpoint": "192.168.1.1", + "vxlanid": "10011" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_INVALID_PREFIX": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|300.168.1.0/24", + "endpoint": "192.168.1.1", + "vxlanid": "10011" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_MISSING_ENDPOINT": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "Vnet1|10.0.0.0/24", + "vxlanid": "10011" + } + ] + } + } + }, + + "VNET_ROUTE_TUNNEL_TEST_NONEXISTENT_VNET": { + "sonic-vxlan:sonic-vxlan": { + "sonic-vxlan:VXLAN_TUNNEL": { + "VXLAN_TUNNEL_LIST": [ + { + "name": "vtep1", + "src_ip": "1.2.3.4" + } + ] + } + }, + + "sonic-vnet:sonic-vnet": { + "sonic-vnet:VNET": { + "VNET_LIST": [ + { + "name": "Vnet1", + "vxlan_tunnel": "vtep1", + "vni": "10001" + } + ] + }, + + "sonic-vnet:VNET_ROUTE_TUNNEL": { + "VNET_ROUTE_TUNNEL_LIST": [ + { + "name": "NonexistentVnet|10.0.0.0/24", + "endpoint": "192.168.1.1", + "vxlanid": "10011" + } + ] + } + } } } diff --git a/src/sonic-yang-models/yang-models/sonic-bgp-prefix-list.yang b/src/sonic-yang-models/yang-models/sonic-bgp-prefix-list.yang new file mode 100644 index 000000000000..78441450addc --- /dev/null +++ b/src/sonic-yang-models/yang-models/sonic-bgp-prefix-list.yang @@ -0,0 +1,67 @@ + +module sonic-bgp-prefix-list { + + yang-version 1.1; + + namespace "http://github.com/sonic-net/sonic-bgp-prefix-list"; + prefix bgppl; + + import sonic-types { + prefix stypes; + } + + import sonic-extension { + prefix ext; + } + + description "SONIC Device-specfifc BGP prefix lists data"; + + revision 2025-02-17 { + description "Updated description and leafs for PREFIX_LIST_LIST"; + } + + revision 2025-02-05 { + description "Initial revision."; + } + + container sonic-bgp-prefix-list { + + container PREFIX_LIST { + + description "PREFIX_LIST container consumed in BGP"; + + list PREFIX_LIST_LIST { + + description "PREFIX_LIST part of config_db.json with prefix_type and ip-prefix"; + + key "prefix_type ip-prefix"; + + leaf prefix_type { + type string; + description "Prefix type"; + } + + leaf ip-prefix { + type union { + type stypes:sonic-ip4-prefix; + type stypes:sonic-ip6-prefix; + } + } + + leaf family { + + /* family leaf needed for backward compatibility + Both ip4 and ip6 address are string in IETF RFC 6021, + so must statement can check based on : or ., family + should be IPv4 or IPv6 according. + */ + + must "(contains(../ip-prefix, ':') and current()='IPv6') or + (contains(../ip-prefix, '.') and current()='IPv4')"; + type stypes:ip-family; + } + } + } + /* end of PREFIX_LIST */ + } +} diff --git a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang index ef8b74f58f92..7a423b54a6de 100644 --- a/src/sonic-yang-models/yang-models/sonic-device_metadata.yang +++ b/src/sonic-yang-models/yang-models/sonic-device_metadata.yang @@ -157,6 +157,11 @@ module sonic-device_metadata { type string; } + leaf mgmt_type { + type string; + description "Indicates the management type of this device."; + } + leaf cluster { type string; description "The switch is a member of this cluster."; @@ -279,6 +284,12 @@ module sonic-device_metadata { default disabled; } + leaf ring_thread_enabled { + type boolean; + description "Enable gRingMode of OrchDaemon, which would set up its ring thread to accelerate task execution."; + default "false"; + } + } /* end of container localhost */ } diff --git a/src/sonic-yang-models/yang-models/sonic-gnmi.yang b/src/sonic-yang-models/yang-models/sonic-gnmi.yang index d33ea35083dd..389bac7a1257 100644 --- a/src/sonic-yang-models/yang-models/sonic-gnmi.yang +++ b/src/sonic-yang-models/yang-models/sonic-gnmi.yang @@ -85,6 +85,13 @@ module sonic-gnmi { type uint32; description "Certificate revocation list cache expire duration."; } + + leaf user_auth { + type string { + pattern 'password|jwt|cert'; + } + description "GNMI service user authorization type."; + } } } @@ -92,7 +99,6 @@ module sonic-gnmi { description "GNMI client cert list"; list GNMI_CLIENT_CERT_LIST { - max-elements 8; key "cert_cname"; leaf cert_cname { diff --git a/src/sonic-yang-models/yang-models/sonic-telemetry.yang b/src/sonic-yang-models/yang-models/sonic-telemetry.yang index 239f23666dda..825fde053cad 100644 --- a/src/sonic-yang-models/yang-models/sonic-telemetry.yang +++ b/src/sonic-yang-models/yang-models/sonic-telemetry.yang @@ -85,6 +85,13 @@ module sonic-telemetry { type uint32; description "Certificate revocation list cache expire duration."; } + + leaf user_auth { + type string { + pattern 'password|jwt|cert'; + } + description "Telemetry service user authorization type."; + } } } diff --git a/src/sonic-yang-models/yang-models/sonic-vnet.yang b/src/sonic-yang-models/yang-models/sonic-vnet.yang index 9a04105c4e3a..601ea69197df 100644 --- a/src/sonic-yang-models/yang-models/sonic-vnet.yang +++ b/src/sonic-yang-models/yang-models/sonic-vnet.yang @@ -98,7 +98,64 @@ module sonic-vnet { type yang:mac-address; } } + /* end of list VNET_LIST */ } + /* end of container VNET */ + + container VNET_ROUTE_TUNNEL { + + description "ConfigDB VNET_ROUTE_TUNNEL table"; + + list VNET_ROUTE_TUNNEL_LIST { + + key "name"; + + leaf name { + + // Must condition to verify the vnet name before the pipe references a valid VNET + must "substring-before(current(), '|') = /svnet:sonic-vnet/svnet:VNET/svnet:VNET_LIST/svnet:name" + { + error-message "VNET name in the key must reference a valid VNET in the VNET table"; + } + + // Pattern enforce proper format: | + // The IPv4 prefix pattern matches IPv4 CIDR standards (e.g. 192.169.1.0/24) + // VNET name: + // [^|]+ - One or more characters that are not pipes + // | - A pipe separator + // IPv4 address: + // (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3} - First three components with dot + // ([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]) - Last component + // / - Slash for prefix length + // (([1-2][0-9])|(3[0-2])) - Prefix length from 0 to 32 + type string { + pattern "[^|]+[|]((([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2])))"; + } + + description "Combined key of vnet_name|prefix (e.g., 'Vnet1-1|10.0.0.0/24') where + vnet_name must exist in the VNET table and prefix is in IPv4 CIDR format"; + } + + leaf endpoint { + type inet:ipv4-address; + mandatory true; + description "Endpoint/nexthop tunnel IP"; + } + + leaf mac_address { + type yang:mac-address; + description "Inner dest mac in encapsulated packet"; + } + + leaf vxlanid { + type stypes:vnid_type; + description "A valid and active vni value in encapsulated packet"; + } + } + /* end of list VNET_ROUTE_TUNNEL_LIST */ + } + /* end of container VNET_ROUTE_TUNNEL */ } + /* end of container sonic-vnet */ } - +/* end of module sonic-vnet */ \ No newline at end of file