Commit Graph

5042 Commits

Author SHA1 Message Date
Samuel Angebault
178688b415
[Arista] Refresh device folder for DCS-7060DX4-32 (#6942)
As booting on DCS-7060DX4-32 would use the default sku of DCS-7060PX4-32 which is not compatible, 
thus move some files around to properly separate the configurations that are device specific.

Signed-off-by: Samuel Angebault <staphylo@arista.com>
2021-03-05 11:23:47 -08:00
Volodymyr Boiko
4bba31481a
[barefoot][platform] Fix as9516bf installation (#6967)
Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2021-03-05 11:22:29 -08:00
Paul Menzel
2560ec627d
[doc]: Makefile.work: Fix typo in *packages* in comment (#6964)
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
2021-03-05 10:22:18 -08:00
anish-n
a61888f7da
[minigraph] Adjust minigraph parsing per Fine Grained ECMP matchmode changes (#6885)
To adjust config db generated via minigraph per matchmode changes in fine grained ecmp. The changes are done so that nexthop IP based filtering can occur to determine routes as requiring Fine Grained ECMP, in the past the only mode was to use the IP prefix of the route for filtering, with this matchmode change we will use nexthop IP based filtering
Azure/SONiC#727

How I did it
Change will modify config db entry created for FG_NHG to include 'match_mode': 'nexthop-based' so that nexthop IP based filtering can occur to determine routes as requiring Fine Grained ECMP. Changes also remove FG_NHG_PREFIX entry since its not needed under matchmode nexthop-based.
2021-03-05 10:17:56 -08:00
Tamer Ahmed
bb03e5bb37
Start DHCP Relay When Helpers IPs Are Available (#6961)
#### Why I did it

It is possible to have DHCP relay configuration with no servers/
helpers which result in DHCP container to crash. This PR fixes this
issue by not starting DHCP relay for vlans with no DHCP helpers.

resolves: #6931 
closes: #6931 
#### How I did it
Do not add program group for dhcp relay with not dhcp helpers

#### How to verify it
Unit test
2021-03-04 20:43:08 -08:00
Junchao-Mellanox
0e071493de
Change buffer config for new SKU Mellanox-SN2700-D40C8S8 (#6926)
#### Why I did it

Change buffer config for new SKU Mellanox-SN2700-D40C8S8

#### How I did it

Reuse the buffer config of SKU Mellanox-SN2700-D48C8

#### How to verify it

Run sonic-mgmt qos test and all passed
2021-03-04 14:12:59 -08:00
vdahiya12
7034edc9af
[sonic-platform-daemons] submodule update (#6957)
30d09be fix the muxcable state change notification received from other modules, omit the check inside hw_state table (#159)
32ec23c [xcvrd] Fix crash on platforms which support media settings with Python 3 (#158)
47bcf90 [xcvrd] Save the dom_capability of transceiver into db (#72)
b9381a5 [xcvrd] Fix xcvrd crash on other port prefixes (#123)
c3c1a59 [xcvrd] Make functions used for media setting python3 compatible (#153)
e179ffc [psud] Refactor unit tests; increase unit test coverage (#146)

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
2021-03-04 09:42:30 -08:00
Shi Su
24759dc0d3
[sonic-swss-common] Update submodule (#6958)
Update the sonic-swss-common submodule. The following are the commits in the submodule.

f01fede [debian/control] libswsscommon-dev depends on libbost-dev (#458)
607a8ce Convert return value of get_all function in SonicV2Connector to dict (#462)
2021-03-04 09:18:21 -08:00
Volodymyr Boiko
be3d4e9a81
[platform][barefoot] Fix as9516bf installation (#6938)
To fix sonic_platform installation on as9516bf platform

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
2021-03-03 09:23:40 -08:00
Samuel Angebault
b6fc13b89b
[Arista] Update platform drivers (#6945)
- Provide `hw-management-generate-dump.sh` for `show techsupport`
 - Load `optoe3` for OSFP and QSFP-DD transceivers
 - Enhance reboot-cause caching robustness

Signed-off-by: Samuel Angebault <staphylo@arista.com>
2021-03-03 09:09:10 -08:00
vmittal-msft
6eb9a9d0eb
Updated BCM SAI to latest 4.3.3.1 drop (#6947) 2021-03-03 09:07:53 -08:00
Joe LeVeque
980a024dd4
Fix Python 3 'importlib' bug; Add support for Python 2 back in sonic-py-common (#6933)
Fix a strange bug introduced by https://github.com/Azure/sonic-buildimage/pull/6832 which would only occur in environments with both Python 2 and Python 3 installed (e.g., the PMon container). Error messages such as the following would be seen:

```
ERR pmon#ledd[29]: Failed to load ledutil: module 'importlib' has no attribute 'machinery'
```

This is very odd, and it seems like the Python 2 version of importlib, which is basically just a stub, is taking precedence over the Python 3 version. I found that this occurs when calling `import importlib`. However, calling `import importlib.machinery` and `import importlib.util` causes the proper package to be referenced, and the `machinery` and `util` modules are loaded successfully. This is how it is specified in examples in the official documentation, however there is nothing mentioned regarding that it *should* be done this way or that `import importlib` is unreliable.

Also, since sonic-py-common is still used in environments with Python 2 installed we should maintain support for both Python 2 and 3 until we completely deprecate Python 2, so I have added this back in.
2021-03-02 18:31:19 -08:00
Danny Allen
880a743c43
[openconfig_acl] Allow setting ICMP type/code to 0 (#6932)
There is a bug in how pyangbind translates yang models into python bindings. The model always sets integer values to 0 by default, so there is no way to check if a user has provided a value that is equal to 0. This is problematic for ICMP and VLAN (among others) because 0 is a valid input value.

This change converts ICMP and VLAN fields to union types so that acl-loader will treat them as null values unless a user explicitly adds an integer value.

Signed-off-by: Danny Allen <daall@microsoft.com>
2021-03-02 14:32:00 -08:00
DavidZagury
724785db15
[DPB] [Mellanox] Fix files for SN4600 platform (#6930)
- Why I did it
Fix the build and fix the SN4600 DPB support

- How I did it
Fix port configuration file for SN4600 based on recent changes

- How to verify it
System bringup is completed, all interfaces are up.
Platform tests suits all is passing.
2021-03-02 07:35:18 +02:00
Srideep
0f1d41dac2
[DellEMC:Z9332f] Modify SKU-DellEMC-Z9332f-M-O16C64 to support different port-config (#6906) 2021-03-01 09:53:35 -08:00
fk410167
20f0f069c1
Making PDDF 2.0 base classes python3 compliant (#6924)
- Made python2 to python3 changes
- Removed ord() func as python3 return int instead of str
- Had to change chr(..) to bytes([..]) function while using ctypes class methods
2021-03-01 09:48:59 -08:00
DavidZagury
08202017d9
[DPB] [Mellanox] added capability files for SN4600 platform (#6887)
- Why I did it
To add support for the dynamic breakout on Mellanox platform x86_64-mlnx_msn4600

- How I did it
Add the relevant files describing Mellanox platform x86_64-mlnx_msn4600 breakout modes to a new device folder.

- How to verify it
System bringup is completed, all interfaces are up.
Platform tests suits all is passing.
2021-03-01 12:43:33 +02:00
Lior Avramov
bc1ed0a516
[Mellanox]: Fix PCIEd configuration files for SN3700 and SN3800 systems (#6913)
- Why I did it
To fix PCIEd errors in log.

- How I did it
Update pcie.yaml with the right PCI addresses.

- How to verify it
Check logs, operation occurs each minute.

Signed-off-by: liora <liora@nvidia.com>
2021-03-01 12:36:18 +02:00
Kebo Liu
0e71d82f72
[Mellanox] Update hw-management package to version 7.0010.2000 (#6692)
- Why I did it
   Bug fixes
   - In rare cases when thermal algorithm is reactivated after FAN/PSU insertion, FAN remains at high rpm
   - When stop hw-management code received error in the log instead of exit code '0'.
   - In SPC1 i2c sometimes collide with chip reset coming from SDK
   - Remove raw eeprom data link, when working with PSU which don't have eeprom for "msn274x", "msn24xx" and "msn27xx" systems
   - Fix memory leak on mlxsw_core_bus_device module removal

- How I did it
Update the hw-mgmt version number in the make file
Update the hw-mgmt repo pointer

- How to verify it
run platform related test cases on all Mellanox platform

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2021-03-01 10:01:50 +02:00
Joe LeVeque
5d48581be4
[build] No longer install scpay Debian package in host (#6919)
As of the merging of PR #6799, we are now installing a newer version of scapy via pip, therefore there is no longer a need to install the older Debian package.
2021-02-28 23:59:48 -08:00
Kebo Liu
b4fdd5f0b0
[submodule]: update sonic-linux-kernel (#6908)
1. [dni_dps460] Add attributes to retrieve PMBus status command codes 65fccd7a07
2. [mellanox]: Backport new kernel patches 2fcd4e3c67
3. [ci]: build amd64/armhf/arm64 for CI build 7c57fef2f3
4. Fix read and write failure to ‘fan1_target’ attribute of ‘dni_dps460’ fc74b1ce22
5. [backport]: i2c mux pca954x allow management of device idle state 173ebe7b9c
6. README: Fix typo in *difficult* 7778c99e78
2021-02-28 23:58:59 -08:00
Danny Allen
abb3867b72
[openconfig_acl] Add SONiC ACL extension to open config ACL model (#6896)
- Add support for VLAN ID match
- Add support for ICMP type/code match

Signed-off-by: Danny Allen <daall@microsoft.com>
2021-02-28 15:02:31 -08:00
abdosi
30b6668b7d
Changes in FRR temapltes for multi-asic (#6901)
1. Made the command next-hop-self force only applicable on back-end asic bgp. This is done so that BGPL iBGP session running on backend can send e-BGP learn nexthop. Back end asic FRR is able to recursively resolve the eBGP nexthop in its routing table since it knows about all the connected routes advertise from front end asic.

2. Made all front-end asic bgp use global loopback ip (Loopback0) as router id and back end asic bgp use Loopbacl4096 as ruter-id and originator id for Route-Reflector. This is done so that routes learnt by external peer do not see Loopback4096 as router id in show ip bgp <route-prerfix> output.

3. To handle above change need to pass Loopback4096 from BGP manager for jinja2 template generation. This was missing and this change/fix is needed for this also https://github.com/Azure/sonic-buildimage/blob/master/dockers/docker-fpm-frr/frr/bgpd/templates/dynamic/instance.conf.j2#L27

4. Enhancement to add mult_asic specific bgpd template generation unit test cases.
2021-02-26 17:05:15 -08:00
Qi Luo
833584eff9
[minigraph] For egress ACL attaching to vlan, break them into vlan members (#6895)
#### Why I did it
Some platforms have difficult to attach egress ACL to vlan.

#### How I did it
For egress ACL attaching to vlan, break them into vlan members.

#### How to verify it
Unit test
Tested in DUT
2021-02-26 10:41:49 -08:00
Nazarii Hnydyn
39b1c12731
[Mellanox]: Fix PCIEd config for SN4600c (#6892)
Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2021-02-26 00:28:32 -08:00
Nazarii Hnydyn
923dc52f15
[Mellanox]: Fix PCIEd config for SN4600 (#6894)
Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2021-02-26 00:28:17 -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
abdosi
a520cecb44
[multi-asic] BBR support on internal-peers for multi-asic platfroms. (#6848)
Enable BBR config allowas-in 1 for internal peers

Why I did:
To advertise BBR routes learnt via e-BGP peer in one asic/namespace to another iBGP asic/namespace via Route Reflector.
2021-02-25 23:15:02 -08:00
yozhao101
21f5e1280d
[Supervisord] Deduplicate the alerting messages of critical processes from Supervisord. (#6849)
Signed-off-by: Yong Zhao yozhao@microsoft.com

Why I did it
In the configuration of rsyslog, duplicate messages will be suppressed and reported in the format of message repeated n times.
Due to this behavior, if a critical process in a container exited unexpectedly, the alerting message will be written into syslog once
and not be written into syslog anymore until the second critical process exited. This PR aims to differentiate these alerting messages such that they will not be suppressed by rsyslogd and can appear in the syslog periodically.

How I did it
This PR adds a counter into the alerting message and shows how many minutes a critical process was not running.

How to verify it
I verified and test this implementation on a physical DUT.
2021-02-25 14:35:29 -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
Joe LeVeque
ac15a42c57
[DellEMC] Ensure concrete platform API classes call base class initializer (#6853)
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:34 -08:00
Joe LeVeque
516ff8bfff
[Mellanox] Ensure concrete platform API classes call base class initializer (#6854)
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:06:22 -08:00
ec-michael-shih
66e3e51f70
[Platform] Accton add to support as4630-54te platform. (#6683)
Add support for Accton as4630-54te platform
2021-02-25 10:47:38 -08:00
Aravind Mani
ab785f52d3
DellEMC:Fix EEPROM read error (#6736)
#### Why I did it
EEPROM read failure was seen in Dell platforms

#### How I did it
Make python 2/3 compliant API's to fix the issue
2021-02-25 10:17:05 -08:00
abdosi
c66cbc12d3
[multi-asic] Enhanced iptable default rules (#6765)
What I did:-

For multi-asic platforms added iptable v4 rule to communicate on docker bridge ip
For multi-asic platforms extend iptable v4 rule for iptable v6 also
For multi-asic program made all internal rules applicable for all protocols (not filter based on tcp/udp). This is done to be consistent same as local host rule
For multi-asic platforms made nat rule (to forward traffic from namespace to host) generic for all protocols and also use Source IP if present for matching
2021-02-25 09:39:36 -08:00
Rajkumar-Marvell
965f4901ec
[Marvell] Updated armhf SAI deb version info. (#6863)
Modified the MRVL SAI debian version format to include debian revision number. This helps in identifying the SAI deb causing any build/runtime issue.

Signed-off-by: Rajkumar Pennadam Ramamoorthy <rpennadamram@marvell.com>
2021-02-25 09:17:45 -08:00
Stepan Blyshchak
12c03c4f25
[sonic_debian_exntesion] install docker_image_ctl.j2 template in the image templates (#5937)
SONiC Package Manager will require to auto-generate the start script using that template. For that, we need this template to be recorded in SONiC filesystem.

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
2021-02-25 09:11:12 -08:00
Stepan Blyshchak
e179ec2fae
[services] introduce sonic.target (#5705)
- Why I did it
Group all SONiC services together and able to manage them together. Will be used in config reload command as much simpler and generic way to restart services.

- How I did it
Add services to sonic.target

- How to verify it
Together with Azure/sonic-utilities#1199
config reload -y

Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
2021-02-25 14:26:24 +02:00
shlomibitton
3de6a67353
[Mellanox] Add hw-mgmt patch for SimX platform adaptation (#6782)
- Why I did it
System is stuck on 'starting' state on SimX platform because of infinite loop on 'hw-management-ready.sh' script .
The loop is polling to check if the hw-mgmt sysfs created before proceeding with the flow, for SimX platform the sysfs will never create so the system is not starting properly.

- How I did it
Add a condition to poll on hw-mgmt sysfs only if the switch is real HW and not SimX platform.

- How to verify it
Check "systemctl status hw-management.service" output on a SimX switch with this patch, the state will be "active".

Signed-off-by: Shlomi Bitton <shlomibi@nvidia.com>
2021-02-25 12:41:29 +02:00
DavidZagury
5aee92e56d
[Mellanox] Add support for SN4600 system (#6879)
- Why I did it
Add support for new 64x200G SN4600 systems

- How I did it
Add all relevant files (w/o platform.json and hwsku.json as they will come later) with default SKU.

- How to verify it
Install image on switch, verify all ports are up and configured properly, run full platform SONiC tests.
2021-02-25 09:30:43 +02:00
xumia
d3040bd804
Add azure pipelines for reproducible build (#6870)
* Add azure pipelines for reproducible build

* Add always build flag for upgrade build

* Fix the build version ubuntu-20.04
2021-02-25 13:44:58 +08:00
pra-moh
2a339faf7e
[submodule]: update telemetry submodule (#6810)
- Adding instructions to build telemetry server/go client inside docker (#68)
- Add RBAC, gNOI, API Versioning and Bulk Set operations. (#61) …
- Support NonTLS option for testing purpose only. (#67) …
- Oc gnmi examples (#62) …
2021-02-24 17:22:54 -08:00
ruijie.com.cn
a582c13e98
[Ruijie] Add ruijie platform & device (#4954)
Add new platform x86_64-ruijie_b6510-48vs8cq-r0 (Trident 3)
    ASIC Vendor: Broadcom
    Switch ASIC: Trident 3
    Port Config: 48x25G+8x100G

Signed-off-by: tim-rj <sonic_rd@ruijie.com.cn>
2021-02-24 16:45:27 -08:00
Joe LeVeque
72c420320f
Use 'importlib' module in lieu of deprecated 'imp' module (#6832)
Migrate from using the `imp` module to using the `importlib` module. As of Python 3, the `imp` module has been deprecated in favor of the `importlib` module.
2021-02-24 16:41:03 -08:00
Guohan Lu
e9b27f9450 [ci]: add official build for mellanox
Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-02-24 15:12:27 -08:00
Arun Saravanan Balachandran
142d93b80a
DellEMC: S5232, Z9264, Z9332 - Platform API fixes (#6842)
#### Why I did it

To incorporate the below changes in DellEMC S5232, Z9264, Z9332 platforms.

- Update thermal high threshold values
- Make watchdog API Python2 and Python3 compatible
- Fix LGTM alerts
- Z9264: Fix get_change_event timer value

#### How I did it

- Use 'universal_newlines=True' in subprocess.Popen call.
- Change the timeout in 'get_change_event' to milliseconds to match specification in sonic_platform_common/chassis_base.py
2021-02-24 12:42:01 -08:00
Samuel Angebault
cf55ca110d
[Arista] Update driver submodules (#6873)
- Fix parent `__init__` call for platform API, based on Azure/sonic-platform-common#173
 - Implementation for more platform API methods
 - Daily storage information reporting in `arista daemon`
 - Enhancements to reboot cause reporting, now multi-sourcing reboot cause information
 - Miscellaneous fixes
2021-02-24 12:32:48 -08:00
rkdevi27
a37824ff0c
[dell/s6000]: Enable graceful reboot in S6000 (#6835)
The S6000 devices, the cold reboot is abrupt and it is likely to cause issues which will cause the device to land into EFI shell. Hence the platform reboot will happen after graceful unmount of all the filesystems as in S6100.

Moved the platform_reboot to platform_reboot_override and hooked it to the systemd shutdown services as in S6100
2021-02-24 12:00:24 -08:00
Dmytro Shevchuk
3abd2167bc
[yang] update crm yang model for dynamic port breakout (#6395)
- Why I did it
Fix DPB crash caused of new entries in config db.
Details: #6331

- How I did it
Updated crm yang model
2021-02-24 20:48:43 +02:00
Dror Prital
51eee8ccce
Add new SKU of Mellanox-SN2700-D40C8S8 (#6876)
#### Why I did it

Add new SKU for SN2700 Mellanox system that supports the following port configuration:
8 X 100G
40 X 50G
8 X 10G

#### How I did it

Add new Folder - "Mellanox-SN2700-D40C8S8" under /sonic-buildimage/device/mellanox/x86_64-mlnx_msn2700-r0/
that contains the relevant files supporting this SKU

the buffers are based on SKU: D48C8 . Later on it will be configured specific for this SKU

#### How to verify it

Bring up the image, run "show interface status" and make sure that all ports are up and reflect the following requirement:
Port 1/3 will be used as 4x10G
Port 2/4 - Not exist (blocked since 1 and 3 split to 4)
Port 7/8/9/10/23/24/25/26 will used as 100G
All other ports will be used as 2x50G

#### Which release branch to backport (provide reason below if selected)

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [X] 202012

#### Description for the changelog

Support new SKU under the name of SN2700-D40C8S8
2021-02-24 10:34:12 -08:00