Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix broadcom lane map for 7050-QX32S #2120

Merged
merged 1 commit into from
Oct 4, 2018
Merged

Conversation

zzhiyuan
Copy link
Contributor

@zzhiyuan zzhiyuan commented Oct 4, 2018

First port lane map needs to be swapped.

- What I did

- How I did it

- How to verify it

- Description for the changelog

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

First port lane map needs to be swapped.
@lguohan lguohan merged commit 7cdf3cb into sonic-net:master Oct 4, 2018
liorghub added a commit to liorghub/sonic-buildimage that referenced this pull request Mar 23, 2022
Update sonic-swss submodule to include below commits:
d80094b [aclorch] Do not fail ACL rule remove flow if rule already deleted (sonic-net#2183)
bea0b70 [gcov]: Change coverage.xml file references (sonic-net#2120)
829b219 [tunnelmgrd]: Warm boot support (sonic-net#2166)
ad65b0a Fix issue: sometimes PFC WD unable to create zero buffer pool (sonic-net#2164)
608acc3 [doc] Moving Configuration.md from swss to yang sub-folder (sonic-net#2177)
0294376 [orchagent] NVGRE Tunnel orchestration agent implementation (sonic-net#1953)
ce88696 [ci] Update default sonic image downloading build ID. (sonic-net#2175)
liat-grozovik pushed a commit that referenced this pull request Mar 29, 2022
Update sonic-swss submodule to include below commits:
d80094b [aclorch] Do not fail ACL rule remove flow if rule already deleted (#2183)
bea0b70 [gcov]: Change coverage.xml file references (#2120)
829b219 [tunnelmgrd]: Warm boot support (#2166)
ad65b0a Fix issue: sometimes PFC WD unable to create zero buffer pool (#2164)
608acc3 [doc] Moving Configuration.md from swss to yang sub-folder (#2177)
0294376 [orchagent] NVGRE Tunnel orchestration agent implementation (#1953)
ce88696 [ci] Update default sonic image downloading build ID. (#2175)

Co-authored-by: liora <liora@nvidia.com>
liat-grozovik pushed a commit that referenced this pull request Apr 4, 2022
In order to include the following commit:
c752457 [PBH] Implement Edit Flows (sonic-net/sonic-utilities#2093)

sonic-utilities
f70dc27 [techsupport] Handle minor fixes of TS Lock and update auto-TS (#2114)
51d3550 Fix issues in clear_qos (#2122)
6d3aa1e [GCU] Optimizing moves by adding generators for keys/tables (#2120)
65a5a6b Fixing get port speed when oper status is down (#2123)
c752457 [PBH] Implement Edit Flows (#2093)
827358f [debug dump] dump interface module added (#2070)

Signed-off-by: Nazarii Hnydyn <nazariig@nvidia.com>
stepanblyschak added a commit to stepanblyschak/sonic-buildimage that referenced this pull request Apr 13, 2022
23e93984 [scripts/fast-reboot] Shutdown remaining containers through systemd (sonic-net#2133)
576c9efc [scripts/fast-reboot] stop timers in advance (sonic-net#2131)
4dad79c4 bugfix: incorrect command for portchannel creation (sonic-net#2134)
c17b1f49 [show][muxcable] Decrease the timeout for show mux status/hwmode (sonic-net#2130)
49d61f84 [scripts/fast-reboot] cleanup (sonic-net#2132)
52ca3245 [config/config_mgmt.py]: Fix dpb issue with upper case mac in (sonic-net#2066)
9e2fbf40 Update db_migrator to support `pfcwd_sw_enable` (sonic-net#2087)
4010bd09 FGNHG CLI changes (sonic-net#1588)
6bd54d04 Fix 'show mac' output when FDB entry for default vlan is None instead of 1 (sonic-net#2126)
f70dc27 [techsupport] Handle minor fixes of TS Lock and update auto-TS (sonic-net#2114)
51d3550 Fix issues in clear_qos (sonic-net#2122)
6d3aa1e [GCU] Optimizing moves by adding generators for keys/tables (sonic-net#2120)
65a5a6b Fixing get port speed when oper status is down (sonic-net#2123)
c752457 [PBH] Implement Edit Flows (sonic-net#2093)
827358f [debug dump] dump interface module added (sonic-net#2070)

Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
taras-keryk pushed a commit to taras-keryk/sonic-buildimage that referenced this pull request Apr 28, 2022
…t#2120)

#### What I did
Fixes sonic-net#2099

Grouping all fields under tables/keys to be added/deleted in 1 JsonChange.


**BEFORE** how did we generate moves to try?
- Start with the low level differences, low level means differences that has no children
- Then extend this low level by different extenders, the most used is the `UpperLevelMoveExtender`
- Extended the already extended moves to go upper in level, and do that multiple times until there are no possible moves to extend

The diagram below shows:
- Generation (low level):
```json
{"op":"replace", "path":"/ACL_RULE/SNMP_ACL|RULE_1/SRC_IP", "value": "1.1.1.1/21"}
{"op":"remove", "path":"/ACL_RULE/SNMP_ACL|RULE_2/PRIORITY"}
{"op":"remove", "path":"/ACL_RULE/SNMP_ACL|RULE_2/SRC_IP"}
{"op":"remove", "path":"/ACL_RULE/SNMP_ACL|RULE_2/IP_PROTOCOL"}
{"op":"remove", "path":"/ACL_RULE/SNMP_ACL|RULE_2/PACKET_ACTION"}
{"op":"add", "path":"/ACL_RULE/SNMP_ACL|RULE_3/PRIORITY", "value": "9997"}
{"op":"add", "path":"/ACL_RULE/SNMP_ACL|RULE_3/SRC_IP", "value": "3.3.3.3/20"}
{"op":"add", "path":"/ACL_RULE/SNMP_ACL|RULE_3/IP_PROTOCOL", "value": "17"}
{"op":"add", "path":"/ACL_RULE/SNMP_ACL|RULE_3/PACKET_ACTION", "value": "ACCEPT"}
```
- Extension - 1st level
```json
{"op":"replace", "path":"/ACL_RULE/SNMP_ACL|RULE_1", "value": {"PRIORITY": "9999","SRC_IP": "2.2.2.2/21","SRC_IP": "1.1.1.1/21","IP_PROTOCOL": "17","PACKET_ACTION": "ACCEPT"}}
{"op":"remove", "path":"/ACL_RULE/SNMP_ACL|RULE_2"}
{"op":"add", "path":"/ACL_RULE/SNMP_ACL|RULE_3", "value": {"PRIORITY": "9997","SRC_IP": "3.3.3.3/20","IP_PROTOCOL": "17","PACKET_ACTION": "ACCEPT"}}
```
- Extension - 2nd level
```json
{"op":"replace", "path":"/ACL_RULE", "value": {"SNMP_ACL|RULE_1": {"PRIORITY": "9999","SRC_IP": "1.1.1.1/21","IP_PROTOCOL": "17","PACKET_ACTION": "ACCEPT"},"SNMP_ACL|RULE_3": {"PRIORITY": "9997","SRC_IP": "3.3.3.3/20","IP_PROTOCOL": "17","PACKET_ACTION": "ACCEPT"},"SNMP_ACL|DEFAULT_RULE": {"PRIORITY": "1","ETHER_TYPE": "2048","PACKET_ACTION": "DROP"}}}
```
- Extension - 3rd level
 ```json
{"op":"replace", "path":"", "value": {"ACL_RULE": {"SNMP_ACL|RULE_1": {"PRIORITY": "9999","SRC_IP": "1.1.1.1/21","IP_PROTOCOL": "17","PACKET_ACTION": "ACCEPT"},"SNMP_ACL|RULE_3": {"PRIORITY": "9997","SRC_IP": "3.3.3.3/20","IP_PROTOCOL": "17","PACKET_ACTION": "ACCEPT"},"SNMP_ACL|DEFAULT_RULE": {"PRIORITY": "1","ETHER_TYPE": "2048","PACKET_ACTION": "DROP"}},"ACL_TABLE": {"SNMP_ACL": {"type": "CTRLPLANE","policy_desc": "SNMP_ACL","services": ["SNMP"]}}}}
```
![image](https://user-images.githubusercontent.com/3927651/160676723-29688656-3382-4247-8358-cb988cda5134.png)


**AFTER**
In this PR, we introduce a different kind of generator. The non-extendable generators i.e. generators that their moves do not get extended using the extenders. We added 2 generators:
- KeyLevelGenerator: if a whole key to be deleted or added, do that directly.
- TableLevelGenerator: if a whole table to be deleted or added, do that directly.

Only **enabled** KeyLevelGenerator, to enable **TableLevelGenerator** we have to confirm with Renuka if it is possible to update a whole table at once in the `ChangeApplier` (instead of just keys like it is today). We have to be able to update a table as a whole because within the table there can be internal dependencies between the object, so we have to guarantee all objects are deleted together. For the keys it is guaranteed for the whole key to be updated at once according to the `ChangeApplier`.

**Why non-extendable generators?**
Calling the non-extendable generators precedes the extendable ones, it is like checking for the low hanging fruits. If we use the same extenders for these new generators we will always go up the config tree. Imaging a move that tries to update a key but fails, then we call the extenders on this move. What will happen is the extenders will go up the config tree to the table level, will first try to replace the table, then try to delete the table. Deleting the table is a problem because it affects multiple more than intended and thus violates the minimum disruption guarantee. We decided to leave the extenders only for the LowLevelGenerator thus making sure we try all possible moves from the lowest levels and go up from there.

Another way to look at it is like this:
- Non-extendable generators do top-down search: Check tables, keys in this order
- Extendable generators and extenders do bottom-up approach: Check fields, keys, tables in this order

#### How I did it
Modifying the `MoveWrapper.Generate` method to allow for different type of move generators

#### How to verify it
Unit-test

Please check `tests/generic_config_updater/files/patch_sorter_test_success.json` to see how the moved generated got much compacted.

#### Previous command output (if the output of a command-line utility has changed)

#### New command output (if the output of a command-line utility has changed)
Ndancejic pushed a commit to Ndancejic/sonic-buildimage that referenced this pull request May 3, 2022
* [gcov] In gcov_support.sh, in the final coverage.xml that is generated remove all references to the common_work/gcov/ directory.
Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants