Skip to content

Remove BFSOC version displayed in mellanox platforms#2

Closed
tirupatihemanth wants to merge 1 commit intomasterfrom
hemkt/bfsoc
Closed

Remove BFSOC version displayed in mellanox platforms#2
tirupatihemanth wants to merge 1 commit intomasterfrom
hemkt/bfsoc

Conversation

@tirupatihemanth
Copy link
Copy Markdown
Owner

@tirupatihemanth tirupatihemanth commented Apr 28, 2025

Why I did it

To remove BFSOC: N/A version displayed in get_component_versions.py output in mellanox platforms and remove HW_MANAGEMENT: N/A version displayed in nvidia-bluefield dpu platforms.

Work item tracking
  • Microsoft ADO (number only):

How I did it

Update get_component_versions.j2 jinja template to generate different UNAVAILABLE_COMPILED_VERSIONS based on the platform

How to verify it

Run get_component_versions.py on the switch

SWITCH: Before
root@switch:/home/admin# get_component_versions.py
COMPONENT      COMPILATION             ACTUAL
-------------  ----------------------  -------------------------
SDK            4.7.2214                4.7.2214
FW             2014.2214               2014.2214
SAI            SAIBuild2411.2405.30.1  SAIBuild2411.2405.30.1
HW_MANAGEMENT  7.0040.2207             7.0040.2207
MFT            4.30.2-23               4.30.2-23
KERNEL         6.1.0-22-2              6.1.0-22-2
BFSOC          N/A                     N/A
ONIE           -                       2024.08-5.3.0015-9600-dev
SSD            -                       CE00A400
BIOS           -                       0ACTV_00.01.013_9600
CPLD1          -                       CPLD000370_REV0500
CPLD2          -                       CPLD000387_REV0500
CPLD3          -                       CPLD000388_REV0200
DPU1_FPGA      -                       FPGA000375_REV0200
DPU2_FPGA      -                       FPGA000375_REV0200
DPU3_FPGA      -                       FPGA000375_REV0200
DPU4_FPGA      -                       FPGA000375_REV0200
SWITCH: After
  • BFSOC is removed below for the Mellanox Platform Switch
root@switch:/home/admin# get_component_versions.py
COMPONENT      COMPILATION             ACTUAL
-------------  ----------------------  -------------------------
SDK            4.7.2214                4.7.2214
FW             2014.2214               2014.2214
SAI            SAIBuild2411.2405.30.1  SAIBuild2411.2405.30.1
HW_MANAGEMENT  7.0040.2104             7.0040.2104
MFT            4.30.2-23               4.30.2-23
KERNEL         6.1.0-22-2              6.1.0-22-2
ONIE           -                       2024.08-5.3.0015-9600-dev
SSD            -                       CE00A400
BIOS           -                       0ACTV_00.01.013_9600
CPLD1          -                       CPLD000370_REV0500
CPLD2          -                       CPLD000387_REV0500
CPLD3          -                       CPLD000388_REV0200
DPU1_FPGA      -                       FPGA000375_REV0200
DPU2_FPGA      -                       FPGA000375_REV0200
DPU3_FPGA      -                       FPGA000375_REV0200
DPU4_FPGA      -                       FPGA000375_REV0200

DPU: Before
root@dpu:/home/admin# get_component_versions.py
COMPONENT      COMPILATION       ACTUAL
-------------  ----------------  ----------------
SDK            25.4-RC3          1.5-1mlnx1
FW             45.0322           45.0322
SAI            SAIBuild0.0.41.0  SAIBuild0.0.41.0
HW_MANAGEMENT  N/A               N/A
MFT            4.30.2-23         4.30.2-23
KERNEL         6.1.0-22-2        6.1.0-22-2
BFSOC          4.11.0-13582      4.11.0-13582
ONIE           -                 N/A
SSD            -                 N/A
BIOS           -                 N/A
CPLD           -                 N/A
DPU: After
root@dpu:~# get_component_versions.py
COMPONENT    COMPILATION       ACTUAL
-----------  ----------------  ----------------
SDK          25.4-RC3          1.5-1mlnx1
FW           45.0322           45.0322
SAI          SAIBuild0.0.41.0  SAIBuild0.0.41.0
MFT          4.30.2-23         4.30.2-23
KERNEL       6.1.0-22-2        6.1.0-22-2
BFSOC        4.11.0-13582      4.11.0-13582
ONIE         -                 N/A
SSD          -                 N/A
BIOS         -                 N/A
CPLD         -                 N/A

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

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

