[Ingrasys] Add Ingrasys S8900 series platform (#569)

* Add Ingrasys S8900 series platform

* Add Ingrasys S8900-54XC platform driver
* Add Ingrasys S8900-64XC platform driver
* Reorganized Ingrasys debian package
* Move fancontrol config to device-specific file directory
* QSFP transceivers init on S9100-32X
* Update Thermal Policy in sensors.conf
* Add new Ingrasys S8900 series platform for docker-orchagent/orchagent.sh

Signed-off-by: Wade He <chihen.he@gmail.com>
This commit is contained in:
wadelnn 2017-05-19 02:05:49 +08:00 committed by Shuotian Cheng
parent 8ebf0b0832
commit fb4cd63ac5
27 changed files with 1044 additions and 49 deletions

7
.gitmodules vendored
View File

@ -53,11 +53,10 @@
[submodule "platform/broadcom/sonic-platform-modules-dell"]
path = platform/broadcom/sonic-platform-modules-dell
url = https://github.com/Azure/sonic-platform-modules-dell
[submodule "platform/broadcom/sonic-platform-modules-ingrasys-s9100"]
path = platform/broadcom/sonic-platform-modules-ingrasys-s9100
url = https://github.com/Ingrasys-sonic/sonic-platform-ingrasys-s9100
[submodule "platform/broadcom/sonic-platform-modules-ingrasys"]
path = platform/broadcom/sonic-platform-modules-ingrasys
url = https://github.com/Ingrasys-sonic/sonic-platform-modules-ingrasys
[submodule "src/SAI"]
path = src/SAI
url = https://github.com/opencomputeproject/SAI
branch = v0.9.4

View File

@ -0,0 +1,55 @@
# name lanes alias
Ethernet0 1
Ethernet1 2
Ethernet2 3
Ethernet3 4
Ethernet4 5
Ethernet5 6
Ethernet6 7
Ethernet7 8
Ethernet8 9
Ethernet9 10
Ethernet10 11
Ethernet11 12
Ethernet12 21
Ethernet13 22
Ethernet14 23
Ethernet15 24
Ethernet16 33
Ethernet17 34
Ethernet18 35
Ethernet19 36
Ethernet20 37
Ethernet21 38
Ethernet22 39
Ethernet23 40
Ethernet24 41
Ethernet25 42
Ethernet26 43
Ethernet27 44
Ethernet28 49
Ethernet29 50
Ethernet30 51
Ethernet31 52
Ethernet32 53
Ethernet33 54
Ethernet34 55
Ethernet35 56
Ethernet36 65
Ethernet37 66
Ethernet38 67
Ethernet39 68
Ethernet40 69
Ethernet41 70
Ethernet42 71
Ethernet43 72
Ethernet44 81
Ethernet45 82
Ethernet46 83
Ethernet47 84
Ethernet48 85,86,87,88
Ethernet52 97,98,99,100
Ethernet56 101,102,103,104
Ethernet60 105,106,107,108
Ethernet64 109,110,111,112
Ethernet68 117,118,119,120

View File

@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/etc/bcm/th-s8900-48x25G+6x100G.config.bcm

View File

@ -0,0 +1,12 @@
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon2=devices/pci0000:00/0000:00:1f.3/i2c-0/0-002f
DEVNAME=hwmon2=w83795adg
FCTEMPS=hwmon2/device/pwm2=hwmon2/device/temp2_input hwmon2/device/pwm1=hwmon2/device/temp2_input
#FCFANS=hwmon2/device/pwm2=hwmon2/device/fan8_input+hwmon2/device/fan7_input+hwmon2/device/fan6_input+hwmon2/device/fan5_input hwmon2/device/pwm1=hwmon2/device/fan4_input+hwmon2/device/fan3_input+hwmon2/device/fan2_input+hwmon2/device/fan1_input
FCFANS=hwmon2/device/pwm2=hwmon2/device/fan8_input hwmon2/device/pwm2=hwmon2/device/fan7_input hwmon2/device/pwm2=hwmon2/device/fan6_input hwmon2/device/pwm2=hwmon2/device/fan5_input hwmon2/device/pwm1=hwmon2/device/fan4_input hwmon2/device/pwm1=hwmon2/device/fan3_input hwmon2/device/pwm1=hwmon2/device/fan2_input hwmon2/device/pwm1=hwmon2/device/fan1_input
MINTEMP=hwmon2/device/pwm2=20 hwmon2/device/pwm1=20
MAXTEMP=hwmon2/device/pwm2=60 hwmon2/device/pwm1=60
MINSTART=hwmon2/device/pwm2=75 hwmon2/device/pwm1=75
MINSTOP=hwmon2/device/pwm2=22 hwmon2/device/pwm1=22

View File

@ -0,0 +1,3 @@
CONSOLE_PORT=0x2f8
CONSOLE_DEV=1
CONSOLE_SPEED=115200

View File

@ -0,0 +1,121 @@
<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>
<BGPSession>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.30</StartPeer>
<EndRouter>OCPSCH01040HHLF</EndRouter>
<EndPeer>10.10.1.29</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<StartRouter>OCPSCH0104002MS</StartRouter>
<StartPeer>10.10.2.30</StartPeer>
<EndRouter>OCPSCH01040HHLF</EndRouter>
<EndPeer>10.10.2.29</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
</PeeringSessions>
<Routers xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040HHLF</a:Hostname>
<a:Peers>
<BGPPeer>
<Address>10.10.1.30</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<Address>10.10.2.30</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
</a:Peers>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64542</a:ASN>
<a:Hostname>OCPSCH0104001MS</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64543</a:ASN>
<a:Hostname>OCPSCH0104002MS</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
</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.0.0.10/32</b:IPPrefix>
</a:Prefix>
<a:PrefixStr>100.0.0.10/32</a:PrefixStr>
</a:LoopbackIPInterface>
</LoopbackIPInterfaces>
<ManagementIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
</ManagementIPInterfaces>
<MplsInterfaces/>
<MplsTeInterfaces/>
<RsvpInterfaces/>
<Hostname>OCPSCH01040HHLF</Hostname>
<PortChannelInterfaces/>
<VlanInterfaces/>
<IPInterfaces>
<IPInterface>
<Name i:nil="true"/>
<AttachTo>Ethernet48</AttachTo>
<Prefix>10.10.1.29/30</Prefix>
</IPInterface>
<IPInterface>
<Name i:nil="true"/>
<AttachTo>Ethernet52</AttachTo>
<Prefix>10.10.2.29/30</Prefix>
</IPInterface>
</IPInterfaces>
<DataAcls/>
<AclInterfaces/>
<DownstreamSummaries/>
<DownstreamSummarySet xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
</DeviceDataPlaneInfo>
</DpgDec>
<PngDec>
<DeviceInterfaceLinks>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet48</EndPort>
<StartDevice>OCPSCH01040HHLF</StartDevice>
<StartPort>Ethernet48</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104002MS</EndDevice>
<EndPort>Ethernet0</EndPort>
<StartDevice>OCPSCH01040HHLF</StartDevice>
<StartPort>Ethernet52</StartPort>
</DeviceLinkBase>
</DeviceInterfaceLinks>
<Devices>
<Device i:type="LeafRouter">
<Hostname>OCPSCH01040HHLF</Hostname>
<HwSku>INGRASYS-S8900-54XC</HwSku>
</Device>
</Devices>
</PngDec>
<Hostname>OCPSCH01040HHLF</Hostname>
<HwSku>INGRASYS-S8900-54XC</HwSku>
</DeviceMiniGraph>

View File

@ -0,0 +1,23 @@
#!/usr/bin/env python
#############################################################################
# Dell Z9100
#
# Platform and model specific eeprom subclass, inherits from the base class,
# and provides the followings:
# - the eeprom format definition
# - specific encoder/decoder if there is special need
#############################################################################
try:
from sonic_eeprom import eeprom_tlvinfo
except ImportError, 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 = "/sys/class/i2c-adapter/i2c-17/17-0054/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)

View File

@ -0,0 +1,82 @@
#!/usr/bin/env python
try:
from sonic_sfp.sfputilbase import sfputilbase
except ImportError, e:
raise ImportError (str(e) + "- required module not found")
class sfputil(sfputilbase):
"""Platform specific sfputil class"""
port_start = 0
port_end = 53
ports_in_block = 54
port_to_eeprom_mapping = {}
port_to_i2c_mapping = {
0: 18,
1: 19,
2: 20,
3: 21,
4: 22,
5: 23,
6: 24,
7: 25,
8: 26,
9: 27,
10: 28,
11: 29,
12: 30,
13: 31,
14: 32,
15: 33,
16: 34,
17: 35,
18: 36,
19: 37,
20: 38,
21: 39,
22: 40,
23: 41,
24: 42,
25: 43,
26: 44,
27: 45,
28: 46,
29: 47,
30: 48,
31: 49,
32: 50,
33: 51,
34: 52,
35: 53,
36: 54,
37: 55,
38: 56,
39: 57,
40: 58,
41: 59,
42: 60,
43: 61,
44: 62,
45: 63,
46: 64,
47: 65,
48: 66,
49: 67,
50: 68,
51: 69,
52: 70,
53: 71
}
_qsfp_ports = range(0, ports_in_block + 1)
def __init__(self, port_num):
# Override port_to_eeprom_mapping for class initialization
eeprom_path = '/sys/class/i2c-adapter/i2c-{0}/{0}-0050/eeprom'
for x in range(self.port_start, self.port_end + 1):
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
self.port_to_eeprom_mapping[x] = port_eeprom_path
sfputilbase.__init__(self, port_num)

View File

@ -0,0 +1,39 @@
# libsensors configuration file
chip "i350bb-*"
ignore loc1
chip "jc42-*"
label temp1 "DIMM Temp"
set temp1_max 50
set temp1_crit 85
chip "w83795adg-*"
label in0 "1.0V"
label in1 "1.0V_ROV"
label in2 "1.25V"
label in3 "1.8V"
ignore in4
ignore in5
ignore in6
ignore in7
label in12 "+3.3V"
ignore in14
ignore in15
ignore in16
label fan1 "FANTRAY 1-A"
label fan2 "FANTRAY 1-B"
label fan3 "FANTRAY 2-A"
label fan4 "FANTRAY 2-B"
label fan5 "FANTRAY 3-A"
label fan6 "FANTRAY 3-B"
label fan7 "FANTRAY 4-A"
label fan8 "FANTRAY 4-B"
label temp1 "Front MAC Temp"
set temp1_max 70
set temp1_crit 80
label temp2 "Rear MAC Temp"
set temp1_max 70
set temp1_crit 80
ignore temp3
ignore temp4
ignore intrusion0

View File

@ -0,0 +1,65 @@
# name lanes alias
Ethernet0 17
Ethernet1 18
Ethernet2 19
Ethernet3 20
Ethernet4 24
Ethernet5 23
Ethernet6 22
Ethernet7 21
Ethernet8 28
Ethernet9 27
Ethernet10 26
Ethernet11 25
Ethernet12 32
Ethernet13 31
Ethernet14 30
Ethernet15 29
Ethernet16 1
Ethernet17 2
Ethernet18 3
Ethernet19 4
Ethernet20 8
Ethernet21 7
Ethernet22 6
Ethernet23 5
Ethernet24 12
Ethernet25 11
Ethernet26 10
Ethernet27 9
Ethernet28 13
Ethernet29 14
Ethernet30 15
Ethernet31 16
Ethernet32 33
Ethernet33 34
Ethernet34 35
Ethernet35 36
Ethernet36 38
Ethernet37 39
Ethernet38 40
Ethernet39 37
Ethernet40 41
Ethernet41 42
Ethernet42 43
Ethernet43 44
Ethernet44 48
Ethernet45 45
Ethernet46 46
Ethernet47 47
Ethernet48 49,50,51,52
Ethernet52 53,54,55,56
Ethernet56 57,58,59,60
Ethernet60 61,62,63,64
Ethernet64 65,66,67,68
Ethernet68 69,70,71,72
Ethernet72 73,74,75,76
Ethernet76 77,78,79,80
Ethernet80 81,82,83,84
Ethernet84 85,86,87,88
Ethernet88 89,90,91,92
Ethernet92 93,94,95,96
Ethernet96 97,98,99,100
Ethernet100 101,102,103,104
Ethernet104 105,106,107,108
Ethernet108 109,110,111,112

View File

@ -0,0 +1 @@
SAI_INIT_CONFIG_FILE=/etc/bcm/th-s8900-48x25G+16x100G.config.bcm

View File

@ -0,0 +1,11 @@
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon1=devices/pci0000:00/0000:00:1f.3/i2c-0/0-002f
DEVNAME=hwmon1=w83795adg
FCTEMPS=hwmon1/device/pwm1=hwmon1/device/temp2_input hwmon1/device/pwm2=hwmon1/device/temp2_input
FCFANS=hwmon1/device/pwm2=hwmon1/device/fan10_input hwmon1/device/pwm2=hwmon1/device/fan9_input hwmon1/device/pwm2=hwmon1/device/fan8_input hwmon1/device/pwm2=hwmon1/device/fan7_input hwmon1/device/pwm2=hwmon1/device/fan6_input hwmon1/device/pwm2=hwmon1/device/fan5_input hwmon1/device/pwm1=hwmon1/device/fan4_input hwmon1/device/pwm1=hwmon1/device/fan3_input hwmon1/device/pwm1=hwmon1/device/fan2_input hwmon1/device/pwm1=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

View File

@ -0,0 +1,3 @@
CONSOLE_PORT=0x2f8
CONSOLE_DEV=1
CONSOLE_SPEED=115200

View File

@ -0,0 +1,359 @@
<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>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.2</StartPeer>
<EndRouter>OCPSCH01040AALF</EndRouter>
<EndPeer>10.10.1.1</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.6</StartPeer>
<EndRouter>OCPSCH01040BBLF</EndRouter>
<EndPeer>10.10.1.5</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.10</StartPeer>
<EndRouter>OCPSCH01040CCLF</EndRouter>
<EndPeer>10.10.1.9</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.14</StartPeer>
<EndRouter>OCPSCH01040DDLF</EndRouter>
<EndPeer>10.10.1.13</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.18</StartPeer>
<EndRouter>OCPSCH01040EELF</EndRouter>
<EndPeer>10.10.1.17</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.22</StartPeer>
<EndRouter>OCPSCH01040FFLF</EndRouter>
<EndPeer>10.10.1.21</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.26</StartPeer>
<EndRouter>OCPSCH01040GGLF</EndRouter>
<EndPeer>10.10.1.25</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
<BGPSession>
<ElementType>BGPSession</ElementType>
<StartRouter>OCPSCH0104001MS</StartRouter>
<StartPeer>10.10.1.30</StartPeer>
<EndRouter>OCPSCH01040HHLF</EndRouter>
<EndPeer>10.10.1.29</EndPeer>
<Multihop>1</Multihop>
<HoldTime>10</HoldTime>
<KeepAliveTime>3</KeepAliveTime>
</BGPSession>
</PeeringSessions>
<Routers xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
<a:BGPRouterDeclaration>
<a:ASN>64542</a:ASN>
<a:Hostname>OCPSCH0104001MS</a:Hostname>
<a:Peers>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.2</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.6</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.10</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.14</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.18</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.22</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.26</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
<BGPPeer>
<ElementType>BGPPeer</ElementType>
<Address>10.10.1.30</Address>
<RouteMapIn i:nil="true"/>
<RouteMapOut i:nil="true"/>
</BGPPeer>
</a:Peers>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040AALF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040BBLF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040CCLF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040DDLF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040EELF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040FFLF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040GGLF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
<a:BGPRouterDeclaration>
<a:ASN>64536</a:ASN>
<a:Hostname>OCPSCH01040HHLF</a:Hostname>
<a:RouteMaps/>
</a:BGPRouterDeclaration>
</Routers>
</CpgDec>
<DpgDec>
<DeviceDataPlaneInfo>
<IPSecTunnels/>
<LoopbackIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
<a:LoopbackIPInterface>
<ElementType>LoopbackInterface</ElementType>
<Name>HostIP</Name>
<AttachTo>Loopback0</AttachTo>
<a:Prefix xmlns:b="Microsoft.Search.Autopilot.NetMux">
<b:IPPrefix>100.0.0.1/32</b:IPPrefix>
</a:Prefix>
<a:PrefixStr>100.0.0.1/32</a:PrefixStr>
</a:LoopbackIPInterface>
</LoopbackIPInterfaces>
<ManagementIPInterfaces xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution">
</ManagementIPInterfaces>
<MplsInterfaces/>
<MplsTeInterfaces/>
<RsvpInterfaces/>
<Hostname>OCPSCH0104001MS</Hostname>
<PortChannelInterfaces/>
<VlanInterfaces>
<VlanInterface>
<ElementType>VlanInterface</ElementType>
<Name>Vlan851</Name>
<AttachTo>Ethernet0;Ethernet1;Ethernet2;Ethernet3;Ethernet96;Ethernet100;Ethernet104;Ethernet108</AttachTo>
<NoDhcpRelay>False</NoDhcpRelay>
<StaticDHCPRelay>0.0.0.0/0</StaticDHCPRelay>
<Type i:nil="true"/>
<VlanID>851</VlanID>
<Subnets>10.20.1.0/24</Subnets>
</VlanInterface>
</VlanInterfaces>
<IPInterfaces>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Vlan851</AttachTo>
<Prefix>10.20.1.1/24</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet48</AttachTo>
<Prefix>10.10.1.2/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet52</AttachTo>
<Prefix>10.10.1.6/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet56</AttachTo>
<Prefix>10.10.1.10/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet60</AttachTo>
<Prefix>10.10.1.14/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet64</AttachTo>
<Prefix>10.10.1.18/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet68</AttachTo>
<Prefix>10.10.1.22/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet72</AttachTo>
<Prefix>10.10.1.26/30</Prefix>
</IPInterface>
<IPInterface>
<ElementType>IPInterface</ElementType>
<Name i:nil="true"/>
<AttachTo>Ethernet76</AttachTo>
<Prefix>10.10.1.30/30</Prefix>
</IPInterface>
</IPInterfaces>
<DataAcls/>
<AclInterfaces/>
<DownstreamSummaries/>
<DownstreamSummarySet xmlns:a="http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"/>
</DeviceDataPlaneInfo>
</DpgDec>
<PngDec>
<DeviceInterfaceLinks>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet48</EndPort>
<StartDevice>OCPSCH01040AALF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet52</EndPort>
<StartDevice>OCPSCH01040BBLF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet56</EndPort>
<StartDevice>OCPSCH01040CCLF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet60</EndPort>
<StartDevice>OCPSCH01040DDLF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet64</EndPort>
<StartDevice>OCPSCH01040EELF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet68</EndPort>
<StartDevice>OCPSCH01040FFLF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet72</EndPort>
<StartDevice>OCPSCH01040GGLF</StartDevice>
<StartPort>Ethernet0</StartPort>
</DeviceLinkBase>
<DeviceLinkBase i:type="DeviceInterfaceLink">
<Bandwidth>40000</Bandwidth>
<ElementType>DeviceInterfaceLink</ElementType>
<EndDevice>OCPSCH0104001MS</EndDevice>
<EndPort>Ethernet76</EndPort>
<StartDevice>OCPSCH01040HHLF</StartDevice>
<StartPort>Ethernet48</StartPort>
</DeviceLinkBase>
</DeviceInterfaceLinks>
<Devices>
<Device i:type="ToRRouter">
<Hostname>OCPSCH0104001MS</Hostname>
<HwSku>INGRASYS-S8900-64XC</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>OCPSCH0104001MS</Hostname>
<HwSku>INGRASYS-S8900-64XC</HwSku>
</DeviceMiniGraph>

View File

@ -0,0 +1,23 @@
#!/usr/bin/env python
#############################################################################
# Ingrasys S8900-64XC
#
# Platform and model specific eeprom subclass, inherits from the base class,
# and provides the followings:
# - the eeprom format definition
# - specific encoder/decoder if there is special need
#############################################################################
try:
from sonic_eeprom import eeprom_tlvinfo
except ImportError, 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 = "/sys/class/i2c-adapter/i2c-7/7-0054/eeprom"
super(board, self).__init__(self.eeprom_path, 0, '', True)

View File

@ -0,0 +1,107 @@
#!/usr/bin/env python
import subprocess
try:
from sonic_sfp.sfputilbase import sfputilbase
except ImportError, e:
raise ImportError (str(e) + "- required module not found")
i2c_set = 'i2cset'
cpld_addr = '0x33'
mux_reg = '0x4A'
class sfputil(sfputilbase):
"""Platform specific sfputil class"""
port_start = 0
port_end = 63
ports_in_block = 64
port_to_eeprom_mapping = {}
port_to_i2c_mapping = {
0: [2,1],
1: [2,2],
2: [2,3],
3: [2,4],
4: [2,5],
5: [2,6],
6: [2,7],
7: [2,8],
8: [2,9],
9: [2,10],
10: [2,11],
11: [2,12],
12: [2,13],
13: [2,14],
14: [2,15],
15: [2,16],
16: [2,17],
17: [2,18],
18: [2,19],
19: [2,20],
20: [2,21],
21: [2,22],
22: [2,23],
23: [2,24],
24: [3,1],
25: [3,2],
26: [3,3],
27: [3,4],
28: [3,5],
29: [3,6],
30: [3,7],
31: [3,8],
32: [3,9],
33: [3,10],
34: [3,11],
35: [3,12],
36: [3,13],
37: [3,14],
38: [3,15],
39: [3,16],
40: [3,17],
41: [3,18],
42: [3,19],
43: [3,20],
44: [3,21],
45: [3,22],
46: [3,23],
47: [3,24],
48: [4,1],
49: [4,2],
50: [4,3],
51: [4,4],
52: [4,5],
53: [4,6],
54: [4,7],
55: [4,8],
56: [4,9],
57: [4,10],
58: [4,11],
59: [4,12],
60: [4,13],
61: [4,14],
62: [4,15],
63: [4,16]
}
_qsfp_ports = range(0, ports_in_block + 1)
def __init__(self, port_num):
# Override port_to_eeprom_mapping for class initialization
i2c_bus = self.port_to_i2c_mapping[port_num][0]
sfp_idx = self.port_to_i2c_mapping[port_num][1]
proc = subprocess.Popen([i2c_set, '-y', str(i2c_bus), cpld_addr, mux_reg, str(sfp_idx)],
stdout=subprocess.PIPE,
shell=False,
stderr=subprocess.STDOUT)
stdout = proc.communicate()[0]
proc.wait()
eeprom_path = '/sys/class/i2c-adapter/i2c-{0[0]}/{0[0]}-0050/eeprom'
for x in range(self.port_start, self.port_end + 1):
port_eeprom_path = eeprom_path.format(self.port_to_i2c_mapping[x])
self.port_to_eeprom_mapping[x] = port_eeprom_path
sfputilbase.__init__(self, port_num)

View File

@ -0,0 +1,56 @@
# libsensors configuration file
chip "i350bb-*"
ignore loc1
chip "jc42-*"
label temp1 "DIMM Temp"
set temp1_max 50
set temp1_crit 85
chip "w83795adg-*"
label in0 "1.0V"
label in1 "1.0V_ROV"
label in2 "1.25V"
label in3 "1.8V"
ignore in4
ignore in5
ignore in6
ignore in7
label in12 "+3.3V"
ignore in14
ignore in15
ignore in16
label fan1 "FANTRAY 1-A"
label fan2 "FANTRAY 1-B"
label fan3 "FANTRAY 2-A"
label fan4 "FANTRAY 2-B"
label fan5 "FANTRAY 3-A"
label fan6 "FANTRAY 3-B"
label fan7 "FANTRAY 4-A"
label fan8 "FANTRAY 4-B"
label fan9 "FANTRAY 5-A"
label fan10 "FANTRAY 5-B"
label temp1 "Front MAC Temp"
set temp1_max 60
set temp1_crit 65
label temp2 "Rear MAC Temp"
set temp2_max 60
set temp2_crit 65
label temp3 "Near Port 15"
set temp3_max 50
set temp3_crit 70
label temp4 "Near Port 56"
set temp4_max 50
set temp4_crit 70
ignore intrusion0
bus "i2c-5" "i2c-1-switch (chan_id 3)"
chip "tmp75-i2c-*-48"
label temp1 "FAN Temp1"
set temp1_max 50
set temp1_crit 70
chip "tmp75-i2c-*-49"
label temp1 "FAN Temp2"
set temp1_max 50
set temp1_crit 70

View File

@ -1,33 +1,33 @@
# name lanes alias
Ethernet0 5,6,7,8 Ethernet0
Ethernet4 1,2,3,4 Ethernet4
Ethernet8 13,14,15,16 Ethernet8
Ethernet12 9,10,11,12 Ethernet12
Ethernet16 21,22,23,24 Ethernet16
Ethernet20 17,18,19,20 Ethernet20
Ethernet24 29,30,31,32 Ethernet24
Ethernet28 25,26,27,28 Ethernet28
Ethernet32 37,38,39,40 Ethernet32
Ethernet36 33,34,35,36 Ethernet36
Ethernet40 45,46,47,48 Ethernet40
Ethernet44 41,42,43,44 Ethernet44
Ethernet48 53,54,55,56 Ethernet48
Ethernet52 49,50,51,52 Ethernet52
Ethernet56 61,62,63,64 Ethernet56
Ethernet60 57,58,59,60 Ethernet60
Ethernet64 69,70,71,72 Ethernet64
Ethernet68 65,66,67,68 Ethernet68
Ethernet72 77,78,79,80 Ethernet72
Ethernet76 73,74,75,76 Ethernet76
Ethernet80 85,86,87,88 Ethernet80
Ethernet84 81,82,83,84 Ethernet84
Ethernet88 93,94,95,96 Ethernet88
Ethernet92 89,90,91,92 Ethernet92
Ethernet96 101,102,103,104 Ethernet96
Ethernet100 97,98,99,100 Ethernet100
Ethernet104 109,110,111,112 Ethernet104
Ethernet108 105,106,107,108 Ethernet108
Ethernet112 117,118,119,120 Ethernet112
Ethernet116 113,114,115,116 Ethernet116
Ethernet120 125,126,127,128 Ethernet120
Ethernet124 121,122,123,124 Ethernet124
Ethernet0 5,6,7,8
Ethernet4 1,2,3,4
Ethernet8 13,14,15,16
Ethernet12 9,10,11,12
Ethernet16 21,22,23,24
Ethernet20 17,18,19,20
Ethernet24 29,30,31,32
Ethernet28 25,26,27,28
Ethernet32 37,38,39,40
Ethernet36 33,34,35,36
Ethernet40 45,46,47,48
Ethernet44 41,42,43,44
Ethernet48 53,54,55,56
Ethernet52 49,50,51,52
Ethernet56 61,62,63,64
Ethernet60 57,58,59,60
Ethernet64 69,70,71,72
Ethernet68 65,66,67,68
Ethernet72 77,78,79,80
Ethernet76 73,74,75,76
Ethernet80 85,86,87,88
Ethernet84 81,82,83,84
Ethernet88 93,94,95,96
Ethernet92 89,90,91,92
Ethernet96 101,102,103,104
Ethernet100 97,98,99,100
Ethernet104 109,110,111,112
Ethernet108 105,106,107,108
Ethernet112 117,118,119,120
Ethernet116 113,114,115,116
Ethernet120 125,126,127,128
Ethernet124 121,122,123,124

View File

@ -0,0 +1,12 @@
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon2=devices/pci0000:00/0000:00:1f.3/i2c-0/0-002f
DEVNAME=hwmon2=w83795adg
FCTEMPS=hwmon2/device/pwm2=hwmon2/device/temp2_input hwmon2/device/pwm1=hwmon2/device/temp2_input
#FCFANS=hwmon2/device/pwm2=hwmon2/device/fan8_input+hwmon2/device/fan7_input+hwmon2/device/fan6_input+hwmon2/device/fan5_input hwmon2/device/pwm1=hwmon2/device/fan4_input+hwmon2/device/fan3_input+hwmon2/device/fan2_input+hwmon2/device/fan1_input
FCFANS=hwmon2/device/pwm2=hwmon2/device/fan8_input hwmon2/device/pwm2=hwmon2/device/fan7_input hwmon2/device/pwm2=hwmon2/device/fan6_input hwmon2/device/pwm2=hwmon2/device/fan5_input hwmon2/device/pwm1=hwmon2/device/fan4_input hwmon2/device/pwm1=hwmon2/device/fan3_input hwmon2/device/pwm1=hwmon2/device/fan2_input hwmon2/device/pwm1=hwmon2/device/fan1_input
MINTEMP=hwmon2/device/pwm2=20 hwmon2/device/pwm1=20
MAXTEMP=hwmon2/device/pwm2=60 hwmon2/device/pwm1=60
MINSTART=hwmon2/device/pwm2=75 hwmon2/device/pwm1=75
MINSTOP=hwmon2/device/pwm2=22 hwmon2/device/pwm1=22

View File

@ -29,7 +29,11 @@ chip "w83795adg-*"
label fan7 "FANTRAY 4-A"
label fan8 "FANTRAY 4-B"
label temp1 "Front MAC Temp"
set temp1_max 70
set temp1_crit 80
label temp2 "Rear MAC Temp"
set temp2_max 70
set temp2_crit 80
ignore temp3
ignore temp4
ignore intrusion0

View File

@ -22,6 +22,10 @@ elif [ "$HWSKU" == "AS7512" ]; then
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
elif [ "$HWSKU" == "INGRASYS-S9100-C32" ]; then
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
elif [ "$HWSKU" == "INGRASYS-S8900-54XC" ]; then
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
elif [ "$HWSKU" == "INGRASYS-S8900-64XC" ]; then
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
fi
exec /usr/bin/orchagent ${ORCHAGENT_ARGS}

View File

@ -7,6 +7,8 @@ $(SONIC_ONE_IMAGE)_DEPENDS += $(BRCM_OPENNSL_KERNEL)
$(SONIC_ONE_IMAGE)_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \
$(DELL_Z9100_PLATFORM_MODULE) \
$(DELL_S6100_PLATFORM_MODULE) \
$(INGRASYS_S8900_54XC_PLATFORM_MODULE) \
$(INGRASYS_S8900_64XC_PLATFORM_MODULE) \
$(INGRASYS_S9100_PLATFORM_MODULE)
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)

