Merge remote-tracking branch 'github/master' into v1.0.3-backup
This commit is contained in:
commit
a95f062a08
@ -123,6 +123,10 @@ sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-premount/arista-
|
||||
sudo cp files/initramfs-tools/mke2fs $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/mke2fs
|
||||
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/hooks/mke2fs
|
||||
|
||||
# Hook into initramfs: rename the management interfaces on arista switches
|
||||
sudo cp files/initramfs-tools/arista-net $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-premount/arista-net
|
||||
sudo chmod +x $FILESYSTEM_ROOT/etc/initramfs-tools/scripts/init-premount/arista-net
|
||||
|
||||
## Hook into initramfs: after partition mount and loop file mount
|
||||
## 1. Prepare layered file system
|
||||
## 2. Bind-mount docker working directory (docker aufs cannot work over aufs rootfs)
|
||||
|
@ -0,0 +1,33 @@
|
||||
# name lanes alias
|
||||
Ethernet0 37,38,39,40
|
||||
Ethernet4 33,34,35,36
|
||||
Ethernet8 45,46,47,48
|
||||
Ethernet12 41,42,43,44
|
||||
Ethernet16 53,54,55,56
|
||||
Ethernet20 49,50,51,52
|
||||
Ethernet24 61,62,63,64
|
||||
Ethernet28 57,58,59,60
|
||||
Ethernet32 69,70,71,72
|
||||
Ethernet36 65,66,67,68
|
||||
Ethernet40 77,78,79,80
|
||||
Ethernet44 73,74,75,76
|
||||
Ethernet48 85,86,87,88
|
||||
Ethernet52 81,82,83,84
|
||||
Ethernet56 93,94,95,96
|
||||
Ethernet60 89,90,91,92
|
||||
Ethernet64 101,102,103,104
|
||||
Ethernet68 97,98,99,100
|
||||
Ethernet72 109,110,111,112
|
||||
Ethernet76 105,106,107,108
|
||||
Ethernet80 117,118,119,120
|
||||
Ethernet84 113,114,115,116
|
||||
Ethernet88 125,126,127,128
|
||||
Ethernet92 121,122,123,124
|
||||
Ethernet96 5,6,7,8
|
||||
Ethernet100 1,2,3,4
|
||||
Ethernet104 13,14,15,16
|
||||
Ethernet108 9,10,11,12
|
||||
Ethernet112 21,22,23,24
|
||||
Ethernet116 17,18,19,20
|
||||
Ethernet120 29,30,31,32
|
||||
Ethernet124 25,26,27,28
|
@ -0,0 +1 @@
|
||||
SAI_INIT_CONFIG_FILE=/etc/bcm/td2-s8810-32x40G.config.bcm
|
12
device/ingrasys/x86_64-ingrasys_s8810_32q-r0/fancontrol
Normal file
12
device/ingrasys/x86_64-ingrasys_s8810_32q-r0/fancontrol
Normal 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
|
||||
|
@ -0,0 +1,3 @@
|
||||
CONSOLE_PORT=0x2f8
|
||||
CONSOLE_DEV=1
|
||||
CONSOLE_SPEED=115200
|
@ -0,0 +1,45 @@
|
||||
#processor initialization for Ingrasys S8810-32Q
|
||||
|
||||
led 0 stop
|
||||
led 0 prog 12 00 61 F1 12 10 61 F2 12 04 61 F3 12 04 61 F4 67 16 86 F0 77 74 96 F2 2E F1 67 2B 67 3F 16 F3 FE F1 61 F1 12 00 DE F2 74 16 57 2E F1 32 00 32 01 B7 97 75 3A 02 01 60 FE 57 02 00 60 FE 57 2E F1 32 08 97 75 58 77 48 06 FE D2 01 70 50 77 66 06 F0 C2 08 74 58 77 66 16 F4 91 22 0E 87 22 0E 87 DA 00 74 5A 57 16 F4 91 22 0E 87 22 0F 87 DA 00 74 68 57 02 80 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_0_3 REMAP_PORT_3=48 REMAP_PORT_2=49 REMAP_PORT_1=50 REMAP_PORT_0=51
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_4_7 REMAP_PORT_7=52 REMAP_PORT_6=53 REMAP_PORT_5=54 REMAP_PORT_4=55
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_8_11 REMAP_PORT_11=56 REMAP_PORT_10=57 REMAP_PORT_9=58 REMAP_PORT_8=59
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_12_15 REMAP_PORT_15=60 REMAP_PORT_14=61 REMAP_PORT_13=62 REMAP_PORT_12=63
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_16_19 REMAP_PORT_19=44 REMAP_PORT_18=45 REMAP_PORT_17=46 REMAP_PORT_16=47
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_20_23 REMAP_PORT_23=40 REMAP_PORT_22=41 REMAP_PORT_21=42 REMAP_PORT_20=43
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_24_27 REMAP_PORT_27=36 REMAP_PORT_26=37 REMAP_PORT_25=38 REMAP_PORT_24=39
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_28_31 REMAP_PORT_31=32 REMAP_PORT_30=33 REMAP_PORT_29=34 REMAP_PORT_28=35
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_32_35 REMAP_PORT_35=16 REMAP_PORT_34=17 REMAP_PORT_33=18 REMAP_PORT_32=19
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_36_39 REMAP_PORT_39=20 REMAP_PORT_38=21 REMAP_PORT_37=22 REMAP_PORT_36=23
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_40_43 REMAP_PORT_43=24 REMAP_PORT_42=25 REMAP_PORT_41=26 REMAP_PORT_40=27
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_44_47 REMAP_PORT_47=28 REMAP_PORT_46=29 REMAP_PORT_45=30 REMAP_PORT_44=31
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_48_51 REMAP_PORT_51=12 REMAP_PORT_50=13 REMAP_PORT_49=14 REMAP_PORT_48=15
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_52_55 REMAP_PORT_55=8 REMAP_PORT_54=9 REMAP_PORT_53=10 REMAP_PORT_52=11
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_56_59 REMAP_PORT_59=4 REMAP_PORT_58=5 REMAP_PORT_57=6 REMAP_PORT_56=7
|
||||
modreg CMIC_LEDUP0_PORT_ORDER_REMAP_60_63 REMAP_PORT_63=0 REMAP_PORT_62=1 REMAP_PORT_61=2 REMAP_PORT_60=3
|
||||
|
||||
led 0 auto on
|
||||
led 0 start
|
||||
|
||||
led 1 stop
|
||||
led 1 prog 12 00 61 F1 12 10 61 F2 12 04 61 F3 12 04 61 F4 67 16 86 F0 77 74 96 F2 2E F1 67 2B 67 3F 16 F3 FE F1 61 F1 12 00 DE F2 74 16 57 2E F1 32 00 32 01 B7 97 75 3A 02 01 60 FE 57 02 00 60 FE 57 2E F1 32 08 97 75 58 77 48 06 FE D2 01 70 50 77 66 06 F0 C2 08 74 58 77 66 16 F4 91 22 0E 87 22 0E 87 DA 00 74 5A 57 16 F4 91 22 0E 87 22 0F 87 DA 00 74 68 57 02 80 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_0_3 REMAP_PORT_3=48 REMAP_PORT_2=49 REMAP_PORT_1=50 REMAP_PORT_0=51
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_4_7 REMAP_PORT_7=52 REMAP_PORT_6=53 REMAP_PORT_5=54 REMAP_PORT_4=55
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_8_11 REMAP_PORT_11=56 REMAP_PORT_10=57 REMAP_PORT_9=58 REMAP_PORT_8=59
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_12_15 REMAP_PORT_15=60 REMAP_PORT_14=61 REMAP_PORT_13=62 REMAP_PORT_12=63
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_16_19 REMAP_PORT_19=44 REMAP_PORT_18=45 REMAP_PORT_17=46 REMAP_PORT_16=47
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_20_23 REMAP_PORT_23=40 REMAP_PORT_22=41 REMAP_PORT_21=42 REMAP_PORT_20=43
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_24_27 REMAP_PORT_27=36 REMAP_PORT_26=37 REMAP_PORT_25=38 REMAP_PORT_24=39
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_28_31 REMAP_PORT_31=32 REMAP_PORT_30=33 REMAP_PORT_29=34 REMAP_PORT_28=35
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_32_35 REMAP_PORT_35=16 REMAP_PORT_34=17 REMAP_PORT_33=18 REMAP_PORT_32=19
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_36_39 REMAP_PORT_39=20 REMAP_PORT_38=21 REMAP_PORT_37=22 REMAP_PORT_36=23
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_40_43 REMAP_PORT_43=24 REMAP_PORT_42=25 REMAP_PORT_41=26 REMAP_PORT_40=27
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_44_47 REMAP_PORT_47=28 REMAP_PORT_46=29 REMAP_PORT_45=30 REMAP_PORT_44=31
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_48_51 REMAP_PORT_51=12 REMAP_PORT_50=13 REMAP_PORT_49=14 REMAP_PORT_48=15
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_52_55 REMAP_PORT_55=8 REMAP_PORT_54=9 REMAP_PORT_53=10 REMAP_PORT_52=11
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_56_59 REMAP_PORT_59=4 REMAP_PORT_58=5 REMAP_PORT_57=6 REMAP_PORT_56=7
|
||||
modreg CMIC_LEDUP1_PORT_ORDER_REMAP_60_63 REMAP_PORT_63=0 REMAP_PORT_62=1 REMAP_PORT_61=2 REMAP_PORT_60=3
|
||||
|
||||
led 1 auto on
|
||||
led 1 start
|
121
device/ingrasys/x86_64-ingrasys_s8810_32q-r0/minigraph.xml
Normal file
121
device/ingrasys/x86_64-ingrasys_s8810_32q-r0/minigraph.xml
Normal 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>OCPSCH8810MS</EndDevice>
|
||||
<EndPort>Ethernet0</EndPort>
|
||||
<StartDevice>OCPSCH01040HHLF</StartDevice>
|
||||
<StartPort>Ethernet52</StartPort>
|
||||
</DeviceLinkBase>
|
||||
</DeviceInterfaceLinks>
|
||||
<Devices>
|
||||
<Device i:type="LeafRouter">
|
||||
<Hostname>OCPSCH8810HHLF</Hostname>
|
||||
<HwSku>INGRASYS-S8810-32Q</HwSku>
|
||||
</Device>
|
||||
</Devices>
|
||||
</PngDec>
|
||||
<Hostname>OCPSCH01040HHLF</Hostname>
|
||||
<HwSku>INGRASYS-S8810-32Q</HwSku>
|
||||
</DeviceMiniGraph>
|
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#############################################################################
|
||||
# Ingrasys S8810-32Q
|
||||
#
|
||||
# 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):
|
||||
i2c_bus = "12"
|
||||
i2c_addr = "0056"
|
||||
self.eeprom_path = "/sys/class/i2c-adapter/i2c-" + i2c_bus + "/" + i2c_bus + "-" + i2c_addr + "/eeprom"
|
||||
super(board, self).__init__(self.eeprom_path, 0, '', True)
|
@ -0,0 +1,61 @@
|
||||
#!/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 = 31
|
||||
ports_in_block = 32
|
||||
|
||||
port_to_eeprom_mapping = {}
|
||||
#FIXME
|
||||
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
|
||||
}
|
||||
|
||||
_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)
|
47
device/ingrasys/x86_64-ingrasys_s8810_32q-r0/sensors.conf
Normal file
47
device/ingrasys/x86_64-ingrasys_s8810_32q-r0/sensors.conf
Normal file
@ -0,0 +1,47 @@
|
||||
# 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 "ROV"
|
||||
set in0_min 1 * 0.97
|
||||
set in0_max 1 * 1.033
|
||||
ignore in1
|
||||
ignore in2
|
||||
label in3 "1.0V"
|
||||
set in3_min 1 * 0.97
|
||||
set in3_max 1 * 1.03
|
||||
label in4 "1.8V"
|
||||
set in4_min 1.8 * 0.95
|
||||
set in4_max 1.8 * 1.05
|
||||
ignore in5
|
||||
label in6 "5.0V"
|
||||
compute in6 (4)*@, @/(4)
|
||||
set in6_min 5 * 0.95
|
||||
set in6_max 5 * 1.05
|
||||
ignore in7
|
||||
label in12 "3.3V"
|
||||
compute in6 (2)*@, @/(2)
|
||||
set in12_min 3.3 * 0.97
|
||||
set in12_max 3.3 * 1.03
|
||||
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 "MAC Temp"
|
||||
label temp2 "SFP+ Port 1 Temp"
|
||||
label temp3 "SFP+ Port 8 Temp"
|
||||
ignore temp4
|
||||
ignore intrusion0
|
@ -21,6 +21,7 @@ log facility local4
|
||||
router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
|
||||
bgp log-neighbor-changes
|
||||
bgp bestpath as-path multipath-relax
|
||||
no bgp default ipv4-unicast
|
||||
{# TODO: use lo[0] for backward compatibility, will revisit the case with multiple lo interfaces #}
|
||||
bgp router-id {{ minigraph_lo_interfaces[0]['addr'] }}
|
||||
{# advertise loopback #}
|
||||
@ -53,6 +54,12 @@ router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
|
||||
{% if minigraph_devices[inventory_hostname]['type'] == 'ToRRouter' %}
|
||||
neighbor {{ neighbor_addr }} allowas-in 1
|
||||
{% endif %}
|
||||
{% if neighbor_addr | ipv4 %}
|
||||
address-family ipv4
|
||||
neighbor {{ neighbor_addr }} activate
|
||||
maximum-paths 64
|
||||
exit-address-family
|
||||
{% endif %}
|
||||
{% if neighbor_addr | ipv6 %}
|
||||
address-family ipv6
|
||||
neighbor {{ neighbor_addr }} activate
|
||||
|
@ -12,5 +12,10 @@ sonic-cfggen -m /etc/sonic/minigraph.xml -t /usr/share/sonic/templates/unisolate
|
||||
chown root:root /usr/sbin/bgp-unisolate
|
||||
chmod 0755 /usr/sbin/bgp-unisolate
|
||||
|
||||
# If there's an integrated-config file, go ahead and remote it
|
||||
if [ -f /etc/frr/frr.conf ]; then
|
||||
rm -rf /etc/frr/frr.conf
|
||||
fi
|
||||
|
||||
mkdir -p /var/sonic
|
||||
echo "# Config files managed by sonic-config-engine" >/var/sonic/config_status
|
||||
|
@ -15,12 +15,12 @@ enable password zebra
|
||||
{% block interfaces %}
|
||||
! Enable link-detect (default disabled)
|
||||
{% for interface in minigraph_interfaces %}
|
||||
interface {{ interface['alias'] }}
|
||||
interface {{ interface['attachto'] }}
|
||||
link-detect
|
||||
!
|
||||
{% endfor %}
|
||||
{% for interface in minigraph_portchannel_interfaces %}
|
||||
interface {{ interface['name'] }}
|
||||
{% for interface in minigraph_portchannels.keys() %}
|
||||
interface {{ interface }}
|
||||
link-detect
|
||||
!
|
||||
{% endfor %}
|
||||
|
@ -22,10 +22,8 @@ debs/{{ deb }}{{' '}}
|
||||
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
||||
RUN rm -rf /debs
|
||||
|
||||
COPY ["start.sh", "/usr/bin/"]
|
||||
COPY ["bgpcfgd", "/usr/bin/"]
|
||||
COPY ["bgpcfgd", "start.sh", "/usr/bin/"]
|
||||
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
||||
COPY ["*.j2", "/usr/share/sonic/templates/"]
|
||||
COPY ["daemons", "/etc/quagga/"]
|
||||
|
||||
ENTRYPOINT ["/usr/bin/supervisord"]
|
||||
|
@ -46,7 +46,13 @@ router bgp {{ DEVICE_METADATA['localhost']['bgp_asn'] }}
|
||||
{% endif %}
|
||||
{% block vlan_advertisement %}
|
||||
{% for vlan_interface in minigraph_vlan_interfaces %}
|
||||
{% if vlan_interface['addr'] | ipv4 %}
|
||||
network {{ vlan_interface['subnet'] }}
|
||||
{% elif vlan_interface['addr'] | ipv6 %}
|
||||
address-family ipv6
|
||||
network {{ vlan_interface['subnet'] }}
|
||||
exit-address-family
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock vlan_advertisement %}
|
||||
{% block bgp_sessions %}
|
||||
|
@ -1,31 +0,0 @@
|
||||
# This file tells the quagga package which daemons to start.
|
||||
#
|
||||
# Entries are in the format: <daemon>=(yes|no|priority)
|
||||
# 0, "no" = disabled
|
||||
# 1, "yes" = highest priority
|
||||
# 2 .. 10 = lower priorities
|
||||
# Read /usr/share/doc/quagga/README.Debian for details.
|
||||
#
|
||||
# Sample configurations for these daemons can be found in
|
||||
# /usr/share/doc/quagga/examples/.
|
||||
#
|
||||
# ATTENTION:
|
||||
#
|
||||
# When activation a daemon at the first time, a config file, even if it is
|
||||
# empty, has to be present *and* be owned by the user and group "quagga", else
|
||||
# the daemon will not be started by /etc/init.d/quagga. The permissions should
|
||||
# be u=rw,g=r,o=.
|
||||
# When using "vtysh" such a config file is also needed. It should be owned by
|
||||
# group "quaggavty" and set to ug=rw,o= though. Check /etc/pam.d/quagga, too.
|
||||
#
|
||||
# The watchquagga daemon is always started. Per default in monitoring-only but
|
||||
# that can be changed via /etc/quagga/debian.conf.
|
||||
#
|
||||
zebra=yes
|
||||
bgpd=yes
|
||||
ospfd=no
|
||||
ospf6d=no
|
||||
ripd=no
|
||||
ripngd=no
|
||||
isisd=no
|
||||
babeld=no
|
@ -22,7 +22,8 @@ supervisorctl start bgpcfgd
|
||||
|
||||
supervisorctl start rsyslogd
|
||||
|
||||
# Quagga has its own monitor process, 'watchquagga'
|
||||
service quagga start
|
||||
# Start Quagga processes
|
||||
supervisorctl start zebra
|
||||
supervisorctl start bgpd
|
||||
|
||||
supervisorctl start fpmsyncd
|
||||
|
@ -11,9 +11,33 @@ autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
||||
[program:bgpcfgd]
|
||||
command=/usr/bin/bgpcfgd
|
||||
priority=2
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
||||
[program:rsyslogd]
|
||||
command=/usr/sbin/rsyslogd -n
|
||||
priority=2
|
||||
priority=3
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
||||
[program:zebra]
|
||||
command=/usr/lib/quagga/zebra -A 127.0.0.1
|
||||
priority=4
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
||||
[program:bgpd]
|
||||
command=/usr/lib/quagga/bgpd -A 127.0.0.1
|
||||
priority=5
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
@ -21,17 +45,8 @@ stderr_logfile=syslog
|
||||
|
||||
[program:fpmsyncd]
|
||||
command=fpmsyncd
|
||||
priority=3
|
||||
priority=6
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
||||
[program:bgpcfgd]
|
||||
command=/usr/bin/bgpcfgd
|
||||
priority=4
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
||||
|
@ -223,6 +223,7 @@ sudo cp {{src}} $FILESYSTEM_ROOT/{{dst}}
|
||||
|
||||
{% if sonic_asic_platform == "mellanox" %}
|
||||
sudo mkdir -p $FILESYSTEM_ROOT/etc/mlnx/
|
||||
sudo cp target/files/$MLNX_FW $FILESYSTEM_ROOT/etc/mlnx/fw-SPC.mfa
|
||||
sudo cp platform/mellanox/mlnx-fw-upgrade.sh $FILESYSTEM_ROOT/usr/bin/
|
||||
sudo cp target/files/$MLNX_FW_FILE $FILESYSTEM_ROOT/etc/mlnx/fw-SPC.mfa
|
||||
j2 platform/mellanox/mlnx-fw-upgrade.j2 | sudo tee $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
||||
sudo chmod 755 $FILESYSTEM_ROOT/usr/bin/mlnx-fw-upgrade.sh
|
||||
{% endif %}
|
||||
|
61
files/initramfs-tools/arista-net
Normal file
61
files/initramfs-tools/arista-net
Normal file
@ -0,0 +1,61 @@
|
||||
#!/bin/sh
|
||||
|
||||
case $1 in
|
||||
prereqs)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
set -e
|
||||
|
||||
# Extract kernel parameters
|
||||
set -- $(cat /proc/cmdline)
|
||||
items=""
|
||||
for x in "$@"; do
|
||||
case "$x" in
|
||||
Aboot=*)
|
||||
aboot_flag="${x#Aboot=}"
|
||||
;;
|
||||
net_*)
|
||||
item="${x#net_}"
|
||||
items="$items $item"
|
||||
;;
|
||||
platform=*)
|
||||
platform_flag="${x#platform=}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
arista_net_rename() {
|
||||
local device_path="$1"
|
||||
local new_name="$2"
|
||||
local from_name="$3"
|
||||
for path in $(ls -d /sys/class/net/$from_name* 2>/dev/null); do
|
||||
local devid="$(realpath "$path/device")"
|
||||
if echo "$devid" | grep -q "$device_path"; then
|
||||
local cur_name="${path##*/}"
|
||||
ip link set "$cur_name" name "$new_name"
|
||||
return
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Iterate over all the net_maX items found in the cmdline two times.
|
||||
# First time renaming the interfaces to maX.
|
||||
# The second time renaming them to their final name ethX.
|
||||
if [ -n "$aboot_flag" -a "$platform_flag" == 'rook' ]; then
|
||||
for item in $items; do
|
||||
key="${item%=*}"
|
||||
value="${item#*=}"
|
||||
arista_net_rename "$value" "$key" eth
|
||||
done
|
||||
for item in $items; do
|
||||
key="${item%=*}"
|
||||
value="${item#*=}"
|
||||
index="${key#ma}"
|
||||
index="$(( $index - 1 ))"
|
||||
newKey="eth$index"
|
||||
arista_net_rename "$value" "$newKey" ma
|
||||
done
|
||||
fi
|
||||
|
@ -10,6 +10,7 @@ $(SONIC_ONE_IMAGE)_INSTALLS += $(DELL_S6000_PLATFORM_MODULE) \
|
||||
$(INGRASYS_S8900_54XC_PLATFORM_MODULE) \
|
||||
$(INGRASYS_S8900_64XC_PLATFORM_MODULE) \
|
||||
$(INGRASYS_S9100_PLATFORM_MODULE) \
|
||||
$(INGRASYS_S8810_32Q_PLATFORM_MODULE) \
|
||||
$(ACCTON_AS7712_32X_PLATFORM_MODULE) \
|
||||
$(INVENTEC_D7032Q28B_PLATFORM_MODULE) \
|
||||
$(CEL_DX010_PLATFORM_MODULE)
|
||||
|
@ -1,12 +1,14 @@
|
||||
# Ingrasys S9100, S8900-64XC and S8900-54XC Platform modules
|
||||
# Ingrasys S9100, S8900-64XC, S8900-54XC and S8810-32Q 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
|
||||
INGRASYS_S8810_32Q_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
|
||||
export INGRASYS_S8810_32Q_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
|
||||
@ -20,5 +22,9 @@ $(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
|
||||
|
||||
INGRASYS_S8810_32Q_PLATFORM_MODULE = sonic-platform-ingrasys-s8810-32q_$(INGRASYS_S8810_32Q_PLATFORM_MODULE_VERSION)_amd64.deb
|
||||
$(INGRASYS_S8810_32Q_PLATFORM_MODULE)_PLATFORM = x86_64-ingrasys_s8810_32q-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)))
|
||||
$(eval $(call add_extra_package,$(INGRASYS_S9100_PLATFORM_MODULE),$(INGRASYS_S8810_32Q_PLATFORM_MODULE)))
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 50471fdaaa4849c19a97d8623971450f09903d5d
|
||||
Subproject commit 1a67af3caa00352e5e7db880e1eeda0bdf1fde6b
|
17
platform/marvell/docker-orchagent-mrvl.mk
Normal file
17
platform/marvell/docker-orchagent-mrvl.mk
Normal file
@ -0,0 +1,17 @@
|
||||
# docker image for orchagent
|
||||
|
||||
DOCKER_ORCHAGENT_MRVL = docker-orchagent-mrvl.gz
|
||||
$(DOCKER_ORCHAGENT_MRVL)_PATH = $(DOCKERS_PATH)/docker-orchagent
|
||||
$(DOCKER_ORCHAGENT_MRVL)_DEPENDS += $(SWSS) $(REDIS_TOOLS)
|
||||
$(DOCKER_ORCHAGENT_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
||||
SONIC_DOCKER_IMAGES += $(DOCKER_ORCHAGENT_MRVL)
|
||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ORCHAGENT_MRVL)
|
||||
|
||||
$(DOCKER_ORCHAGENT_MRVL)_CONTAINER_NAME = swss
|
||||
$(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += --net=host --privileged -t
|
||||
$(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /etc/network/interfaces:/etc/network/interfaces:ro
|
||||
$(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /etc/network/interfaces.d/:/etc/network/interfaces.d/:ro
|
||||
$(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /host/machine.conf:/host/machine.conf
|
||||
$(DOCKER_ORCHAGENT_MRVL)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
||||
|
||||
$(DOCKER_ORCHAGENT_MRVL)_BASE_IMAGE_FILES += swssloglevel:/usr/bin/swssloglevel
|
15
platform/marvell/docker-syncd-mrvl-rpc.mk
Normal file
15
platform/marvell/docker-syncd-mrvl-rpc.mk
Normal file
@ -0,0 +1,15 @@
|
||||
# docker image for mrvl syncd with rpc
|
||||
|
||||
DOCKER_SYNCD_MRVL_RPC = docker-syncd-mrvl-rpc.gz
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl-rpc
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_DEPENDS += $(SYNCD_RPC) $(LIBTHRIFT)
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_LOAD_DOCKERS += $(DOCKER_SYNCD_MRVL)
|
||||
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
|
||||
ifeq ($(ENABLE_SYNCD_RPC),y)
|
||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL_RPC)
|
||||
endif
|
||||
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_CONTAINER_NAME = syncd
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += --net=host --privileged -t
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||
$(DOCKER_SYNCD_MRVL_RPC)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
2
platform/marvell/docker-syncd-mrvl-rpc/99-syncd.conf
Normal file
2
platform/marvell/docker-syncd-mrvl-rpc/99-syncd.conf
Normal file
@ -0,0 +1,2 @@
|
||||
sysctl -w net.core.rmem_max=509430500
|
||||
|
51
platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2
Normal file
51
platform/marvell/docker-syncd-mrvl-rpc/Dockerfile.j2
Normal file
@ -0,0 +1,51 @@
|
||||
FROM docker-syncd-mrvl
|
||||
|
||||
## Make apt-get non-interactive
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
COPY \
|
||||
{% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
|
||||
debs/{{ deb }}{{' '}}
|
||||
{%- endfor -%}
|
||||
debs/
|
||||
|
||||
RUN dpkg -P syncd
|
||||
|
||||
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
|
||||
{% for deb in docker_syncd_mrvl_rpc_debs.split(' ') -%}
|
||||
dpkg_apt debs/{{ deb }}{{'; '}}
|
||||
{%- endfor %}
|
||||
|
||||
## Pre-install the fundamental packages
|
||||
RUN apt-get update \
|
||||
&& apt-get -y install \
|
||||
net-tools \
|
||||
python-pip \
|
||||
build-essential \
|
||||
libssl-dev \
|
||||
libffi-dev \
|
||||
python-dev \
|
||||
wget \
|
||||
cmake \
|
||||
&& wget https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz \
|
||||
&& tar xvfz 1.0.0.tar.gz \
|
||||
&& cd nanomsg-1.0.0 \
|
||||
&& mkdir -p build \
|
||||
&& cmake . \
|
||||
&& make install \
|
||||
&& ldconfig \
|
||||
&& cd .. \
|
||||
&& rm -fr nanomsg-1.0.0 \
|
||||
&& rm -f 1.0.0.tar.gz \
|
||||
&& pip install cffi==1.7.0 \
|
||||
&& pip install --upgrade cffi==1.7.0 \
|
||||
&& pip install nnpy \
|
||||
&& mkdir -p /opt \
|
||||
&& cd /opt \
|
||||
&& wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
|
||||
&& apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
|
||||
&& rm -rf /root/deps
|
||||
|
||||
COPY ["ptf_nn_agent.conf", "/etc/supervisor/conf.d/"]
|
||||
|
||||
ENTRYPOINT ["/usr/bin/supervisord"]
|
10
platform/marvell/docker-syncd-mrvl-rpc/ptf_nn_agent.conf
Normal file
10
platform/marvell/docker-syncd-mrvl-rpc/ptf_nn_agent.conf
Normal file
@ -0,0 +1,10 @@
|
||||
[program:ptf_nn_agent]
|
||||
command=/usr/bin/python /opt/ptf_nn_agent.py --device-socket 1@tcp://0.0.0.0:10900 -i 1-3@Ethernet12 --set-iface-rcv-buffer=109430400
|
||||
process_name=ptf_nn_agent
|
||||
stdout_logfile=/tmp/ptf_nn_agent.out.log
|
||||
stderr_logfile=/tmp/ptf_nn_agent.err.log
|
||||
redirect_stderr=false
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startsecs=1
|
||||
numprocs=1
|
15
platform/marvell/docker-syncd-mrvl.mk
Normal file
15
platform/marvell/docker-syncd-mrvl.mk
Normal file
@ -0,0 +1,15 @@
|
||||
# docker image for mrvl syncd
|
||||
|
||||
DOCKER_SYNCD_MRVL = docker-syncd-mrvl.gz
|
||||
$(DOCKER_SYNCD_MRVL)_PATH = $(PLATFORM_PATH)/docker-syncd-mrvl
|
||||
$(DOCKER_SYNCD_MRVL)_DEPENDS += $(SYNCD) $(MRVL_FPA) $(REDIS_TOOLS)
|
||||
$(DOCKER_SYNCD_MRVL)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE)
|
||||
SONIC_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL)
|
||||
ifneq ($(ENABLE_SYNCD_RPC),y)
|
||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SYNCD_MRVL)
|
||||
endif
|
||||
|
||||
$(DOCKER_SYNCD_MRVL)_CONTAINER_NAME = syncd
|
||||
$(DOCKER_SYNCD_MRVL)_RUN_OPT += --net=host --privileged -t
|
||||
$(DOCKER_SYNCD_MRVL)_RUN_OPT += -v /host/machine.conf:/etc/machine.conf
|
||||
$(DOCKER_SYNCD_MRVL)_RUN_OPT += -v /etc/sonic:/etc/sonic:ro
|
29
platform/marvell/docker-syncd-mrvl/Dockerfile.j2
Executable file
29
platform/marvell/docker-syncd-mrvl/Dockerfile.j2
Executable file
@ -0,0 +1,29 @@
|
||||
FROM docker-config-engine
|
||||
|
||||
## Make apt-get non-interactive
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN apt-get update
|
||||
|
||||
COPY \
|
||||
{% for deb in docker_syncd_mrvl_debs.split(' ') -%}
|
||||
debs/{{ deb }}{{' '}}
|
||||
{%- endfor -%}
|
||||
debs/
|
||||
|
||||
RUN apt-get -y install libpcap-dev libxml2-dev python-dev swig libsensors4-dev libjemalloc1 nfs-common
|
||||
|
||||
RUN dpkg -i \
|
||||
{% for deb in docker_syncd_mrvl_debs.split(' ') -%}
|
||||
debs/{{ deb }}{{' '}}
|
||||
{%- endfor %}
|
||||
|
||||
COPY ["start.sh", "syncd.sh", "/usr/bin/"]
|
||||
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
||||
|
||||
## Clean up
|
||||
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
||||
RUN rm -rf /debs
|
||||
|
||||
ENTRYPOINT ["/usr/bin/supervisord"]
|
||||
|
8
platform/marvell/docker-syncd-mrvl/start.sh
Executable file
8
platform/marvell/docker-syncd-mrvl/start.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
rm -f /var/run/rsyslogd.pid
|
||||
|
||||
supervisorctl start rsyslogd
|
||||
|
||||
supervisorctl start syncd
|
||||
|
29
platform/marvell/docker-syncd-mrvl/supervisord.conf
Normal file
29
platform/marvell/docker-syncd-mrvl/supervisord.conf
Normal file
@ -0,0 +1,29 @@
|
||||
[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:syncd]
|
||||
command=/usr/bin/syncd_start.sh
|
||||
priority=3
|
||||
autostart=false
|
||||
autorestart=false
|
||||
stdout_logfile=syslog
|
||||
stderr_logfile=syslog
|
||||
|
12
platform/marvell/docker-syncd-mrvl/syncd.sh
Executable file
12
platform/marvell/docker-syncd-mrvl/syncd.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function clean_up {
|
||||
service syncd stop
|
||||
exit
|
||||
}
|
||||
|
||||
trap clean_up SIGTERM SIGKILL
|
||||
|
||||
service syncd start
|
||||
|
||||
read
|
7
platform/marvell/libsaithrift-dev.mk
Normal file
7
platform/marvell/libsaithrift-dev.mk
Normal file
@ -0,0 +1,7 @@
|
||||
# libsaithrift-dev package
|
||||
|
||||
LIBSAITHRIFT_DEV_MRVL = libsaithrift-dev_0.9.4_amd64.deb
|
||||
$(LIBSAITHRIFT_DEV_MRVL)_SRC_PATH = $(SRC_PATH)/SAI
|
||||
$(LIBSAITHRIFT_DEV_MRVL)_DEPENDS += $(LIBTHRIFT) $(LIBTHRIFT_DEV) $(THRIFT_COMPILER) $(MRVL_FPA) $(MRVL_SAI)
|
||||
$(LIBSAITHRIFT_DEV_MRVL)_RDEPENDS += $(LIBTHRIFT) $(MRVL_SAI)
|
||||
SONIC_DPKG_DEBS += $(LIBSAITHRIFT_DEV_MRVL)
|
7
platform/marvell/one-image.mk
Normal file
7
platform/marvell/one-image.mk
Normal file
@ -0,0 +1,7 @@
|
||||
# sonic marvell one image installer
|
||||
|
||||
SONIC_ONE_IMAGE = sonic-marvell.bin
|
||||
$(SONIC_ONE_IMAGE)_MACHINE = marvell
|
||||
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)
|
0
platform/marvell/platform.conf
Normal file
0
platform/marvell/platform.conf
Normal file
6
platform/marvell/python-saithrift.mk
Normal file
6
platform/marvell/python-saithrift.mk
Normal file
@ -0,0 +1,6 @@
|
||||
# python-saithrift package
|
||||
|
||||
PYTHON_SAITHRIFT_MRVL = python-saithrift_0.9.4_amd64.deb
|
||||
$(PYTHON_SAITHRIFT_MRVL)_SRC_PATH = $(SRC_PATH)/SAI
|
||||
$(PYTHON_SAITHRIFT_MRVL)_DEPENDS += $(MRVL_FPA) $(MRVL_SAI) $(THRIFT_COMPILER) $(PYTHON_THRIFT) $(LIBTHRIFT_DEV)
|
||||
SONIC_DPKG_DEBS += $(PYTHON_SAITHRIFT_MRVL)
|
18
platform/marvell/rules.mk
Normal file
18
platform/marvell/rules.mk
Normal file
@ -0,0 +1,18 @@
|
||||
include $(PLATFORM_PATH)/sdk.mk
|
||||
include $(PLATFORM_PATH)/sai.mk
|
||||
include $(PLATFORM_PATH)/docker-syncd-mrvl.mk
|
||||
include $(PLATFORM_PATH)/docker-syncd-mrvl-rpc.mk
|
||||
include $(PLATFORM_PATH)/docker-orchagent-mrvl.mk
|
||||
include $(PLATFORM_PATH)/libsaithrift-dev.mk
|
||||
include $(PLATFORM_PATH)/python-saithrift.mk
|
||||
include $(PLATFORM_PATH)/one-image.mk
|
||||
|
||||
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
||||
$(DOCKER_FPM) \
|
||||
$(DOCKER_SYNCD_MRVL_RPC)
|
||||
|
||||
# Inject mrvl sai into sairedis
|
||||
$(LIBSAIREDIS)_DEPENDS += $(MRVL_FPA) $(MRVL_SAI) $(LIBSAITHRIFT_DEV_MRVL)
|
||||
|
||||
# Runtime dependency on mrvl sai is set only for syncd
|
||||
$(SYNCD)_RDEPENDS += $(MRVL_SAI)
|
9
platform/marvell/sai.mk
Normal file
9
platform/marvell/sai.mk
Normal file
@ -0,0 +1,9 @@
|
||||
# Marvell SAI
|
||||
|
||||
export MRVL_SAI_VERSION = 1.0.1
|
||||
export MRVL_SAI_TAG = SONiC.201705
|
||||
export MRVL_SAI = mrvllibsai_$(MRVL_SAI_VERSION).deb
|
||||
|
||||
$(MRVL_SAI)_SRC_PATH = $(PLATFORM_PATH)/sai
|
||||
$(MRVL_SAI)_DEPENDS += $(MRVL_FPA)
|
||||
SONIC_MAKE_DEBS += $(MRVL_SAI)
|
9
platform/marvell/sai/Makefile
Normal file
9
platform/marvell/sai/Makefile
Normal file
@ -0,0 +1,9 @@
|
||||
.ONESHELL:
|
||||
SHELL = /bin/bash
|
||||
.SHELLFLAGS += -e
|
||||
|
||||
MRVL_SAI_URL = https://github.com/Marvell-switching/SAI-plugin/raw/$(MRVL_SAI_TAG)/sai_deb/$(MRVL_SAI)
|
||||
|
||||
$(addprefix $(DEST)/, $(MRVL_SAI)): $(DEST)/% :
|
||||
# get deb package
|
||||
wget -O $(DEST)/$(MRVL_SAI) $(MRVL_SAI_URL)
|
8
platform/marvell/sdk.mk
Normal file
8
platform/marvell/sdk.mk
Normal file
@ -0,0 +1,8 @@
|
||||
# Marvell FPA
|
||||
|
||||
export MRVL_FPA_VERSION = 1.0.1
|
||||
export MRVL_FPA_TAG = SONiC.201705
|
||||
export MRVL_FPA = mrvllibfpa_$(MRVL_FPA_VERSION).deb
|
||||
|
||||
$(MRVL_FPA)_SRC_PATH = $(PLATFORM_PATH)/sdk
|
||||
SONIC_MAKE_DEBS += $(MRVL_FPA)
|
9
platform/marvell/sdk/Makefile
Normal file
9
platform/marvell/sdk/Makefile
Normal file
@ -0,0 +1,9 @@
|
||||
.ONESHELL:
|
||||
SHELL = /bin/bash
|
||||
.SHELLFLAGS += -e
|
||||
|
||||
MRVL_FPA_URL = https://github.com/Marvell-switching/SAI-plugin/raw/$(MRVL_FPA_TAG)/sdk_deb/$(MRVL_FPA)
|
||||
|
||||
$(addprefix $(DEST)/, $(MRVL_FPA)): $(DEST)/% :
|
||||
# get deb package
|
||||
wget -O $(DEST)/$(MRVL_FPA) $(MRVL_FPA_URL)
|
@ -1,7 +1,9 @@
|
||||
# mellanox firmware
|
||||
|
||||
MLNX_FW = fw-SPC-rel-13_1400_0126-EVB.mfa
|
||||
$(MLNX_FW)_URL = $(MLNX_SDK_BASE_URL)/$(MLNX_FW)
|
||||
SONIC_ONLINE_FILES += $(MLNX_FW)
|
||||
MLNX_FW_VERSION = 13.1400.0126
|
||||
MLNX_FW_FILE = fw-SPC-rel-$(subst .,_,$(MLNX_FW_VERSION))-EVB.mfa
|
||||
$(MLNX_FW_FILE)_URL = $(MLNX_SDK_BASE_URL)/$(MLNX_FW_FILE)
|
||||
SONIC_ONLINE_FILES += $(MLNX_FW_FILE)
|
||||
|
||||
export MLNX_FW
|
||||
export MLNX_FW_VERSION
|
||||
export MLNX_FW_FILE
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
fw_required="{{ MLNX_FW_VERSION }}"
|
||||
query_retry_count_max="10"
|
||||
fw_file=/etc/mlnx/fw-SPC.mfa
|
||||
|
||||
@ -13,7 +14,7 @@ run_or_fail() {
|
||||
|
||||
# wait until devices will be available
|
||||
query_retry_count="0"
|
||||
query_cmd="mlxfwmanager --query -i ${fw_file}"
|
||||
query_cmd="mlxfwmanager --query"
|
||||
${query_cmd} > /dev/null
|
||||
|
||||
while [[ (${query_retry_count} -lt ${query_retry_count_max}) && ($? -ne "0") ]]; do
|
||||
@ -27,7 +28,6 @@ run_or_fail "${query_cmd}" > /tmp/mlnxfwmanager-query.txt
|
||||
# get current firmware version and required version
|
||||
fw_info=$(grep FW /tmp/mlnxfwmanager-query.txt)
|
||||
fw_current=$(echo $fw_info | cut -f2 -d' ')
|
||||
fw_required=$(echo $fw_info | cut -f3 -d' ')
|
||||
|
||||
if [[ -z ${fw_current} ]]; then
|
||||
echo "Could not retreive current FW version."
|
@ -5,5 +5,5 @@ $(SONIC_ONE_IMAGE)_MACHINE = mellanox
|
||||
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
|
||||
$(SONIC_ONE_IMAGE)_DEPENDS += $(SX_KERNEL) $(KERNEL_MFT) $(MFT) $(MLNX_HW_MANAGEMENT)
|
||||
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_IMAGES)
|
||||
$(SONIC_ONE_IMAGE)_FILES += $(MLNX_FW)
|
||||
$(SONIC_ONE_IMAGE)_FILES += $(MLNX_FW_FILE)
|
||||
SONIC_INSTALLERS += $(SONIC_ONE_IMAGE)
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit a97c5e416f8d4c8d6ddd69a7bb6b983527b3c627
|
||||
Subproject commit b386d52bd68bdc5facbd837e265f49a8350e14a1
|
Loading…
Reference in New Issue
Block a user