tirupatihemanth pushed a commit that referenced this pull request May 2, 2025
…et#21405)

<!--
 Please make sure you've read and understood our contributing guidelines:
 https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

 failure_prs.log skip_prs.log Make sure all your commits include a signature generated with `git commit -s` **

 If this is a bug fix, make sure your description includes "fixes #xxxx", or
 "closes #xxxx" or "resolves #xxxx"

 Please provide the following information:
-->

#### Why I did it

Adding the below fix from FRR FRRouting/frr#17297

This is to fix the following crash which is a statistical issue

```
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_nl -M snmp'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fccd7351e2c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7fccd6faf7c0 (LWP 36))]
(gdb) bt
#0 0x00007fccd7351e2c in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fccd7302fb2 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007fccd72ed472 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007fccd75bb3a9 in _zlog_assert_failed (xref=xref@entry=0x7fccd7652380 <_xref.16>, extra=extra@entry=0x0) at ../lib/zlog.c:678
#4 0x00007fccd759b2fe in route_node_delete (node=<optimized out>) at ../lib/table.c:352
#5 0x00007fccd759b445 in route_unlock_node (node=0x0) at ../lib/table.h:258
#6 route_next (node=<optimized out>) at ../lib/table.c:436
#7 route_next (node=node@entry=0x56029d89e560) at ../lib/table.c:410
#8 0x000056029b6b6b7a in if_lookup_by_name_per_ns (ns=ns@entry=0x56029d873d90, ifname=ifname@entry=0x7fccc0029340 "PortChannel1020")
 at ../zebra/interface.c:312
#9 0x000056029b6b8b36 in zebra_if_dplane_ifp_handling (ctx=0x7fccc0029310) at ../zebra/interface.c:1867
#10 zebra_if_dplane_result (ctx=0x7fccc0029310) at ../zebra/interface.c:2221
#11 0x000056029b7137a9 in rib_process_dplane_results (thread=<optimized out>) at ../zebra/zebra_rib.c:4810
#12 0x00007fccd75a0e0d in thread_call (thread=thread@entry=0x7ffe8e553cc0) at ../lib/thread.c:1990
#13 0x00007fccd7559368 in frr_run (master=0x56029d65a040) at ../lib/libfrr.c:1198
#14 0x000056029b6ac317 in main (argc=9, argv=0x7ffe8e5540d8) at ../zebra/main.c:478
```

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it
Added patch.

