Commit Graph

86 Commits

Author SHA1 Message Date
Dmytro Shevchuk
d8627e6414
[yang] update yang model, add autoneg to sonic-port (#5963)
Dynamic Port Breakout fall in case "autoneg" field exist in config_db.

- How I did it
Added "autoneg" field in sonic-port yang model.

- How to verify it
Add "autoneg" field into config_db like this:

"Ethernet8": {
    "index": "2", 
    "lanes": "8,9,10,11", 
    "fec": "rs", 
    "pfc_asym": "off", 
    "mtu": "9100", 
    "alias": "Ethernet8", 
    "admin_status": "up", 
    "autoneg": "on", 
    "speed": "100000",
},
2021-03-30 08:27:58 -07:00
Wirut Getbamrung
6ae2cb5607
[device/celestica]: Add xcvrd event support for Haliburton (#6517)
#### Why I did it
- The xcvrd service requires an event detection function, unplug or plug in the transceiver.

#### How I did it
- Add sysfs interrupt to notify userspace app of external interrupt
- Implement get_change_event() in chassis api.
- Also begin installing Python 3 sonic-platform package for Celestica platforms
2021-03-08 10:10:11 -08:00
Sangita Maity
18263c99dd
[DPB|master] Update Dynamic Port Breakout Logic for flexible alias support a… (#6831)
To fix [DPB| wrong aliases for interfaces](https://github.com/Azure/sonic-buildimage/issues/6024) issue, implimented flexible alias support [design doc](https://github.com/Azure/SONiC/pull/749)

> [[dpb|config] Fix the validation logic of breakout mode](https://github.com/Azure/sonic-utilities/pull/1440) depends on this

#### How I did it

1. Removed `"alias_at_lanes"` from port-configuration file(i.e. platfrom.json) 
2. Added dictionary to "breakout_modes" values. This defines the breakout modes available on the platform for this parent port, and it maps to the alias list. The alias list presents the alias names for individual ports in order under this breakout mode.
```
{
    "interfaces": {
        "Ethernet0": {
            "index": "1,1,1,1",
            "lanes": "0,1,2,3",
            "breakout_modes": {
                "1x100G[40G]": ["Eth1"],
                "2x50G": ["Eth1/1", "Eth1/2"],
                "4x25G[10G]": ["Eth1/1", "Eth1/2", "Eth1/3", "Eth1/4"],
                "2x25G(2)+1x50G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"],
                "1x50G(2)+2x25G(2)": ["Eth1/1", "Eth1/2", "Eth1/3"]
            }
        }
}
```
#### How to verify it
`config interface breakout`

Signed-off-by: Sangita Maity <samaity@linkedin.com>
2021-02-26 00:13:33 -08:00
Joe LeVeque
c6178259fc
[Celestica] Ensure concrete platform API classes call base class initializer (#6852)
In preparation for the merging of Azure/sonic-platform-common#173, which properly defines class and instance members in the Platform API base classes.

It is proper object-oriented methodology to call the base class initializer, even if it is only the default initializer. This also future-proofs the potential addition of custom initializers in the base classes down the road.
2021-02-25 11:20:53 -08:00
Sujin Kang
d5238ae8dd
[pcie.yaml] Move pcie configuration file path to platform directory (#6475)
- Why I did it
The pcie configuration file location is under plugin directory not under platform directory.
#6437

- How I did it

Move all pcie.yaml configuration file from plugin to platform directory.
Remove unnecessary timer to start pcie-check.service
Move pcie-check.service to sonic-host-services
- How to verify it
Verify on the device
2021-02-21 08:27:37 -08:00
Joe LeVeque
18f2c5cfdd
[platform] Update QSFP method name 'parse_qsfp_dom_capability' -> 'parse_dom_capability' (#6695)
**- Why I did it**
PR https://github.com/Azure/sonic-platform-common/pull/102 modified the name of the SFF-8436 (QSFP) method to align the method name between all drivers, renaming it from `parse_qsfp_dom_capability` to `parse_dom_capability`. Once the submodule was updated, the callers using the old nomenclature broke. This PR updates all callers to use the new naming convention.

**- How I did it**

Update the name of the function globally for all calls into the SFF-8436 driver.

Note that the QSFP-DD driver still uses the old nomenclature and should be modified similarly. I will open a PR to handle this separately.
2021-02-05 14:41:05 -08:00
gechiang
c98e8d6690
[BCM Config] Update TD3 bcm.config files to use ISSU capable premium CANCUN 6.4.1 (#6651) 2021-02-02 21:48:26 -08:00
Mahesh Maddikayala
908884b0e8
[broadcom]: Add BCM config variable that contains premier cancun firmware path (#6611)
BRCM SDK 6.5.21 includes firmware updates (premier cancun) for TD3 platforms. The firmware update is required on TD3 platforms, which is packaged with BCMSAI 4.3.0.10.

**- How I did it**

Updated BCM config with a new variable that specifies the firmware package path. SDK uses this path to locate firmware packages and load during cold boot.

**- How to verify it**

 
bsv
BRCM SAI ver: [4.3.0.10], OCP SAI ver: [1.7.1], SDK ver: [sdk-6.5.21] CANCUN ver: [5.3.3]
drivshell>
admin@str2-7050cx3-acs-02:~$ bcmsh
Press Enter to show prompt.
Press Ctrl+C to exit.
NOTICE: Only one bcmsh or bcmcmd can connect to the shell at same time.
 
 
drivshell>cancun stat
cancun stat
UNIT0 CANCUN:
        CIH: LOADED
        Ver: 06.06.01
 
        CMH: LOADED
        Ver: 06.06.01
        SDK Ver: 06.05.21
 
        CCH: LOADED
       Ver: 06.06.01
        SDK Ver: 06.05.21
 
        CEH: LOADED
        Ver: 06.06.01
        SDK Ver: 06.05.21
 
drivshell>
2021-01-30 14:41:17 -08:00
Wirut Getbamrung
0ca343422d
[device/celestica]: Add thermalctld support on DX010 platform APIs (#6089)
**- Why I did it**
- The thermalctld daemon on the Pmon docker requires support from the thermal manager API.

**- How I did it**
- Removed the old function for detecting a faulty fan.
- Removed the old function for detecting excess temperature.
- Implement thermal_manager APIs based on ThermalManagerBase
- Implement thermal_conditions APIs based on ThermalPolicyConditionBase
- Implement thermal_actions APIs based on ThermalPolicyActionBase
- Implement thermal_info APIs based on ThermalPolicyInfoBase
- Add thermal_policy.json
2021-01-15 10:20:47 -08:00
Wirut Getbamrung
4257c792a2
[device/celestica]: Add xcvrd event support for Seastone-DX010 (#5896)
- Add sysfs interrupt to notify userspace app of external interrupt
- Implement get_change_event() in chassis api.
2020-12-14 10:22:56 -08:00
bingwang-ms
49804c64b6
[celestica/dx010]: Fix incorrect path for voltage, current and power. (#6128)
Fixes #6126.

There is a bug in getting the path of voltage, current and power. The
list object is directly converted to string to format the file path. As
a result, read_txt_file will get None value and a WARNING will be
recorded. This commit fix the issue.

Signed-off-by: bingwang <bingwang@microsoft.com>
2020-12-04 13:41:20 -08:00
Joe LeVeque
7f4ab8fbd8
[sonic-utilities] Update submodule; Build and install as a Python 3 wheel (#5926)
Submodule updates include the following commits:

* src/sonic-utilities 9dc58ea...f9eb739 (18):
  > Remove unnecessary calls to str.encode() now that the package is Python 3; Fix deprecation warning (#1260)
  > [generate_dump] Ignoring file/directory not found Errors (#1201)
  > Fixed porstat rate and util issues (#1140)
  > fix error: interface counters is mismatch after warm-reboot (#1099)
  > Remove unnecessary calls to str.decode() now that the package is Python 3 (#1255)
  > [acl-loader] Make list sorting compliant with Python 3 (#1257)
  > Replace hard-coded fast-reboot with variable. And some typo corrections (#1254)
  > [configlet][portconfig] Remove calls to dict.has_key() which is not available in Python 3 (#1247)
  > Remove unnecessary conversions to list() and calls to dict.keys() (#1243)
  > Clean up LGTM alerts (#1239)
  > Add 'requests' as install dependency in setup.py (#1240)
  > Convert to Python 3 (#1128)
  > Fix mock SonicV2Connector in python3: use decode_responses mode so caller code will be the same as python2 (#1238)
  > [tests] Do not trim from PATH if we did not append to it; Clean up/fix shebangs in scripts (#1233)
  > Updates to bgp config and show commands with BGP_INTERNAL_NEIGHBOR table (#1224)
  > [cli]: NAT show commands newline issue after migrated to Python3 (#1204)
  > [doc]: Update Command-Reference.md (#1231)
  > Added 'import sys' in feature.py file (#1232)

* src/sonic-py-swsssdk 9d9f0c6...1664be9 (2):
  > Fix: no need to decode() after redis client scan, so it will work for both python2 and python3 (#96)
  > FieldValueMap `contains`(`in`)  will also work when migrated to libswsscommon(C++ with SWIG wrapper) (#94)

- Also fix Python 3-related issues:
    - Use integer (floor) division in config_samples.py (sonic-config-engine)
    - Replace print statement with print function in eeprom.py plugin for x86_64-kvm_x86_64-r0 platform
    - Update all platform plugins to be compatible with both Python 2 and Python 3
    - Remove shebangs from plugins files which are not intended to be executable
    - Replace tabs with spaces in Python plugin files and fix alignment, because Python 3 is more strict
    - Remove trailing whitespace from plugins files
2020-11-25 10:28:36 -08:00
Lawrence Lee
d0f16c0d79
Make backend device checking more robust (#5730)
Treat devices that are ToRRouters (ToRRouters and BackEndToRRouters) the same when rendering templates
 Except for BackEndToRRouters belonging to a storage cluster, since these devices have extra sub-interfaces created
Treat devices that are LeafRouters (LeafRouters and BackEndLeafRouters) the same when rendering templates

Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
2020-11-10 15:06:35 -08:00
Joe LeVeque
8011edc307
[platform] Remove references to deprecated get_serial_number() method in Chassis class (#5649)
The `get_serial_number()` method in the ChassisBase and ModuleBase classes was redundant, as the `get_serial()` method is inherited from the DeviceBase class. This method was removed from the base classes in sonic-platform-common and the submodule was updated in https://github.com/Azure/sonic-buildimage/pull/5625.

This PR aligns the existing vendor platform API implementations to remove the `get_serial_number()` methods and ensure the `get_serial()` methods are implemented, if they weren't previously.

Note that this PR does not modify the Dell platform API implementations, as this will be handled as part of https://github.com/Azure/sonic-buildimage/pull/5609
2020-10-17 22:00:14 -07:00
abdosi
a6a10f05b7
In SAI 3.5 by default we are supporting 256 Group with 64 Memeber each. (#5400)
However in SAI 3.7 default behaviout got changes to 128 Group and 128
    Memeber each.

    This change is to make sure we are using same ECMP Group/Memeber Per
    Group for 3.7 also so that behaviour is consistent.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2020-09-22 11:21:12 -07:00
zhenggen-xu
f18b612ff9
[DPB Seastone] On boarding DPB feature to Seastone HWSKUs (#4235)
This include the platform.json for Seastone platform and
individual hwsku.json for each HWSKU

port_config.ini will be removed once the CLI/parser library etc changes are merged

**- What I did**
On boarding DPB feature to Seastone HWSKUs

**- How I did it**
Add platform.json for Seastone and hwsku.json files to relevant HWSKUs.

**- How to verify it**
```
sudo sonic-cfggen -H -k Seastone-DX010 --preset=t1 > config_db.json
sudo config reload config_db.json -y

show interface status:

admin@lnos-x1-a-csw03:~$ show interfaces status 
  Interface            Lanes    Speed    MTU    FEC    Alias    Vlan    Oper    Admin    Type    Asym PFC
-----------  ---------------  -------  -----  -----  -------  ------  ------  -------  ------  ----------
  Ethernet0      65,66,67,68     100G   9100    N/A   Eth1/1  routed    down       up     N/A         N/A
  Ethernet4      69,70,71,72     100G   9100    N/A   Eth2/1  routed    down       up     N/A         N/A
  Ethernet8      73,74,75,76     100G   9100    N/A   Eth3/1  routed    down       up     N/A         N/A
 Ethernet12      77,78,79,80     100G   9100    N/A   Eth4/1  routed    down       up     N/A         N/A
 Ethernet16      33,34,35,36     100G   9100    N/A   Eth5/1  routed    down       up     N/A         N/A
 Ethernet20      37,38,39,40     100G   9100    N/A   Eth6/1  routed    down       up     N/A         N/A
 Ethernet24      41,42,43,44     100G   9100    N/A   Eth7/1  routed    down       up     N/A         N/A
 Ethernet28      45,46,47,48     100G   9100    N/A   Eth8/1  routed    down       up     N/A         N/A
 Ethernet32      49,50,51,52     100G   9100    N/A   Eth9/1  routed    down       up     N/A         N/A
 Ethernet36      53,54,55,56     100G   9100    N/A  Eth10/1  routed    down       up     N/A         N/A
 Ethernet40      57,58,59,60     100G   9100    N/A  Eth11/1  routed    down       up     N/A         N/A
 Ethernet44      61,62,63,64     100G   9100    N/A  Eth12/1  routed    down       up     N/A         N/A
 Ethernet48      81,82,83,84     100G   9100    N/A  Eth13/1  routed    down       up     N/A         N/A
 Ethernet52      85,86,87,88     100G   9100    N/A  Eth14/1  routed    down       up     N/A         N/A
 Ethernet56      89,90,91,92     100G   9100    N/A  Eth15/1  routed    down       up     N/A         N/A
 Ethernet60      93,94,95,96     100G   9100    N/A  Eth16/1  routed    down       up     N/A         N/A
 Ethernet64     97,98,99,100     100G   9100    N/A  Eth17/1  routed    down       up     N/A         N/A
 Ethernet68  101,102,103,104     100G   9100    N/A  Eth18/1  routed    down       up     N/A         N/A
 Ethernet72  105,106,107,108     100G   9100    N/A  Eth19/1  routed      up       up     N/A         N/A
 Ethernet76  109,110,111,112     100G   9100    N/A  Eth20/1  routed    down       up     N/A         N/A
 Ethernet80          1,2,3,4     100G   9100    N/A  Eth21/1  routed    down       up     N/A         N/A
 Ethernet84          5,6,7,8     100G   9100    N/A  Eth22/1  routed    down       up     N/A         N/A
 Ethernet88       9,10,11,12     100G   9100    N/A  Eth23/1  routed    down       up     N/A         N/A
 Ethernet92      13,14,15,16     100G   9100    N/A  Eth24/1  routed    down       up     N/A         N/A
 Ethernet96      17,18,19,20     100G   9100    N/A  Eth25/1  routed    down       up     N/A         N/A
Ethernet100      21,22,23,24     100G   9100    N/A  Eth26/1  routed    down       up     N/A         N/A
Ethernet104      25,26,27,28     100G   9100    N/A  Eth27/1  routed    down       up     N/A         N/A
Ethernet108      29,30,31,32     100G   9100    N/A  Eth28/1  routed    down       up     N/A         N/A
Ethernet112  113,114,115,116     100G   9100    N/A  Eth29/1  routed    down       up     N/A         N/A
Ethernet116  117,118,119,120     100G   9100    N/A  Eth30/1  routed    down       up     N/A         N/A
Ethernet120  121,122,123,124     100G   9100    N/A  Eth31/1  routed    down       up     N/A         N/A
Ethernet124  125,126,127,128     100G   9100    N/A  Eth32/1  routed    down       up     N/A         N/A

```

**Breakout to 2x50G:**
```
admin@lnos-x1-a-csw03:~$ sudo config interface breakout Ethernet0 2x50G -y -f

Running Breakout Mode : 1x100G[40G] 
Target Breakout Mode : 2x50G

Ports to be deleted : 
 {
    "Ethernet0": "100000"
}
Ports to be added : 
 {
    "Ethernet2": "50000", 
    "Ethernet0": "50000"
}

After running Logic to limit the impact

Final list of ports to be deleted : 
 {
    "Ethernet0": "100000"
} 
Final list of ports to be added :  
 {
    "Ethernet2": "50000", 
    "Ethernet0": "50000"
}
Loaded below Yang Models
['sonic-acl', 'sonic-extension', 'sonic-interface', 'sonic-loopback-interface', 'sonic-port', 'sonic-portchannel', 'sonic-types', 'sonic-vlan']
Note: Below table(s) have no YANG models:
CONTAINER_FEATURE, BGP_NEIGHBOR, VERSIONS, DEVICE_METADATA, FEATURE, LOCK, BREAKOUT_CFG, CRM, 
Below Config can not be verified, It may cause harm to the system
 {
  "BREAKOUT_CFG": {
    "Ethernet0": {
      "brkout_mode": "1x100G[40G]"
    }
  }
}
Do you wish to Continue? [y/N]: y
Breakout process got successfully completed.
Please note loaded setting will be lost after system reboot. To preserve setting, run `config save`.
admin@lnos-x1-a-csw03:~$ 
admin@lnos-x1-a-csw03:~$ 
admin@lnos-x1-a-csw03:~$ show interfaces status 
  Interface            Lanes    Speed    MTU    FEC    Alias    Vlan    Oper    Admin    Type    Asym PFC
-----------  ---------------  -------  -----  -----  -------  ------  ------  -------  ------  ----------
  Ethernet0            65,66      50G    N/A    N/A   Eth1/1  routed    down       up     N/A         N/A
  Ethernet2            67,68      50G   9100    N/A   Eth1/3  routed    down       up     N/A         N/A
  
admin@lnos-x1-a-csw03:~$ bcmcmd ps
ps
                 ena/        speed/ link auto    STP                  lrn  inter   max   cut   loop
           port  link  Lns   duplex scan neg?   state   pause  discrd ops   face frame  thru?  back
       xe0( 68)  down   2   50G  FD   SW  No   Forward          None   FA    KR2  9412    No      
       xe1( 69)  !ena   1     -       SW  No   Forward          None   FA   None  9122    No      

```

**Breakout to 4x25G[10G]:**
```
admin@lnos-x1-a-csw03:~$ sudo config interface breakout Ethernet0 4x25G[10G] -y -f

Running Breakout Mode : 2x50G 
Target Breakout Mode : 4x25G[10G]

Ports to be deleted : 
 {
    "Ethernet2": "50000", 
    "Ethernet0": "50000"
}
Ports to be added : 
 {
    "Ethernet2": "25000", 
    "Ethernet3": "25000", 
    "Ethernet0": "25000", 
    "Ethernet1": "25000"
}

After running Logic to limit the impact

Final list of ports to be deleted : 
 {
    "Ethernet2": "50000", 
    "Ethernet0": "50000"
} 
Final list of ports to be added :  
 {
    "Ethernet2": "25000", 
    "Ethernet3": "25000", 
    "Ethernet0": "25000", 
    "Ethernet1": "25000"
}
Loaded below Yang Models
['sonic-acl', 'sonic-extension', 'sonic-interface', 'sonic-loopback-interface', 'sonic-port', 'sonic-portchannel', 'sonic-types', 'sonic-vlan']
Note: Below table(s) have no YANG models:
CONTAINER_FEATURE, BGP_NEIGHBOR, VERSIONS, DEVICE_METADATA, FEATURE, LOCK, BREAKOUT_CFG, CRM, 
Below Config can not be verified, It may cause harm to the system
 {
  "BREAKOUT_CFG": {
    "Ethernet0": {
      "brkout_mode": "2x50G"
    }
  }
}
Do you wish to Continue? [y/N]: y
Breakout process got successfully completed.
Please note loaded setting will be lost after system reboot. To preserve setting, run `config save`.

admin@lnos-x1-a-csw03:~$ show interfaces status 
  Interface            Lanes    Speed    MTU    FEC    Alias    Vlan    Oper    Admin    Type    Asym PFC
-----------  ---------------  -------  -----  -----  -------  ------  ------  -------  ------  ----------
  Ethernet0               65      25G    N/A    N/A   Eth1/1  routed    down       up     N/A         N/A
  Ethernet1               66      25G   9100    N/A   Eth1/2  routed    down       up     N/A         N/A
  Ethernet2               67      25G    N/A    N/A   Eth1/3  routed    down       up     N/A         N/A
  Ethernet3               68      25G   9100    N/A   Eth1/4  routed    down       up     N/A         N/A

admin@lnos-x1-a-csw03:~$ bcmcmd ps
ps
                 ena/        speed/ link auto    STP                  lrn  inter   max   cut   loop
           port  link  Lns   duplex scan neg?   state   pause  discrd ops   face frame  thru?  back
       xe0( 68)  down   1   25G  FD   SW  No   Forward          None   FA     KR  9412    No      
       xe1( 69)  down   1   25G  FD   SW  No   Forward          None   FA     KR  9122    No      
       xe2( 70)  down   1   25G  FD   SW  No   Forward          None   FA     KR  9412    No      
       xe3( 71)  down   1   25G  FD   SW  No   Forward          None   FA     KR  9122    No   

```

**Breakin back to 1x100G[40G]:**
```
admin@lnos-x1-a-csw03:~$ sudo config interface breakout Ethernet0 1x10G[40G] -y -f
[ERROR] Target mode 1x10G[40G] is not available for the port Ethernet0
Aborted!
admin@lnos-x1-a-csw03:~$ sudo config interface breakout Ethernet0 1x100G[40G] -y -f

Running Breakout Mode : 4x25G[10G] 
Target Breakout Mode : 1x100G[40G]

Ports to be deleted : 
 {
    "Ethernet2": "25000", 
    "Ethernet3": "25000", 
    "Ethernet0": "25000", 
    "Ethernet1": "25000"
}
Ports to be added : 
 {
    "Ethernet0": "100000"
}

After running Logic to limit the impact

Final list of ports to be deleted : 
 {
    "Ethernet2": "25000", 
    "Ethernet3": "25000", 
    "Ethernet0": "25000", 
    "Ethernet1": "25000"
} 
Final list of ports to be added :  
 {
    "Ethernet0": "100000"
}
Loaded below Yang Models
['sonic-acl', 'sonic-extension', 'sonic-interface', 'sonic-loopback-interface', 'sonic-port', 'sonic-portchannel', 'sonic-types', 'sonic-vlan']
Note: Below table(s) have no YANG models:
CONTAINER_FEATURE, BGP_NEIGHBOR, VERSIONS, DEVICE_METADATA, FEATURE, LOCK, FLEX_COUNTER_TABLE, BREAKOUT_CFG, CRM, 
Below Config can not be verified, It may cause harm to the system
 {
  "BREAKOUT_CFG": {
    "Ethernet0": {
      "brkout_mode": "4x25G[10G]"
    }
  }
}
Do you wish to Continue? [y/N]: y
Breakout process got successfully completed.
Please note loaded setting will be lost after system reboot. To preserve setting, run `config save`.
admin@lnos-x1-a-csw03:~$ show interfaces status 
  Interface            Lanes    Speed    MTU    FEC    Alias    Vlan    Oper    Admin    Type    Asym PFC
-----------  ---------------  -------  -----  -----  -------  ------  ------  -------  ------  ----------
  Ethernet0      65,66,67,68     100G    N/A    N/A   Eth1/1  routed    down       up     N/A         N/A

admin@lnos-x1-a-csw03:~$ bcmcmd ps
ps
                 ena/        speed/ link auto    STP                  lrn  inter   max   cut   loop
           port  link  Lns   duplex scan neg?   state   pause  discrd ops   face frame  thru?  back
       ce0( 68)  down   4  100G  FD   SW  No   Forward          None   FA    KR4  9412    No      
       xe0( 69)  !ena   1     -       SW  No   Forward          None   FA   None  9122    No      
       xe1( 70)  !ena   2     -       SW  No   Forward          None   FA   None  9412    No      
       xe2( 71)  !ena   1     -       SW  No   Forward          None   FA   None  9122    No  
```

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2020-09-18 15:29:29 -07:00
Wirut Getbamrung
47316de5c4
[device/celestica]: Update DX010 reboot cause API (#4678)
- Add more cases support in DX010 reboot cause API
    - Add Thermal Overload reboot cause support
    - Add new Watchdog reboot cause support
2020-09-17 08:56:52 -07:00
Wirut Getbamrung
aa601f4b0a
[device/celestica]: Implement Seastone2 platform API (#5080)
Implement Seastone2 platform API:

1. Implement Fan APIs.
2. Implement Psu APIs.
3. Implement Thermal APIs.
4. Implement Component APIs.
5. Implement Chassis APIs.
6. Implement Sfp APIs.
7. Implement Watchdog APIs. (Required new CPLD version)
8. Upgrade switchboard driver to support port insert/remove interrupt
9. Init all above APIs class on chassis API.

Co-authored-by: pjaipakdee <jai.peerapong@gmail.com>
Co-authored-by: Pradchaya P <pphuchar@celestica.com>
2020-09-09 10:32:56 -07:00
Joe LeVeque
3b89e5d467
[Python] Migrate applications/scripts to import sonic-py-common package (#5043)
As part of consolidating all common Python-based functionality into the new sonic-py-common package, this pull request:
1. Redirects all Python applications/scripts in sonic-buildimage repo which previously imported sonic_device_util or sonic_daemon_base to instead import sonic-py-common, which was added in https://github.com/Azure/sonic-buildimage/pull/5003
2. Replaces all calls to `sonic_device_util.get_platform_info()` to instead call `sonic_py_common.get_platform()` and removes any calls to `sonic_device_util.get_machine_info()` which are no longer necessary (i.e., those which were only used to pass the results to `sonic_device_util.get_platform_info()`.
3. Removes unused imports to the now-deprecated sonic-daemon-base package and sonic_device_util.py module

This is the next step toward resolving https://github.com/Azure/sonic-buildimage/issues/4999

Also reverted my previous change in which device_info.get_platform() would first try obtaining the platform ID string from Config DB and fall back to gathering it from machine.conf upon failure because this function is called by sonic-cfggen before the data is in the DB, in which case, the db_connect() call will hang indefinitely, which was not the behavior I expected. As of now, the function will always reference machine.conf.
2020-08-03 11:43:12 -07:00
Joe LeVeque
9905d9382d
[devices] Update SFP keys to align with new standard (#4975)
Align SFP key names with new standard defined in https://github.com/Azure/sonic-platform-common/pull/97

- hardwarerev -> hardware_rev
- serialnum -> serial
- manufacturename -> manufacturer
- modelname -> model
- Connector -> connector
2020-07-16 13:03:50 -07:00
carycelestica
b88770a67b
add PCIe config file (#4724) 2020-06-25 15:02:21 -07:00
Wirut Getbamrung
5e5e9ec417
[device/celestica]: DX010 platform API update (#4608)
- Fix fancontrol.service path
- Fix return temp format in thermal API
- Improve init time in chassis API
- Upgrade sfp API
2020-05-22 03:50:43 -07:00
Neetha John
286aa35ac6
[qos]: Alpha and ECN settings change for Th (#4564)
Dynamic threshold setting changed to 0 and WRED profile green min threshold set to 250000 for Tomahawk devices

Changed the dynamic threshold settings in pg_profile_lookup.ini
Added a macro for WRED profiles in qos.json.j2 for Tomahawk devices
Necessary changes made in qos.config.j2 to use the macro if present

Signed-off-by: Neetha John <nejo@microsoft.com>
2020-05-09 11:21:18 -07:00
Wirut Getbamrung
e75da77f35
[device/celestica]: Fix sfp index on dx010 platform api (#4346) 2020-04-25 11:54:45 -07:00
zhenggen-xu
b9f6353714
[Seastone] Add new HWSKU for 48x50G+8x40G (#4156)
Add the port_config.ini and sai.profile, leveraging the same bcm file.

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2020-04-04 22:52:34 -07:00
tiantianlv
e45d07baa3
Load port led FW for Silverstone! (#4313) 2020-03-24 13:22:09 -07:00
Wirut Getbamrung
4c46178ee8 [device/celestica]: Implement SFP API (#3869)
Add Sfp APIs base on SfpBase and SfpUtilBase
2020-01-15 18:45:01 -08:00
Wirut Getbamrung
4c526d9640 [device/celestica]: Implement Silverstone platform API [THERMAL/COMPONENT] (#3938)
- Add Thermal APIs
- Add Component APIs
2020-01-15 18:43:48 -08:00
Pradchaya Phucharoen
522916397d [Celestica/Seastone2] Add support Seastone2 device and platform (#3761)
* [device/celestica] Add seastone2 device specific plugins and SKU

* [platform/broadcom] Add Celestica seastone2 platform module

* update minigraph for Seastone_2 and remove 10KR port configuration

* [device/celestica] hwsku:Seastone2 update port configuration

* [plugins/psuutil] fix psutuil cannot run in pmon docker

* [plugins/sfputil] raise error in get_transceiver_change_event

* [device/celestica] Seastone2 add config to skip ledd in pmon

Co-authored-by: tiantianlv <38775940+tiantianlv@users.noreply.github.com>
2020-01-15 18:42:09 -08:00
Wirut Getbamrung
bac6615bf5 [device/celestica]: Fix xcvrd error (#3979)
* [device/celestica]: add pmon_daemon_control config

* [device/celestica]:  update sfp index follow port_config

* [device/celestica]:  update get_watchdog to avoid multiple daemon try opening watchdog
2020-01-10 12:50:51 -08:00
Wirut Getbamrung
1e5d25b48e [platform-celestica]: Update fancontrol service for Seastone-DX010 device (#3690)
* [platform/cel]: add fancontrol service support for dx010

* [device/celestica]: add hysteresis temp to dx010 fancontrol configuration
2019-12-16 09:04:42 -08:00
Wirut Getbamrung
1286e5ed3f [platform/cel]: Remove afulnx_64 (#3900)
remove afulnx_64 install script
2019-12-16 07:30:35 -08:00
Wirut Getbamrung
77b8e74fc0 [platform/device] - Implement Silverstone platform API [PSU] (#3784)
Implement part of the Chassis and Fan related APIs.

Psu APIs

get_voltage()
get_current()
get_power()
get_powergood_status()
set_status_led()
get_status_led()
Update Fan APIs to support PSU FAN

get_direction()
get_speed()
get_target_speed()
get_speed_tolerance()
get_target_speed()
PSU APIs base on Device API

get_name()
get_presence()
get_model()
get_serial()
get_status()

- How I did it

Implement PSU APIs
Update FAN API to support PSU Fans
Add PSU object to Chassis API
2019-12-04 19:00:13 -08:00
Dante (Kuo-Jung) Su
473fc6d4f3 celestica: reallocate the empty LIST at the constructor of subclasses (#3738)
Signed-off-by: Dante Su <dante.su@broadcom.com>
2019-11-12 15:26:11 -08:00
Wirut Getbamrung
65fc916dcf [platform/device] - Implement Silverstone platform API [Chassis/Fan] (#3706)
Implement part of the Chassis and Fan related APIs.

- Chassis APIs

get_base_mac()
get_serial_number()
get_serial_number()
get_system_eeprom_info()
get_reboot_cause()

- Fan APIs

get_direction()
get_speed()
get_target_speed()
get_speed_tolerance()
set_speed()
set_status_led()
get_target_speed()

- Fan APIs base on Device API

get_name()
get_presence()
get_model()
get_serial()
get_status()

Signed-off-by: Wirut Getbamrung wgetbumr@celestica.com
2019-11-06 18:56:17 -08:00
tiantianlv
368c4fa9fe [devices]: support Silverstone platform (#3474)
* [device/celestica] Add silverstone device plugins and configs

* add port led fireware of PAM4!

* [platform/broadcom] Add Celestica silverstone platform module.

* Add switch configuration Silverstone!

* Add 128x100 configuration!

* Delete serdes copper parameter!

* [device/celestica] Fix incorrect index in Silverstone 128x100G port cfg

* [platform/broadcom] Remove unrelated platform other than Silverstone

* [device/celestica] Silverstone remove minigraphs

* [device/celestica] Silverstone update sai.profile to use hwsku path

* [device/celestica] Silverstone format sfputil codes

* [device/celestica] Add speed column to Silverstone 32x400G port conf

* [device/celestica] Silverstone disable 10G ports prevent orchagent crash

 *These ports will be added later after BRCM SAI support SFP.

* Remove LED redundancy configuration and add comments!

* [plugins/sfputil] update Silverstone ports to QSFP-DD type

* [plugins/sfputil] Silverstone fix return NotImplementedError with raise
2019-10-09 17:47:46 -07:00
Wirut Getbamrung
50cfa77243 [device/celestica]: update psuutil follow new platform api (#3537)
Fixes #3518

Update psuutil API to detect PSU GPIO base from label
2019-10-07 07:17:46 -07:00
Wirut Getbamrung
ecdd866713 [device/celestica]: Update Component APIs (#3510)
* [platform/cel]: add bios upgrade tool
* [device/celestica]: update Seastone/E1031 component api to support BIOS upgrade
* [device/celestica]: add error handler for eeprom api
* [device/celestica]: add component description
2019-09-27 12:44:16 -07:00
Wenda Ni
7b0a5ba6ae Remove the divide by 4 operation to the under the hood SAI (#1532)
* Remove the divide by 4 operation to the under the hood SAI

This is to avoid the need and thus the confusion for application program to know
the mmu internal architecture

This change must have support from SAI change to reach the correct
config

Signed-off-by: Wenda <wenni@microsoft.com>

* Relegate the divide by 4 operation to the under the hood SAI for egress
lossless pool

Extend to 7060 and 6100

Signed-off-by: Wenda <wenni@microsoft.com>

* Add more TH/TH2 hwskus

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Update config test

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Add TH2 ingress lossy profile

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* Move the divide by 4 operation to SAI internal

Signed-off-by: Wenda Ni <wenni@microsoft.com>

* [bcm SAI] Upgrade Broadcom SAI to version 3.5.3.1-15

- Broadcom SAI 3.5 GA release 20190924.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2019-09-25 15:57:07 -07:00
bbinxie
d1fe216d05 Add new device data for dx010 (Celestica-DX010-C32,Celestica-DX010-D48C8) (#3492)
* add config.bcm for hlx

* modify config.bcm path for hlx

* Delete hx4-cel-hbtn-48x1G+4x10G.config.bcm

* add config.bcm and path

* update led for cxp

* Add new device data for dx010
2019-09-20 07:26:40 -07:00
Wirut Getbamrung
150ee07dd2 [device/celestica]: Update new platform APIs (#3415)
* [device/celestica]: Update fan and psu apis

* [device/celestica]: Update sfp apis
2019-09-06 14:58:12 -07:00
Wirut Getbamrung
a5b805e37a [platform/cel]: Add new API installer to pmon and base image (#3379)
* [platform/cel]: Add new api installer

* [device/celestica]: Update APIs to support both pmon and base image

* [device/e1031]: update hwmon name
2019-08-28 11:19:34 -07:00
Wirut Getbamrung
ea063db4b6 [device/celestica]: Implement Sfp APIs based on the new platform API (#3290)
* [platform/cel]: update qsfp driver for dx010

* [device/celestica]: add sfp api

* [device/celestica]: add eeprom api
2019-08-14 17:51:20 -07:00
Tony Titus
91510a7742 [innovium]: Initial commit (#3243)
[build] Add ipmitool
[dockers] Add innovium platform in orchagent + ipmitool in snmp
[platform/innovium] Add innovium platform
[device/celestica] Add x86_64-cel_midstone-r0 device for innovium
[device/delta] Add x86_64-delta_et-c032if-r0 device for innovium
[sonic-slave-stretch] Add texi2html

Signed-off-by: Tony Titus ttitus@innovium.com
2019-08-14 10:40:55 -07:00
zhenggen-xu
6f40933d3d [Feature: DynamicPortBreakout] Use consolidated bcm file for Seastone platform (#3240)
* Utilize the same sai.profile and config.bcm file

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>

* Fix the index issues for HWSKU: Seastone-DX010-25-50 and Seastone-DX010-50-40

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>

* Update sonic-swss submodule

* src/sonic-swss 63afbd5...5be3963 (11):
  > Remove the platform check for remove/add port action at init phase. (#1006)
  > [test]: Add Class object in each test script file (#992)
  > [vstest]: add --imgname option to specify vs image to test (#996)
  > [qosorch]: Add cir and pir parameters for scheduler (#991)
  > [vstest]: report error when team kernel module is not available (#994)
  > Support per buffer pool watermark polling mode (#973)
  > [test]: Update test_vlan to use dvs functions (#986)
  > Add synchronous switch to orch agent (#987)
  > ARM32 bit fixes, for 64bit printf format specifier (#989)
  > [portsorch]: Rename function isPortReady() to allPortsReady() (#990)
  > [routeorch]: Fix observer detaching procedure for next hop observers (#985)

Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
2019-08-07 10:59:54 -07:00
Wirut Getbamrung
1dd2688844 [device/celestica]: Implement thermal base API based on the new platform API (#3220) 2019-08-05 09:01:50 -07:00
Wirut Getbamrung
0340cf3b8b [device/celestica]: Implement device base APIs for Fan/PSU API based on the new platform API (#3163)
* [platform/cel]: add fan present sysfs

* [device/celestica]: move component device to chassis

* [device/celestica]: add basic device api
2019-07-23 10:00:02 -07:00
Wirut Getbamrung
bd672000ab [device/celestica] Implement Watchdog APIs based on the new platform API (#3123) 2019-07-08 11:26:27 -07:00
Wirut Getbamrung
1616f482e7 [device/celestica]: Add firmware management api based on the new platform API (#3013) 2019-07-02 11:05:18 -07:00
Wirut Getbamrung
94b3c362f8 [device/celestica] Implement PSU APIs based on the new platform API (#2874) 2019-06-25 12:22:13 -07:00