Commit Graph

7117 Commits

Author SHA1 Message Date
Guilt
19010a36ea
[build] Fix isc-dhcp full version in rules.mk (#13288)
During the build process, a dsc file is retrieved from the URL:
http://deb.debian.org/debian/pool/main/i/isc-dhcp/isc-dhcp_4.4.1-2.3.dsc

Depending on the DNS resolution, the server reached may respond with a
HTTP 404 error code, what stops the build process.
In all cases, the URL http://deb.debian.org/debian/pool/main/i/isc-dhcp/
no more lists this DSC file but one with a different format.

The suffix "+deb11u1" is now appended to identify the debian version.

- append this suffix to the make file rules of isc-dhcp

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
2023-01-07 20:39:11 -08:00
abdosi
9ecd27ddbb
During build time mask only those feature/services that are disabled excplicitly (#13283)
What I did:
Fix : #13117

How I did:
During build time mask only those feature/services that are disabled explicitly. Some of the features ((eg: teamd/bgp/dhcp-relay/mux/etc..)) state is determine run-time so for those feature by default service will be up and running and then later hostcfgd will mask them if needed.

So Default behavior will be

init_cfg.json.j2 during build time make state as disabled then mask the service
init_cfg.json.j2 during build time make state as another jinja2 template render string than do no mask the service
init_cfg.json.j2 during build time make state as enabled then do not mask the service

How I verify:
Manual Verification.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
2023-01-07 02:36:37 +00:00
Saikrishna Arcot
2c02a76d4f
Revert incorrect submodule changes in #13056 (#13262)
Undo submodule updates that were incorrectly done in #13056.

Partial revert of d57de09

The following submodule changes are being reverted to the version that were present before the above PR got merged:

src/sonic-linux-kernel to 34f26b35839d7c0c09d48176c4ec33197344643c
src/sonic-frr/frr to 79188bf710e92acf42fb5b9b0a2e9593a5ee9b05

Signed-off-by: Saikrishna Arcot sarcot@microsoft.com
2023-01-06 16:33:04 -08:00
kellyyeh
2c410b4aaf
[dhcpmon] Fix dhcpmon socket filter and tx count issue (#13065)
Why I did it
Fix issue caused by dualtor support PR [dhcpmon] Open different socket for dual tor to enable interface filtering #11201
Improve code
How I did it
On single ToR, packets received count was duplicated due to socket filter set to "inbound"
Tx count not increasing due to filter set to "inbound". Added an outbound socket to count tx packets
Added vlan member interface mapping for Ethernet interface to vlan interface lookup in reference to PR Fix multiple vlan issue sonic-dhcp-relay#27
Exit when socket fails to initialize to allow dhcp_relay docker to restart
How to verify it
Tested on vstestbed single tor and dual tor, sent packets and verify printed out dhcpmon rx and tx counters is correct

Correct number of tx increases
Tx does not increase when ToR is on standby
2023-01-06 14:43:24 -08:00
Kebo Liu
9f36a9b6e5
[submodule] Advance sonic-utilities submodule pointer (#13113) 2023-01-06 07:56:49 +02:00
Richard.Yu
689f7d2c43
[SAI-PTF][BFN]Enable saiserver test container on bfn container (#13166)
Why I did it
Enable Test sai api on bfn container with a lightweight container(saiserver).

How I did it
enable saiserver container on barefoot platform.

add docker-saiserver-bfn.mk for building saiserver container
in platform/barefoot/docker-saiserver-bfn, add necessary files that needs in saiserver container
How to verify it
Tested on Intel platform ec9516

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
2023-01-06 11:45:03 +08:00
Richard.Yu
3ebdaefa8c
[SAIServer]Upgrade SAI server init script (#13175) (#13227) (#13232)
Why I did it
why
In order to apply different config across different platform, and use the code with a unified format, reuse syncd init script to init saiserver.

How I did it
how
Reuse syncd init script

How to verify it
Test
Test in DUT s6000 and dx010 with sonic 202205
2023-01-06 11:44:34 +08:00
Zain Budhwani
5cc233d1cf
[submodule] Update sonic-gnmi submodule (#13264)
#### Why I did it

Submodule update for sonic-gnmi
Incorporates:

d922a07 Zain Budhwani   Wed Jan 4 21:27:32 2023 -0800   Fix gnmi cli hang (sonic-net/sonic-gnmi#69)

#### How I did it

Get latest updates
2023-01-05 16:24:48 -08:00
Mai Bui
06e1a0bc14
[device/dell] Mitigation for security vulnerability (#11875)
Dependency: [PR (#12065)](https://github.com/sonic-net/sonic-buildimage/pull/12065) needs to merge first.

#### Why I did it
`commands` module is not protected against malicious input
`getstatusoutput` is detected without a static string, uses `shell=True`
#### How I did it
Eliminate the use of `commands`
Use `subprocess.run()`, commands in `subprorcess.run()` are totally static
Fix indentation
#### How to verify it
Tested on DUT
[dell_log.txt](https://github.com/sonic-net/sonic-buildimage/files/9561332/dell_log.txt)
2023-01-05 16:22:09 -08:00
Nazarii Hnydyn
ba5c26a16f
[submodule]: Advance sonic-sairedis submodule. (#13270)
Update sonic-sairedis submodule pointer to include the following:

402eb14 [ppi]: Enable bulk API. (#1171)
86bb828 Switch to using stock gcovr 5.2 (#1174)
1c9ca78 Manage LANES mapping on VOQ system (#1127)
5887d31 Fix for [EVPN] When MAC moves from remote end point to local, ASIC DB fields are not updated properly for the mac #11503Update NotificationProcessor.cpp (#1118)
559bd5b [ci][asan] add DVS tests run with ASAN (#1139)
4ab46b5 Initialize attr variables in Legacy.switch_get and LegacyFdbEntry.fdb_entry_get (#1169)
4e24c77 The meta_sai_validate_fdb_entry() validates the input FDB entry for the (#1154)

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
2023-01-05 19:53:52 +02:00
Liu Shilong
6e1df20104
[build] Add environment when using dpkg hook to avoid lock loop. (#13150)
Why I did it
In some cases, dpkg will call dpkg to validate version.
dpkg hook will get stuck in a loop to lock.

How I did it
Use an env variable to skip duplicated lock.
2023-01-05 13:16:49 +08:00
Zain Budhwani
90950d9c11
Fix rsyslog_plugin UT with timestamp formatter (#13241)
#### Why I did it

Timestamp formatter inside UT was failing due to new year change

#### How I did it

Use a const stored year that will used as expected value

#### How to verify it

Run UT
2023-01-04 14:56:28 -08:00
byu343
83fd368f19
[Arista]: Add hwSku Arista-7260CX3-D108C10 (#13242)
* [Arista]: Add hwSku Arista-7260CX3-D108C10

* Add buffer-related config for Arista-7260CX3-D108C10
2023-01-04 13:21:43 -08:00
Divya Mukundan
346503b9b3
Updating submodule (swss-common) (#13144)
Update sonic-swss-common submodule pointer to include the following:
*70b3609 Support for TC-DOT1p qos map #721
2023-01-04 13:00:57 -08:00
Ikki Zhu
8ad69f77a4
Seastone add platform capability enhancement config (#13079) 2023-01-04 10:17:50 -08:00
Guilt
1c05f66cea
[build] fix CI warnings issued by "git describe" (#13098)
./functions.sh script contains twice the command "git describe --tags".
Azure pipelines currently retrieves the repository content by using a
"git clone" or "git fetch" command with the option "--depth".
When the depth is not enough sized to reach a tag in the "git log"
history,  "git describe --tags" generates on stderr the warning:
"fatal: No names found, cannot describe anything."

https://stackoverflow.com/questions/4916492/git-describe-fails-with-fatal-no-names-found-cannot-describe-anything

During the build process, the functions.sh script is a lot consumed and
this pointless warning appears in CI thousand lines w/o any added value.

This situation can be easily avoided by redirecting related commands
stderr output to /dev/null.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
2023-01-03 10:04:31 -08:00
Rida Hanif
f1e84f9cd8
[gns3]: modify SONiC VS image name (#13136)
Modified sonic.gns3.sh file by changing name of VS image from "image" to "img"
2023-01-03 10:02:10 -08:00
Yoush
e7600ff79d
[centec]: reference to v1.11.0-1 sai debian package for master (#13206) 2023-01-03 09:53:46 -08:00
Prince Sunny
fa9abb6bcd
Add DASH yang (#13078)
* Introduce Sonic Yang for DASH for the following tables:
2023-01-03 09:19:42 -08:00
jcaiMR
f84d8b9635
advance dhcprelay (#13205)
Why I did it
Advance dhcprelay submodule for master

4bf1868 - (HEAD, origin/master, origin/HEAD, master) fix relay-reply dhcpv6 packet counter issue [jcaiMR]
How I did it
How to verify it
2023-01-02 22:22:57 +08:00
Dror Prital
aeaec4053c
[submodule] Advance sonic-swss pointer (#13223)
Update sonic-swss submodule pointer to include the following:

* bdedf69 Modify coppmgr mergeConfig to support preserving copp tables through reboot. ([#2548](https://github.com/sonic-net/sonic-swss/pull/2548))
* 7891e78 Fixed set mtu for deleted subintf due to late notification ([#2571](https://github.com/sonic-net/sonic-swss/pull/2571))
* a443945 Updated handling of VRF_VNI mapping and VLAN_VNI mapping for same VNI ID ([#2538](https://github.com/sonic-net/sonic-swss/pull/2538))

Signed-off-by: dprital <drorp@nvidia.com>
2023-01-02 13:14:06 +02:00
Arvindsrinivasan Lakshmi Narasimhan
a57fa16839
[Chassis][Voq]update to add buffer_queue config on system ports (#12156)
Why I did it
In the voq chassis the buffer_queue configuration needs to be applied on system_port instead of the sonic port.
This PR has the change to do this.

How I did it
Modify buffer_config.j2 to generate buffer_queue configuration on system_ports if the device is Voq Chassis

How to verify it
Verify the buffer_queue configuration is generated properly using sonic-cfggen

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2022-12-31 23:59:54 -08:00
xumia
38c5d7fcec
[Build] Support j2 template for debian sources for docker ptf (#13198)
Change to use the sources.list from the file generated from the j2 template
2022-12-29 23:33:21 -08:00
Nikola Dancejic
86a5a7f1ea
add Tunnel yang model (#12232)
#### Why I did it
Add yang model for TUNNEL config
#### How I did it
created sonic-tunnel.yang file and tests
#### How to verify it
`make target/python-wheels/bullseye/sonic_yang_models-1.0-py3-none-any.whl`

#### Link to config_db schema for YANG module changes
https://github.com/sonic-net/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md#tunnel
2022-12-29 17:12:25 -08:00
Liu Shilong
e0c29aabe0
[ci] Fix docker sonic slave tag issue. (#13179) 2022-12-28 10:56:50 +08:00
Oleksandr Ivantsiv
127d60f9b8
[build] Adjust teamd and radv features configuration according to the compilation options. (#13139)
- Why I did it
The followup to #12920 PR.
If the feature compilation is disabled its configuration should not be included into init_cfg.json.

- How I did it
Update init_cfg.json.j2 template to include teamd and radv features configuration only if their compilation is enabled.

- How to verify it
The default behavior is preserved. To verify the changes compile the image without overriding INCLUDE_TEAMD and INCLUDE_ROUTER_ADVERTISER options. The generated /etc/sonic/init_cfg.json should remain with no changes. Install the image and verify that both teamd and radv containers are present and running. Verify that feature state returned by show feature status command is enabled.
Change the INCLUDE_TEAMD or INCLUDE_ROUTER_ADVERTISER value to "n". Compile and install the image. Verify that feature configuration is not included in generated /etc/sonic/init_cfg.json file. Verify that show feature status output doesn't include the feature.
2022-12-27 13:55:37 +02:00
Liu Shilong
550cd6649f
Fix sonic slave pipeline to set correct tag on sonic slave image. (#13177)
Why I did it
Currently sonic-slave-* tag is confusing. Set correct tag on sonic-slave-* image.
Fix job name to fit the build.

How I did it
build amd image in amd64:
sonic-slave-bullseye:cfe29bff67c
sonic-slave-bullseye:latest
sonic-slave-bullseye:master

build armhf image in amd64:
sonic-slave-bullseye-march-armhf:33614806dc3
sonic-slave-bullseye-march-armhf:latest
sonic-slave-bullseye-march-armhf:master

build arm64 image in amd64:
sonic-slave-bullseye-march-arm64:f3b1b16c801
sonic-slave-bullseye-march-arm64:latest
sonic-slave-bullseye-march-arm64:master

build arm64 image in arm64:
sonic-slave-bullseye:75cb326c9a7
sonic-slave-bullseye-arm64:latest
sonic-slave-bullseye:master

build armhf image in armhf:
sonic-slave-bullseye:64d178951fc
sonic-slave-bullseye-armhf:latest
sonic-slave-bullseye:master

How to verify it
2022-12-27 15:40:15 +08:00
Stepan Blyshchak
661669c805
[swss/syncd] remove dependency on interfaces-config.service (#13084)
- Why I did it
Remove dependency on interfaces-config.service to speed up boot, because interfaces-config.service takes a lot of time on boot.

- How I did it
Changed service files for swss, syncd.

- How to verify it
Boot and check swss/syncd start time comparing to interfaces-config

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
2022-12-26 09:20:45 +02:00
Sudharsan Dhamal Gopalarathnam
bbc72e78b0
[dhcp_relay]Fix the clear dhcp6relay_counters CLI (#13148)
Avoid traceback on sonic-clear command

sonic-clear dhcp6relay_counters 
Traceback (most recent call last):
  File "/usr/local/bin/sonic-clear", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/clear/plugins/dhcp-relay.py", line 19, in dhcp6relay_clear_counters
    counter = DHCPv6_Counter()
NameError: name 'DHCPv6_Counter' is not defined

- How I did it
Corrected the way to import using importlib

- How to verify it
Tested the sonic-clear command and verified no traceback is seen
2022-12-26 09:14:59 +02:00
Liu Shilong
449ae1332f
[ci] Add branch tag on sonic-slave-bullseye image. (#13151)
Why I did it
tag sonic-slave-* image with branch.
Only keep sonic-slave-* latest tag when it is master branch and amd64 arch.

How I did it
How to verify it
2022-12-26 10:35:15 +08:00
Marty Y. Lok
948ce3fe09
[Nokia][device-data] Rename the port name in the port_config.ini and also remove ECN setting in the BCM config file (#13053)
Signed-off-by: mlok <marty.lok@nokia.com>
2022-12-22 20:41:29 +00:00
vmittal-msft
3c78a3605c
Update sonic-swss to include chassis fixes (#13130)
Updating sonic-swss to latest to include following fixes -

0d91125 [bufferorch] : Support for buffer profiles for VoQ on chassis (#2465)
94429f1 Fixed a bug causing error state of same configuration is applied twice. (#2580)
f1c0a75 Update FDB state table when , MAC entries are modified as dynamic_local. (#2575)
beaac71 [voq][chassis]Add show fabric counters port/queue commands (#2522)
44d1e9c Fix test_vlan.py (#2541)
c00455a Only collect stdout of orchagent_restart_check in vstest (#2578)
def98d9 Remove TODO comments which are no longer needed (#2568)
2022-12-22 10:46:43 -08:00
roger530-ho
3740f1efb7
[Edgecore][device/accton] Fix subprocess.call issue in is_host(). (#13111)
Signed-off-by: roger530-ho <roger530_ho@edge-core.com>
2022-12-20 13:13:42 -08:00
Santhosh Kumar T
e83aa15f30
[DellEMC] Fixing 'show interface status' break in DellEMC platforms (#13021)
When a non-root user tries to run 'show interface status' command, the command got break as 2.0 API throws permission denied error.
2022-12-20 12:38:09 -08:00
mihirpat1
7181693242
[platform-common] submodule update (#13110)
sonic-platform-common:
676b329efd1b8cbe30b6e874308cd1ccf69466f8 (HEAD, origin/master, origin/HEAD, master) Removing null characters while decoding from syseeprom (#338)
32c0031b01d71515dcda8535c34dda63f6eb50d0 Fix TODO comment (#336)

Signed-off-by: Mihir Patel <patelmi@microsoft.com>
2022-12-20 02:03:11 -08:00
Junchao-Mellanox
2126def04e
[infra] Support syslog rate limit configuration (#12490)
- Why I did it
Support syslog rate limit configuration feature

- How I did it
Remove unused rsyslog.conf from containers
Modify docker startup script to generate rsyslog.conf from template files
Add metadata/init data for syslog rate limit configuration

- How to verify it
Manual test
New sonic-mgmt regression cases
2022-12-20 10:53:58 +02:00
Liu Shilong
6681cad1c5
[action] Keep 'request for xxx branch' label when finished auto-cherry-pick. (#13107)
Why I did it
To keep 'Request for xxx branch' label when finished auto-cherry-pick.

How I did it
Change logic in post cherry pick action.

How to verify it
2022-12-20 16:41:04 +08:00
Liu Shilong
25d9ebbaf4
[build] Fix unexpected warnings: No names found, cannot describe anything. (#12963)
Why I did it
In PR check pipelines, there are too many duplicated warnings:
fatal: No names found, cannot describe anything.
SONIC_IMAGE_VERSION will not change in one build. We don't need to calculate in every reference. We just need calculate one time, then record it.
In Makefile, '=' will calculate again and again when it is referred.

How I did it
Fix it in Makefile.

How to verify it
Check this PR's check pipeline result.
2022-12-20 16:40:10 +08:00
Vivek
8d0419567b
[submodule] Advance sonic-swss pointer (#12970)
6185324fe dereg acl-rule counters during acl-table del (https://github.com/sonic-net/sonic-buildimage/pull/2574)
b865352e7 Align watermark flow with port configuration (https://github.com/sonic-net/sonic-buildimage/pull/2525)
f2d2fb362 L3 / L3 V6  Egress ACL table creation failure (https://github.com/sonic-net/sonic-buildimage/pull/2561)
577f6966c [muxorch] Skip programming ACL for standby `active-active` ports (https://github.com/sonic-net/sonic-buildimage/pull/2569)
242ee1194 [muxorch] Skip programming SoC IP kernel tunnel route (https://github.com/sonic-net/sonic-buildimage/pull/2557)
669511341 [gearbox] Support setting tx taps on gearbox ports (https://github.com/sonic-net/sonic-buildimage/pull/2158)
872f7bf9f [portinit] Do not call GET on SAI_PORT_ATTR_SPEED when AUTONEG is enabled (https://github.com/sonic-net/sonic-buildimage/pull/2484)
6afefe189 [vstest][virtual chassis] Removed dvs.runcmd using click commands (https://github.com/sonic-net/sonic-buildimage/pull/2214)
b8521cc66 [p4orch]: PINS Extension tables support (https://github.com/sonic-net/sonic-buildimage/pull/2506)
d0419dc4b sonic-swss: Fix orchagent crash in generateQueueMapPerPort. (https://github.com/sonic-net/sonic-buildimage/pull/2552)
bd652a040 [muxorch] Adding case for maintaining current state (https://github.com/sonic-net/sonic-buildimage/pull/2280)
6b6dda6af [Centec]for support mclag of centec to configure port isolate-group https://github.com/sonic-net/sonic-buildimage/pull/2529
ec507a4b2 [ACL] Support ACTION_COUNTER action in custom ACL table type (https://github.com/sonic-net/sonic-buildimage/pull/2550)
1a7460464 Use github code scanning instead of LGTM (https://github.com/sonic-net/sonic-buildimage/pull/2546)
bc3c894b0 [dual-tor] add missing SAI attribte in order to create IPNIP tunnel (https://github.com/sonic-net/sonic-buildimage/issues/2503)
dca78d804 (origin/202211) [Fdbsyncd] Bug Fix for remote MAC move to local MAC and Fix for Static MAC advertisement in EVPN. (https://github.com/sonic-net/sonic-buildimage/pull/2521)
2022-12-20 10:06:43 +02:00
Vadym Hlushko
1a5889ade7
[SFP] Change logging severity when failed to read EEPROM (#13011)
- Why I did it
In order to prevent the sonic-mgmt/tests/platform_tests/sfp/test_sfputil.py test failing on the log analyzer step.

The mentioned test is performing the sfputil reset EthernetX for every interface on the SONiC switch, this action will flap the SFP device status (INSTERTED -> REMOVED -> INSTERTED).

The SONiC XCVRD daemon will catch this SFP device status change (because it is monitoring the presence status of the cable).
To judge the cable presence status, currently, we are still leveraging to read the first bytes of the EEPROM, and the EEPROM could be not ready at some moment and the SONiC XCVRD daemon will print the error log to Syslog:

ERR pmon#xcvrd: Error! Unable to read data for 'xx' port, page 'xx' offset 128, rc = 1, err msg: Sending access register

- How I did it
Change logging severity from ERR to WARNING

- How to verify it
Run the sonic-mgmt/tests/platform_tests/sfp/test_sfputil.py

OR much faster way to run the next script on the switch:

#!/bin/bash

START=0
END=248

for (( intf=$START; intf<=$END; intf+=8))
do
    sfputil reset Ethernet"${intf}"
done

sfputil show presence
2022-12-20 10:05:45 +02:00
Kebo Liu
d6ee7f08c2
[Mellanox] change the implementation of is_host() to fix a stuck issue on simx platform (#13100)
- Why I did it
Following code to judge whether a process is running inside a docker could get stuck on the simx platform

subprocess.Popen(["docker", "--version"],
                                stdout=subprocess.PIPE,
                                stderr=subprocess.STDOUT,
                                universal_newlines=True)
When it gets stuck, the config-chassisdb service can not be successfully started, thus the system can not be booted up.

root@sonic:/# service config-chassisdb status
     config-chassisdb.service - Config chassis_db
     Loaded: loaded (/lib/systemd/system/config-chassisdb.service; enabled; vendor preset: enabled)
     Active: activating (start) since Thu 2022-12-15 09:23:02 UTC; 29min ago
   Main PID: 571 (config-chassisd)
      Tasks: 14 (limit: 9501)
     Memory: 132.4M
     CGroup: /system.slice/config-chassisdb.service
                        ├─571 /bin/bash /usr/bin/config-chassisdb
			├─575 /usr/bin/python3 /usr/local/bin/sonic-cfggen -H -v DEVICE_METADATA.localhost.platform
			├─602 /bin/sh -c sudo decode-syseeprom -m
			├─603 sudo decode-syseeprom -m
			├─607 /usr/bin/python3 /usr/local/bin/decode-syseeprom -m
			├─616 /bin/sh -c docker --version 2>/dev/null
			└─617 docker --version

- How I did it
Use an alternative way to implement this function and issue can be avoided:

docker_env_file = '/.dockerenv'
return os.path.exists(docker_env_file) is False

- How to verify it
run regression on real hardware and simx platform.
2022-12-20 10:00:11 +02:00
Liu Shilong
364045cfe5
[build] Add retry when make SONiC image to improve success rate. (#12325)
Why I did it
Makefile needs some dependencies from the Internet. It will fail for network related issue.
Retries will fix most of these issues.

How I did it
Add retries when running commands which maybe related with networking.

How to verify it
2022-12-19 12:18:36 +08:00
tianshangfei
b65e06f998
two platforms supporting S3IP SYSFS (TCS8400, TCS9400) (#12386)
Why I did it
Add two platform that support s3IP framework

How I did it
Add two platforms supporting S3IP SYSFS (TCS8400, TCS9400)

How to verify it
Manual test
2022-12-18 16:16:53 +08:00
FSSec
bb09ebe977
[FS][arm64] support new boars s5800-48t4s and s5800-48t8s-mars8p (#12994)
Adding platform support for FS s5800-48t4s and s5800-48t8s-mars8p.

Both s5800-48t4s and s5800-48t8s-mars8p have 48 * 10/100/1000 Base-T ports, 4 * 10GE SFP+ Ports on Centec TsingMa.
s5800-48t4s is different from s5800-48t8s-mars8p in that:

The phy chip used by s5800-48t4s is Marvell 88e1680;
The phy chip used by s5800-48t4s-mars8p is Centec ctc21108;
2022-12-17 14:48:02 -08:00
FuzailBrcm
8788f1cc0f
[pddf]: fix Observing the following error while running 'sfputil show lpmode' command. (#12636)
Why I did it
Fixes #12634

Observing the following error while running 'sfputil show lpmode' command.
AttributeError: 'Sfp' object has no attribute 'get_power_set'

Root Cause: get_power_set() is defined for QSFP28 and QSFP+ i.e. Sff8636 and Sff8634. However, the function is not defined in the optoe_base class.

How I did it
To use get_power_set(), we need to initialise the 'api' via get_xcvr_api() and then use it to run get_power_set().
2022-12-17 14:42:15 -08:00
Konstantin Vasin
20cad3b2f5
[Build] fix make clean (#12713)
Why I did it

make clean is broken after #12000:

bash: -c: line 1: syntax error near unexpected token `;'
bash: -c: line 1: `make -f slave.mk PLATFORM= PLATFORM_ARCH=amd64 MULTIARCH_QEMU_ENVIRON=n 
...
MIRROR_URLS= MIRROR_SECURITY_URLS=  Q=@ clean; ; '
make[1]: *** [Makefile.work:531: clean] Error 2

How I did it

Remove a conditional for clean command.

Signed-off-by: Konstantin Vasin <k.vasin@yadro.com>
2022-12-17 14:39:41 -08:00
Konstantin Vasin
bf90b498a4
[Build] use pigz to speed up a build (#12825)
Why I did it

It's possible to speed up some parts of a build using parallel compression/decompression.
This is especially important for build_debian.sh.

How I did it
pigz is a parallel implementation of gzip: https://zlib.net/pigz/
Some programs like docker and mkinitramfs can automatically detect and use it instead of gzip.
For tar we need to select it directly.

To enable this feature you need to set GZ_COMPRESS_PROGRAM=pigz
2022-12-17 14:38:31 -08:00
FuzailBrcm
abc8ed8a79
[pddf]: Adding PDDF common framework enhancements. (#12863)
- Consolidating multiple read functions in a PSU driver on the basis of byte, word or block read,
- Enhancing PDDF parsing script support for CPU and PCH temperature reading,
- Adding missing methods in PDDF common APIs

Why I did it
- PSU driver changes are to optimize the code and increase the code coverage
- PDDF parser script enhancements to accommodate the CPU and PCH temp reading using hwmon device path
- Some of the new APIs were missing from the PDDF common platform classes

How I did it
Added code changes and verified them on AS7816 adn AS7726 platforms.
2022-12-17 14:36:52 -08:00
andywongarista
372a7c85c5
[Arista] Update ip packet checksum when set to 0xffff on 720DT-48S (#13088)
Why I did it
This is to fix test_forward_ip_packet_with_0xffff_chksum_tolerant test failure on 720DT-48S. IP packets with checksum set to 0xffff will be forwarded with the same checksum on this platform, instead of updating to the correct value.

How I did it
Add bcm config sai_verify_incoming_chksum=0 so that checksum is updated instead of being left unchanged when checksum is 0xffff. Note that packets with invalid checksum are still dropped with this config.
2022-12-17 13:47:05 -08:00
Konstantin Vasin
8a3fad2891
[Build] mount cgroup2 in chroot to fix build on ubuntu 22.04 (#13030)
Why I did it
Ubuntu 22.04 uses cgroup2 by default, but docker.sh doesn't mount it.
As a result we get an error when trying to run docker info in chroot env:

ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

How I did it
mount cgroup2 in chroot if all enabled kernel cgroup controllers are currently not in use by cgroup1

So we need to mount cgroup in chroot environment on /sys/fs/cgroup.
Because inside chroot we don't know which cgroup version is used by the host we have two possible solutions:

cgroup tree for chroot is mounted by the host (it was my 1st version of this fix)
cgroup tree is mounted inside chroot based on info from /proc/cgroups (it's current version of this fix)
My 2nd version based on this code from systemd: 5c6c587ce2/src/shared/cgroup-setup.c (L35-L74)

We parse info from /proc/cgroups
Skip header line started from #
Skip controller if it's disabled (4th column = 0)
Count number of controllers with non-zero of hierarchy_id (2nd column)
If this number is not zero then we assume some of controllers are used by host system and the host system uses hybrid or legacy cgroup tree. In this case we can't use unified cgroup tree inside chroot and mount old cgroup tree (v1).
If this number is zero then we assume host system uses unified cgroup tree and we need to mount cgroup2 inside chroot.

Signed-off-by: Konstantin Vasin <k.vasin@yadro.com>
2022-12-17 12:16:45 -08:00