#### How to verify it
Running BGP tests.

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

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

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211
- [ ] 202305

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
tirupatihemanth pushed a commit that referenced this pull request May 19, 2025
…sue. (sonic-net#22342)

Fix TACACS config revert to old config when device reboot issue.

#### Why I did it
Fix following bug:

1. When SONiC OS upgrade, old TACACS config will save to /etc/sonic/old_config/tacacs.json
2. After device reboot, TACACS config service (https://github.com/sonic-net/sonic-buildimage/blob/master/files/build_templates/tacacs-config.service) will restore TACACS config from /etc/sonic/old_config/tacacs.json, but this file will keep no change after restore TACACS config.
3. If TACACS service changed by user, because of #2, if device reboot again, the TACACS config been reverted back to old config in /etc/sonic/old_config/tacacs.json

Note: the TACACS config does not revert immediately after reboot, it will delay 5min 30sec:
https://github.com/sonic-net/sonic-buildimage/blob/master/files/build_templates/tacacs-config.timer

##### Work item tracking
- Microsoft ADO **(number only)**:32338799

#### How I did it
Move /etc/sonic/old_config/tacacs.json to /etc/sonic/old_config/tacacs.json_backup

#### How to verify it
Pass all test case.
Manually verify with following steps:

admin@vlab-01:~$ show tacacs
TACPLUS global auth_type login
TACPLUS global timeout 5 (default)
TACPLUS global passkey testing123

TACPLUS_SERVER address 10.250.0.102
               priority 1
               tcp_port 49

admin@vlab-01:~$ echo '
> {
>     "TACPLUS": {"global": { "auth_type": "login", "passkey": "12345" } }
> }' > /etc/sonic/old_config/tacacs.json
admin@vlab-01:~$ cat /etc/sonic/old_config/tacacs.json

{
    "TACPLUS": {"global": { "auth_type": "login", "passkey": "12345" } }
}

// then reboot device and wait for 6 minutes, because the TACACS config service will delay 5min 30sec after reboot:
https://github.com/sonic-net/sonic-buildimage/blob/master/files/build_templates/tacacs-config.timer

admin@vlab-01:~$ ls /etc/sonic/old_config/tacacs.json
ls: cannot access '/etc/sonic/old_config/tacacs.json': No such file or directory
admin@vlab-01:~$ show tacacs
TACPLUS global auth_type login
TACPLUS global timeout 5 (default)
TACPLUS global passkey 12345

TACPLUS_SERVER address 10.250.0.102
               priority 1
               tcp_port 49

#### Description for the changelog
Fix TACACS config revert to old config when device reboot issue.
tirupatihemanth pushed a commit that referenced this pull request Mar 13, 2026
…net#25643)

* [build] Add build timing report and dependency analysis tools

Add three scripts for build performance instrumentation:

- scripts/build-timing-report.sh: Parse per-package timing from build
  logs (HEADER/FOOTER timestamps), generate sorted duration table,
  phase breakdown, parallelism timeline, and CSV export.

- scripts/build-dep-graph.py: Parse rules/*.mk dependency graph,
  compute critical path, fan-out/fan-in bottleneck analysis, and
  generate DOT/JSON output for visualization.

- scripts/build-resource-monitor.sh: Sample CPU, memory, disk I/O,
  and Docker container count during builds for resource utilization
  analysis.

Add "make build-report" target to slave.mk that runs the timing
report and dependency analysis after a build completes.

Example output from a VS build on 24-core/30GB machine:
- 210 packages built in 53m wall time (173m CPU)
- Max concurrency: 5 (with SONIC_CONFIG_BUILD_JOBS=4)
- Critical path: 14 packages deep (libnl -> libswsscommon -> utilities)
- Top bottleneck: LIBSWSSCOMMON with 48 downstream dependents

Signed-off-by: Rustiqly <rustiqly@users.noreply.github.com>

* Address Copilot review: fix 17 bugs in build analysis scripts

- Use free -m with division instead of free -g to avoid rounding (#1)
- Add = and ?= to Makefile dependency regex patterns (#2, #7)
- CPU calculation now uses /proc/stat delta (two reads) (#3, #14)
- Fix misleading 'critical path estimate' comment (#4)
- Fix parallelism timeline comment (60s not 10s) (#5)
- Include after-relationship packages in fan stats (#6)
- Guard disk I/O division by zero when INTERVAL<=1 (#8)
- Remove unused elapsed_line variable (#9)
- Remove redundant LIBSWSSCOMMON_DBG check (#10)
- Remove active_make_jobs from CSV header comment (#11)
- Wire up _RDEPENDS parsing to build reverse deps (#12)
- Remove unnecessary 'if v' filter on rdeps JSON (#13)
- Remove unused REPORT_FORMAT parameter (#15)
- Add cycle detection to critical path algorithm (#16)
- Add execute permission check for companion scripts (#17)

Signed-off-by: Rustiqly <rustiqly@users.noreply.github.com>

---------

Signed-off-by: Rustiqly <rustiqly@users.noreply.github.com>
Co-authored-by: Rustiqly <rustiqly@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants