[arista]: Add platform support for DCS-7170-64C (#1718)
This commit is contained in:
parent
f6fffda7bb
commit
73a2e64d9f
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -77,3 +77,6 @@
|
|||||||
[submodule "platform/broadcom/sonic-platform-modules-mitac"]
|
[submodule "platform/broadcom/sonic-platform-modules-mitac"]
|
||||||
path = platform/broadcom/sonic-platform-modules-mitac
|
path = platform/broadcom/sonic-platform-modules-mitac
|
||||||
url = https://github.com/MiTAC-EBU/sonic-platform-modules-mitac.git
|
url = https://github.com/MiTAC-EBU/sonic-platform-modules-mitac.git
|
||||||
|
[submodule "platform/p4/sonic-platform-modules-arista"]
|
||||||
|
path = platform/p4/sonic-platform-modules-arista
|
||||||
|
url = https://github.com/aristanetworks/sonic
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
# name lanes alias port
|
||||||
|
Ethernet0 444,445,446,447 Ethernet1/1 1
|
||||||
|
Ethernet4 52,53,54,55 Ethernet2/1 2
|
||||||
|
Ethernet8 436,437,438,439 Ethernet3/1 3
|
||||||
|
Ethernet12 432,433,434,435 Ethernet4/1 4
|
||||||
|
Ethernet16 412,413,414,415 Ethernet5/1 5
|
||||||
|
Ethernet20 424,425,426,427 Ethernet6/1 6
|
||||||
|
Ethernet24 404,405,406,407 Ethernet7/1 7
|
||||||
|
Ethernet28 0,1,2,3 Ethernet8/1 8
|
||||||
|
Ethernet32 12,13,14,15 Ethernet9/1 9
|
||||||
|
Ethernet36 8,9,10,11 Ethernet10/1 10
|
||||||
|
Ethernet40 24,25,26,27 Ethernet11/1 11
|
||||||
|
Ethernet44 32,33,34,35 Ethernet12/1 12
|
||||||
|
Ethernet48 44,45,46,47 Ethernet13/1 13
|
||||||
|
Ethernet52 40,41,42,43 Ethernet14/1 14
|
||||||
|
Ethernet56 396,397,398,399 Ethernet15/1 15
|
||||||
|
Ethernet60 392,393,394,395 Ethernet16/1 16
|
||||||
|
Ethernet64 260,261,262,263 Ethernet17/1 17
|
||||||
|
Ethernet68 384,385,386,387 Ethernet18/1 18
|
||||||
|
Ethernet72 180,181,182,183 Ethernet19/1 19
|
||||||
|
Ethernet76 172,173,174,175 Ethernet20/1 20
|
||||||
|
Ethernet80 160,161,162,163 Ethernet21/1 21
|
||||||
|
Ethernet84 164,165,166,167 Ethernet22/1 22
|
||||||
|
Ethernet88 148,149,150,151 Ethernet23/1 23
|
||||||
|
Ethernet92 140,141,142,143 Ethernet24/1 24
|
||||||
|
Ethernet96 272,273,274,275 Ethernet25/1 25
|
||||||
|
Ethernet100 132,133,134,135 Ethernet26/1 26
|
||||||
|
Ethernet104 280,281,282,283 Ethernet27/1 27
|
||||||
|
Ethernet108 284,285,286,287 Ethernet28/1 28
|
||||||
|
Ethernet112 304,305,306,307 Ethernet29/1 29
|
||||||
|
Ethernet116 292,293,294,295 Ethernet30/1 30
|
||||||
|
Ethernet120 312,313,314,315 Ethernet31/1 31
|
||||||
|
Ethernet124 316,317,318,319 Ethernet32/1 32
|
||||||
|
Ethernet128 56,57,58,59 Ethernet33/1 33
|
||||||
|
Ethernet132 60,61,62,63 Ethernet34/1 34
|
||||||
|
Ethernet136 428,429,430,431 Ethernet35/1 35
|
||||||
|
Ethernet140 440,441,442,443 Ethernet36/1 36
|
||||||
|
Ethernet144 420,421,422,423 Ethernet37/1 37
|
||||||
|
Ethernet148 416,417,418,419 Ethernet38/1 38
|
||||||
|
Ethernet152 128,129,130,131 Ethernet39/1 39
|
||||||
|
Ethernet156 408,409,410,411 Ethernet40/1 40
|
||||||
|
Ethernet160 4,5,6,7 Ethernet41/1 41
|
||||||
|
Ethernet164 16,17,18,19 Ethernet42/1 42
|
||||||
|
Ethernet168 28,29,30,31 Ethernet43/1 43
|
||||||
|
Ethernet172 20,21,22,23 Ethernet44/1 44
|
||||||
|
Ethernet176 36,37,38,39 Ethernet45/1 45
|
||||||
|
Ethernet180 48,49,50,51 Ethernet46/1 46
|
||||||
|
Ethernet184 388,389,390,391 Ethernet47/1 47
|
||||||
|
Ethernet188 400,401,402,403 Ethernet48/1 48
|
||||||
|
Ethernet192 256,257,258,259 Ethernet49/1 49
|
||||||
|
Ethernet196 264,265,266,267 Ethernet50/1 50
|
||||||
|
Ethernet200 176,177,178,179 Ethernet51/1 51
|
||||||
|
Ethernet204 184,185,186,187 Ethernet52/1 52
|
||||||
|
Ethernet208 168,169,170,171 Ethernet53/1 53
|
||||||
|
Ethernet212 156,157,158,159 Ethernet54/1 54
|
||||||
|
Ethernet216 144,145,146,147 Ethernet55/1 55
|
||||||
|
Ethernet220 152,153,154,155 Ethernet56/1 56
|
||||||
|
Ethernet224 136,137,138,139 Ethernet57/1 57
|
||||||
|
Ethernet228 268,269,270,271 Ethernet58/1 58
|
||||||
|
Ethernet232 288,289,290,291 Ethernet59/1 59
|
||||||
|
Ethernet236 276,277,278,279 Ethernet60/1 60
|
||||||
|
Ethernet240 296,297,298,299 Ethernet61/1 61
|
||||||
|
Ethernet244 300,301,302,303 Ethernet62/1 62
|
||||||
|
Ethernet248 188,189,190,191 Ethernet63/1 63
|
||||||
|
Ethernet252 308,309,310,311 Ethernet64/1 64
|
||||||
|
Ethernet256 64 Ethernet65 65
|
||||||
|
Ethernet260 65 Ethernet66 66
|
10
device/arista/x86_64-arista_7170_64c/fancontrol
Normal file
10
device/arista/x86_64-arista_7170_64c/fancontrol
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
INTERVAL=5
|
||||||
|
DEVPATH=hwmon1=devices/pci0000:00/0000:00:1c.0/0000:06:00.0/i2c-8/8-004c hwmon3=devices/pci0000:ff/0000:ff:0b.3/i2c-93/93-0060
|
||||||
|
DEVNAME=hwmon1=max6658 hwmon3=rook_cpld
|
||||||
|
FCTEMPS=hwmon3/pwm4=hwmon1/temp1_input hwmon3/pwm3=hwmon1/temp1_input hwmon3/pwm2=hwmon1/temp1_input hwmon3/pwm1=hwmon1/temp1_input
|
||||||
|
FCFANS=hwmon3/pwm4=hwmon3/fan4_input hwmon3/pwm3=hwmon3/fan3_input hwmon3/pwm2=hwmon3/fan2_input hwmon3/pwm1=hwmon3/fan1_input
|
||||||
|
MINTEMP=hwmon3/pwm4=50 hwmon3/pwm3=50 hwmon3/pwm2=50 hwmon3/pwm1=50
|
||||||
|
MINPWM=hwmon3/pwm4=128 hwmon3/pwm3=128 hwmon3/pwm2=128 hwmon3/pwm1=128
|
||||||
|
MAXTEMP=hwmon3/pwm4=60 hwmon3/pwm3=60 hwmon3/pwm2=60 hwmon3/pwm1=60
|
||||||
|
MINSTART=hwmon3/pwm4=128 hwmon3/pwm3=128 hwmon3/pwm2=128 hwmon3/pwm1=128
|
||||||
|
MINSTOP=hwmon3/pwm4=128 hwmon3/pwm3=128 hwmon3/pwm2=128 hwmon3/pwm1=128
|
70
device/arista/x86_64-arista_7170_64c/minigraph.xml
Normal file
70
device/arista/x86_64-arista_7170_64c/minigraph.xml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<DeviceMiniGraph xmlns="Microsoft.Search.Autopilot.Evolution" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<CpgDec>
|
||||||
|
<IsisRouters xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
|
||||||
|
<PeeringSessions>
|
||||||
|
|
||||||
|
</PeeringSessions>
|
||||||
|
<Routers xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
|
||||||
|
|
||||||
|
</Routers>
|
||||||
|
</CpgDec>
|
||||||
|
<DpgDec>
|
||||||
|
<DeviceDataPlaneInfo>
|
||||||
|
<IPSecTunnels/>
|
||||||
|
<LoopbackIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
|
||||||
|
|
||||||
|
<a:LoopbackIPInterface>
|
||||||
|
<Name>HostIP</Name>
|
||||||
|
<AttachTo>Loopback0</AttachTo>
|
||||||
|
<a:Prefix xmlns:b="Microsoft.Search.Autopilot.NetMux">
|
||||||
|
<b:IPPrefix>100.1.0.1/32</b:IPPrefix>
|
||||||
|
</a:Prefix>
|
||||||
|
<a:PrefixStr>100.1.0.1/32</a:PrefixStr>
|
||||||
|
</a:LoopbackIPInterface>
|
||||||
|
|
||||||
|
</LoopbackIPInterfaces>
|
||||||
|
<ManagementIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
|
||||||
|
|
||||||
|
<a:ManagementIPInterface>
|
||||||
|
<Name>ManagementIP1</Name>
|
||||||
|
<AttachTo>Management0</AttachTo>
|
||||||
|
<a:Prefix xmlns:b="Microsoft.Search.Autopilot.NetMux">
|
||||||
|
<b:IPPrefix>172.24.37.166/18</b:IPPrefix>
|
||||||
|
</a:Prefix>
|
||||||
|
<a:PrefixStr>172.24.37.166/18</a:PrefixStr>
|
||||||
|
</a:ManagementIPInterface>
|
||||||
|
|
||||||
|
</ManagementIPInterfaces>
|
||||||
|
<MplsInterfaces/>
|
||||||
|
<MplsTeInterfaces/>
|
||||||
|
<RsvpInterfaces/>
|
||||||
|
<Hostname>sonic</Hostname>
|
||||||
|
<PortChannelInterfaces/>
|
||||||
|
<VlanInterfaces/>
|
||||||
|
<IPInterfaces>
|
||||||
|
|
||||||
|
</IPInterfaces>
|
||||||
|
<DataAcls/>
|
||||||
|
<AclInterfaces/>
|
||||||
|
<DownstreamSummaries/>
|
||||||
|
<DownstreamSummarySet xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
|
||||||
|
</DeviceDataPlaneInfo>
|
||||||
|
</DpgDec>
|
||||||
|
<PngDec>
|
||||||
|
<DeviceInterfaceLinks>
|
||||||
|
|
||||||
|
</DeviceInterfaceLinks>
|
||||||
|
<Devices>
|
||||||
|
<Device i:type="LeafRouter">
|
||||||
|
<Hostname>sonic</Hostname>
|
||||||
|
<HwSku>Arista-7170-64C</HwSku>
|
||||||
|
</Device>
|
||||||
|
</Devices>
|
||||||
|
</PngDec>
|
||||||
|
<MetadataDeclaration>
|
||||||
|
<Devices xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
|
||||||
|
<Properties xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
|
||||||
|
</MetadataDeclaration>
|
||||||
|
<Hostname>sonic</Hostname>
|
||||||
|
<HwSku>Arista-7170-64C</HwSku>
|
||||||
|
</DeviceMiniGraph>
|
8
device/arista/x86_64-arista_7170_64c/plugins/eeprom.py
Normal file
8
device/arista/x86_64-arista_7170_64c/plugins/eeprom.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
try:
|
||||||
|
import arista.utils.sonic_eeprom as arista_eeprom
|
||||||
|
except ImportError as e:
|
||||||
|
raise ImportError("%s - required module not found" % str(e))
|
||||||
|
|
||||||
|
board = arista_eeprom.getTlvInfoDecoder()
|
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
try:
|
||||||
|
import arista.utils.sonic_leds as arista_leds
|
||||||
|
except ImportError as e:
|
||||||
|
raise ImportError("%s - required module not found" % str(e))
|
||||||
|
|
||||||
|
LedControl = arista_leds.getLedControl()
|
12
device/arista/x86_64-arista_7170_64c/plugins/psuutil.py
Normal file
12
device/arista/x86_64-arista_7170_64c/plugins/psuutil.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# psuutil.py
|
||||||
|
#
|
||||||
|
# Platform-specific PSU interface for SONiC
|
||||||
|
#
|
||||||
|
|
||||||
|
try:
|
||||||
|
import arista.utils.sonic_psu as arista_psuutil
|
||||||
|
except ImportError as e:
|
||||||
|
raise ImportError("%s - required module not found" % str(e))
|
||||||
|
|
||||||
|
|
||||||
|
PsuUtil = arista_psuutil.getPsuUtil()
|
8
device/arista/x86_64-arista_7170_64c/plugins/sfputil.py
Normal file
8
device/arista/x86_64-arista_7170_64c/plugins/sfputil.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
try:
|
||||||
|
import arista.utils.sonic_sfputil as arista_sfputil
|
||||||
|
except ImportError as e:
|
||||||
|
raise ImportError("%s - required module not found" % str(e))
|
||||||
|
|
||||||
|
SfpUtil = arista_sfputil.getSfpUtil()
|
53
device/arista/x86_64-arista_7170_64c/sensors.conf
Normal file
53
device/arista/x86_64-arista_7170_64c/sensors.conf
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
# libsensors configuration file for DCS-7260CX3-64
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
|
bus "i2c-6" "SCD 0000:06:00.0 SMBus master 0 bus 5"
|
||||||
|
bus "i2c-7" "SCD 0000:06:00.0 SMBus master 0 bus 6"
|
||||||
|
bus "i2c-8" "SCD 0000:06:00.0 SMBus master 0 bus 7"
|
||||||
|
bus "i2c-81" "SCD 0000:ff:0b.3 SMBus master 0 bus 0"
|
||||||
|
bus "i2c-93" "SCD 0000:ff:0b.3 SMBus master 3 bus 0"
|
||||||
|
bus "i2c-96" "SCD 0000:ff:0b.3 SMBus master 3 bus 3"
|
||||||
|
|
||||||
|
chip "max6658-i2c-8-4c"
|
||||||
|
label temp1 "Temp sensor near ASIC"
|
||||||
|
|
||||||
|
set temp1_max 100
|
||||||
|
set temp1_crit 110
|
||||||
|
|
||||||
|
ignore temp2
|
||||||
|
|
||||||
|
chip "dps1900-i2c-6-58"
|
||||||
|
label temp1 "PSU1 primary hotspot temp"
|
||||||
|
label temp2 "PSU1 inlet temp"
|
||||||
|
label temp3 "PSU1 exhaust temp"
|
||||||
|
|
||||||
|
# setting maximum and critical thresholds is not supported for this psu
|
||||||
|
# fault and warning limits defined internally by hardware
|
||||||
|
|
||||||
|
ignore fan2
|
||||||
|
ignore fan3
|
||||||
|
|
||||||
|
chip "dps1900-i2c-7-58"
|
||||||
|
label temp1 "PSU2 primary hotspot temp"
|
||||||
|
label temp2 "PSU2 inlet temp"
|
||||||
|
label temp3 "PSU2 exhaust temp"
|
||||||
|
|
||||||
|
# setting maximum and critical thresholds is not supported for this psu
|
||||||
|
# fault and warning limits defined internally by hardware
|
||||||
|
|
||||||
|
ignore fan2
|
||||||
|
ignore fan3
|
||||||
|
|
||||||
|
chip "max6658-i2c-81-4c"
|
||||||
|
label temp1 "Rear air temp1"
|
||||||
|
label temp2 "Rear air temp2"
|
||||||
|
|
||||||
|
set temp1_max 50
|
||||||
|
set temp1_crit 60
|
||||||
|
set temp2_max 50
|
||||||
|
set temp2_crit 60
|
||||||
|
|
||||||
|
chip "lm73-i2c-96-48"
|
||||||
|
label temp1 "Front air temp"
|
||||||
|
|
||||||
|
set temp1_max 65
|
@ -169,6 +169,11 @@ platform_specific() {
|
|||||||
aboot_machine=arista_7260cx3_64
|
aboot_machine=arista_7260cx3_64
|
||||||
flash_size=28000
|
flash_size=28000
|
||||||
fi
|
fi
|
||||||
|
if [ "$sid" = "Alhambra" ] || [ "$sid" = "AlhambraSsd" ]; then
|
||||||
|
aboot_machine=arista_7170_64c
|
||||||
|
flash_size=28000
|
||||||
|
echo "hugepages=128" >> /tmp/append
|
||||||
|
fi
|
||||||
if [ "$platform" = "rook" ]; then
|
if [ "$platform" = "rook" ]; then
|
||||||
if [ -x /bin/readprefdl ]; then
|
if [ -x /bin/readprefdl ]; then
|
||||||
readprefdl -f /tmp/.system-prefdl -d > /mnt/flash/.system-prefdl
|
readprefdl -f /tmp/.system-prefdl -d > /mnt/flash/.system-prefdl
|
||||||
@ -176,6 +181,7 @@ platform_specific() {
|
|||||||
cp /etc/prefdl /mnt/flash/.system-prefdl
|
cp /etc/prefdl /mnt/flash/.system-prefdl
|
||||||
chmod a+r /mnt/flash/.system-prefdl
|
chmod a+r /mnt/flash/.system-prefdl
|
||||||
fi
|
fi
|
||||||
|
echo "reassign_prefmem" >> /tmp/append
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $flash_size -ge 28000 ]; then
|
if [ $flash_size -ge 28000 ]; then
|
||||||
|
12
platform/p4/one-aboot.mk
Normal file
12
platform/p4/one-aboot.mk
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# sonic broadcom one image installer
|
||||||
|
|
||||||
|
SONIC_ONE_ABOOT_IMAGE = sonic-aboot-p4.swi
|
||||||
|
$(SONIC_ONE_ABOOT_IMAGE)_MACHINE = p4
|
||||||
|
$(SONIC_ONE_ABOOT_IMAGE)_IMAGE_TYPE = aboot
|
||||||
|
$(SONIC_ONE_ABOOT_IMAGE)_INSTALLS += $(ARISTA_PLATFORM_MODULE_DRIVERS) $(ARISTA_PLATFORM_MODULE_PYTHON2) $(ARISTA_PLATFORM_MODULE_PYTHON3) $(ARISTA_PLATFORM_MODULE)
|
||||||
|
|
||||||
|
# FIXME: this is a temporary workaround for testing the platform driver
|
||||||
|
$(SONIC_ONE_ABOOT_IMAGE)_DOCKERS += docker-platform-monitor.gz
|
||||||
|
# $(SONIC_ONE_ABOOT_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||||
|
|
||||||
|
SONIC_INSTALLERS += $(SONIC_ONE_ABOOT_IMAGE)
|
22
platform/p4/platform-modules-arista.mk
Normal file
22
platform/p4/platform-modules-arista.mk
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Arista Platform modules
|
||||||
|
|
||||||
|
ARISTA_PLATFORM_MODULE_VERSION = 1.0
|
||||||
|
|
||||||
|
export ARISTA_PLATFORM_MODULE_VERSION
|
||||||
|
|
||||||
|
ARISTA_PLATFORM_MODULE = sonic-platform-arista_$(ARISTA_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||||
|
$(ARISTA_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-arista
|
||||||
|
$(ARISTA_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
|
||||||
|
SONIC_MAKE_DEBS += $(ARISTA_PLATFORM_MODULE)
|
||||||
|
|
||||||
|
ARISTA_PLATFORM_MODULE_PYTHON2 = python-sonic-platform-arista_$(ARISTA_PLATFORM_MODULE_VERSION)_all.deb
|
||||||
|
$(eval $(call add_extra_package,$(ARISTA_PLATFORM_MODULE),$(ARISTA_PLATFORM_MODULE_PYTHON2)))
|
||||||
|
|
||||||
|
ARISTA_PLATFORM_MODULE_PYTHON3 = python3-sonic-platform-arista_$(ARISTA_PLATFORM_MODULE_VERSION)_all.deb
|
||||||
|
$(eval $(call add_extra_package,$(ARISTA_PLATFORM_MODULE),$(ARISTA_PLATFORM_MODULE_PYTHON3)))
|
||||||
|
|
||||||
|
ARISTA_PLATFORM_MODULE_DRIVERS = drivers-sonic-platform-arista_$(ARISTA_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||||
|
$(eval $(call add_extra_package,$(ARISTA_PLATFORM_MODULE),$(ARISTA_PLATFORM_MODULE_DRIVERS)))
|
||||||
|
|
||||||
|
export ARISTA_PLATFORM_MODULE ARISTA_PLATFORM_MODULE_PYTHON2 ARISTA_PLATFORM_MODULE_PYTHON3 ARISTA_PLATFORM_MODULE_DRIVERS
|
||||||
|
|
@ -1,4 +1,6 @@
|
|||||||
# include $(PLATFORM_PATH)/p4-softswitch.mk
|
# include $(PLATFORM_PATH)/p4-softswitch.mk
|
||||||
|
include $(PLATFORM_PATH)/platform-modules-arista.mk
|
||||||
|
include $(PLATFORM_PATH)/one-aboot.mk
|
||||||
include $(PLATFORM_PATH)/tenjin.mk
|
include $(PLATFORM_PATH)/tenjin.mk
|
||||||
include $(PLATFORM_PATH)/p4-hlir.mk
|
include $(PLATFORM_PATH)/p4-hlir.mk
|
||||||
include $(PLATFORM_PATH)/p4c-bm.mk
|
include $(PLATFORM_PATH)/p4c-bm.mk
|
||||||
|
1
platform/p4/sonic-platform-modules-arista
Submodule
1
platform/p4/sonic-platform-modules-arista
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 02b22ae91135d4e4a9e11e06656dcff3056e2c7f
|
Loading…
Reference in New Issue
Block a user