View File

@ -1,11 +0,0 @@
# Ingrasys S9100 Platform modules
INGRASYS_S9100_PLATFORM_MODULE_VERSION = 1.0.0
export INGRASYS_S9100_PLATFORM_MODULE_VERSION
INGRASYS_S9100_PLATFORM_MODULE = sonic-platform-ingrasys-s9100_$(INGRASYS_S9100_PLATFORM_MODULE_VERSION)_amd64.deb
$(INGRASYS_S9100_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-ingrasys-s9100
$(INGRASYS_S9100_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(INGRASYS_S9100_PLATFORM_MODULE)_PLATFORM = x86_64-ingrasys_s9100-r0
SONIC_DPKG_DEBS += $(INGRASYS_S9100_PLATFORM_MODULE)

View File

@ -0,0 +1,24 @@
# Ingrasys S9100, S8900-64XC and S8900-54XC Platform modules
INGRASYS_S9100_PLATFORM_MODULE_VERSION = 1.1.0
INGRASYS_S8900_64XC_PLATFORM_MODULE_VERSION = 1.1.0
INGRASYS_S8900_54XC_PLATFORM_MODULE_VERSION = 1.1.0
export INGRASYS_S9100_PLATFORM_MODULE_VERSION
export INGRASYS_S8900_64XC_PLATFORM_MODULE_VERSION
export INGRASYS_S8900_54XC_PLATFORM_MODULE_VERSION
INGRASYS_S9100_PLATFORM_MODULE = sonic-platform-ingrasys-s9100_$(INGRASYS_S9100_PLATFORM_MODULE_VERSION)_amd64.deb
$(INGRASYS_S9100_PLATFORM_MODULE)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-modules-ingrasys
$(INGRASYS_S9100_PLATFORM_MODULE)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
$(INGRASYS_S9100_PLATFORM_MODULE)_PLATFORM = x86_64-ingrasys_s9100-r0
SONIC_DPKG_DEBS += $(INGRASYS_S9100_PLATFORM_MODULE)
INGRASYS_S8900_64XC_PLATFORM_MODULE = sonic-platform-ingrasys-s8900-64xc_$(INGRASYS_S8900_64XC_PLATFORM_MODULE_VERSION)_amd64.deb
$(INGRASYS_S8900_64XC_PLATFORM_MODULE)_PLATFORM = x86_64-ingrasys_s8900_64xc-r0
INGRASYS_S8900_54XC_PLATFORM_MODULE = sonic-platform-ingrasys-s8900-54xc_$(INGRASYS_S8900_54XC_PLATFORM_MODULE_VERSION)_amd64.deb
$(INGRASYS_S8900_54XC_PLATFORM_MODULE)_PLATFORM = x86_64-ingrasys_s8900_54xc-r0
$(eval $(call add_extra_package,$(INGRASYS_S9100_PLATFORM_MODULE),$(INGRASYS_S8900_64XC_PLATFORM_MODULE)))
$(eval $(call add_extra_package,$(INGRASYS_S9100_PLATFORM_MODULE),$(INGRASYS_S8900_54XC_PLATFORM_MODULE)))

View File

@ -3,7 +3,7 @@ include $(PLATFORM_PATH)/sai.mk
include $(PLATFORM_PATH)/platform-modules-s6000.mk
include $(PLATFORM_PATH)/platform-modules-dell.mk
include $(PLATFORM_PATH)/platform-modules-arista.mk
include $(PLATFORM_PATH)/platform-modules-ingrasys-s9100.mk
include $(PLATFORM_PATH)/platform-modules-ingrasys.mk
include $(PLATFORM_PATH)/docker-orchagent-brcm.mk
include $(PLATFORM_PATH)/docker-syncd-brcm.mk
include $(PLATFORM_PATH)/docker-syncd-brcm-rpc.mk

@ -0,0 +1 @@
Subproject commit 46f1b3303fecf728b66b88941fa162e91520cc32

@ -1 +0,0 @@
Subproject commit 83d62823d26a6b572bbe11272d00775f8123c199