Skip to content

Comments

Merge from https://github.com/Azure/sonic-swss.msft/202412 to 202503#84

Open
arlakshm wants to merge 14 commits intoAzure:202503from
arlakshm:dev/arlakshm/swss_upd_202503
Open

Merge from https://github.com/Azure/sonic-swss.msft/202412 to 202503#84
arlakshm wants to merge 14 commits intoAzure:202503from
arlakshm:dev/arlakshm/swss_upd_202503

Conversation

@arlakshm
Copy link

mssonicbld and others added 14 commits April 22, 2025 16:02
<!--
Please make sure you have read and understood the contribution guildlines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

1. Make sure your commit includes a signature generted with `git commit -s`
2. Make sure your commit title follows the correct format: [component]: description
3. Make sure your commit message contains enough details about the change and related tests
4. Make sure your pull request adds related reviewers, asignees, labels

Please also provide the following information in this pull request:
-->

**What I did**

`SAI_PORT_STAT_IF_FEC_CORRECTED_BITS_last` and `SAI_PORT_STAT_IF_FEC_NOT_CORRECTABLE_FARMES_last` counter values could be NOT present in redis, so initialize these values to ZERO

**Why I did it**
To prevent following error seen during warm boot

```
root@sonic:/# redis-cli --eval ./usr/share/swss/port_rates.lua oid:0x100000000000a , 2 COUNTERS 10
(error) ERR user_script:204: attempt to concatenate local 'fec_corr_bits_last' (a boolean value) script: b46cd0b446729aab6bbd20e0d4aa977e3da8f5f1, on @user_script:204.
root@sonic:/# redis-cli --eval ./usr/share/swss/port_rates.lua oid:0x100000000000a , 2 COUNTERS 10
(error) ERR user_script:204: attempt to concatenate local 'fec_corr_bits_last' (a boolean value) script: b46cd0b446729aab6bbd20e0d4aa977e3da8f5f1, on @user_script:204.
root@sonic:/# redis-cli --eval ./usr/share/swss/port_rates.lua oid:0x100000000000a , 2 COUNTERS 10
(error) ERR user_script:206: attempt to perform arithmetic on local 'fec_corr_bits_last' (a boolean value) script: cb98161ae9433f9bf8265cffd7d2eaaf6ac9282f, on @user_script:206.
root@sonic:/#
```

**How I verified it**
After fix the last computer FEC ber values are stored in redis DB

```
root@sonic:/# redis-cli --eval ./usr/share/swss/port_rates.lua oid:0x100000000000a , 2 COUNTERS 10
1) "0.18"
2) "0.82"
3) "10"
4) "DONE"
root@str2-7050cx3-acs-14:/# redis-cli -n 2 hgetall "RATES:oid:0x100000000000a"
 1) "SAI_PORT_STAT_IF_IN_UCAST_PKTS_last"
 2) "0"
 3) "SAI_PORT_STAT_IF_IN_NON_UCAST_PKTS_last"
 4) "0"
 5) "SAI_PORT_STAT_IF_OUT_UCAST_PKTS_last"
 6) "0"
 7) "SAI_PORT_STAT_IF_OUT_NON_UCAST_PKTS_last"
 8) "0"
 9) "SAI_PORT_STAT_IF_IN_OCTETS_last"
10) "0"
11) "SAI_PORT_STAT_IF_OUT_OCTETS_last"
12) "0"
13) "RX_BPS"
14) "0"
15) "RX_PPS"
16) "0"
17) "TX_BPS"
18) "0"
19) "TX_PPS"
20) "0"
21) "SAI_PORT_STAT_IF_FEC_CORRECTED_BITS_last"
22) "0"
23) "SAI_PORT_STAT_IF_FEC_NOT_CORRECTABLE_FARMES_last"
24) "0"
25) "FEC_PRE_BER"
26) "0"
27) "FEC_POST_BER"
28) "0"
root@str2-7050cx3-acs-14:/#
```

**Details if related**
```<br>* be436da - (HEAD -> 202412) Merge branch '202411' of https://github.com/sonic-net/sonic-swss into 202412 (2025-04-23) [Sonic Automation]
* 79f04e3 - (origin/202411) Initialize the last fec ber computed values if not found (#3621) (2025-04-22) [mssonicbld]<br>```
…zure#75)

<!--
Please make sure you have read and understood the contribution guildlines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

1. Make sure your commit includes a signature generted with `git commit -s`
2. Make sure your commit title follows the correct format: [component]: description
3. Make sure your commit message contains enough details about the change and related tests
4. Make sure your pull request adds related reviewers, asignees, labels

Please also provide the following information in this pull request:
-->

**What I did**

The timestamp of PFC watchdog polling is moved out of the COUNTER table. The PFC watchdog Lua plugin should be adjusted accordingly.

**Why I did it**

**How I verified it**

**Details if related**
…dge (Azure#79)

<!--
Please make sure you have read and understood the contribution guildlines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

1. Make sure your commit includes a signature generted with `git commit -s`
2. Make sure your commit title follows the correct format: [component]: description
3. Make sure your commit message contains enough details about the change and related tests
4. Make sure your pull request adds related reviewers, asignees, labels

Please also provide the following information in this pull request:
-->

**What I did**

This PR is to fix an orchagent crash issue. Error logs are as below.
```
2025 May 1 05:51:07.128331 str4-7060x6-64pe-7 ERR swss#orchagent: :- meta_generic_validation_remove: object 0x3a0000000000d7 reference count is 1, can't remove
2025 May 1 05:51:07.128331 str4-7060x6-64pe-7 ERR swss#orchagent: :- removeDefaultBridgePorts: Failed to remove bridge port, rv:-17
2025 May 1 05:51:07.128566 str4-7060x6-64pe-7 INFO swss#supervisord: orchagent terminate called after throwing an instance of 'std::runtime_error'
2025 May 1 05:51:07.128566 str4-7060x6-64pe-7 INFO swss#supervisord: orchagent what(): PortsOrch initialization failure
2025 May 1 05:51:07.815330 str4-7060x6-64pe-7 INFO swss#supervisord 2025-05-01 05:51:07,814 WARN exited: orchagent (terminated by SIGABRT (core dumped); not expected)
```
It's because FDB is learnt on the default bridge, which increased reference count for bridge port and caused port removal failure.

The issue is addressed by **not** setting `SAI_SWITCH_ATTR_FDB_EVENT_NOTIFY` when creating switch, and enable it after all ports being removed from default bridge.

**Why I did it**
This PR is to fix an orchagent crash issue.

**How I verified it**
1. The change is verified on multiple platforms. FDB learning can be done normally after this change.

**Broadcom**
```
admin@str4-7060x6-64pe-fan-4:~$ fdbshow
 No. Vlan MacAddress Port Type
----- ------ ----------------- ----------- -------
 1 1234 B6:2C:7E:FC:80:00 Ethernet496 Dynamic
 2 1234 D6:5E:2C:C0:B8:0B Ethernet496 Dynamic
 3 1235 CE:8F:2A:A1:00:01 Ethernet496 Dynamic
```
**Mellanox**
```
admin@str-msn2700-01:~$ fdbshow
 No. Vlan MacAddress Port Type
----- ------ ----------------- --------- -------
 1 1000 7C:FE:90:5E:60:01 Ethernet4 Dynamic
Total number of entries 1
```

**Cisco**
```
admin@str3-8101-03:~$ fdbshow
 No. Vlan MacAddress Port Type
----- ------ ----------------- ----------- -------
 1 1000 9C:09:8B:B6:E6:00 Ethernet240 Dynamic
Total number of entries 1
```

2. The existing VS test `test_fdb.py` can cover the change.

**Details if related**
[202412][trim]: Add Packet Trimming to OA
Signed-off-by: Mahdi Ramezani <mramezani@microsoft.com>
Signed-off-by: Mahdi Ramezani <mramezani@microsoft.com>
Signed-off-by: Mahdi Ramezani <mramezani@microsoft.com>
[202411] Setting default nexthop weight to 1 in `fpmsyncd`
[202412] Code sync sonic-net/sonic-swss:202411 => 202412
* SRv6: add MySID counters support

* query SAI capability to check if SRv6 MySID counter is supported
* support for SRv6 MySID counter utilizing flex counter infrastructure
* extend vs test test_flex_counters.py

* SRv6: increase log level for the counters state update

Signed-off-by: Yakiv Huryk <yhuryk@nvidia.com>

---------

Signed-off-by: Yakiv Huryk <yhuryk@nvidia.com>
@arlakshm arlakshm requested a review from yxieca May 23, 2025 21:03
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.

10 participants