[Manual Sync] From sonic-net/sonic-utilities 202205 to Azure/sonic-utitities.msft repo#5
Merged
gechiang merged 7 commits intoAzure:202205from May 25, 2023
gechiang:202205
Merged
[Manual Sync] From sonic-net/sonic-utilities 202205 to Azure/sonic-utitities.msft repo#5gechiang merged 7 commits intoAzure:202205from gechiang:202205
gechiang merged 7 commits intoAzure:202205from
gechiang:202205
Conversation
- When enabling proxy_arp for a VLAN, configure and start the ndppd service if it isn't already running - When removing the last VLAN, stop the ndppd service Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
* Update TRANSCEIVER_INFO table after CDB FW upgrade Signed-off-by: Mihir Patel <patelmi@microsoft.com> * Added testcases to improve code coverage --------- Signed-off-by: Mihir Patel <patelmi@microsoft.com>
…#2806) A new mechanism is added here to to reduce LAG flap issue during hitless upgrades. Problem being solved: During warm upgrades T0 goes down and with that wait time for LACP session starts. If the waittime to refresh LACP session is > 90s then T1 initiates LAG teardown, and as a result dataplane impact is seen. This script makes sure that LACPDUs are sent in the going down path continuously. How time is saved w/ this mechanism: The lacpsession wait period earlier used to start from when teamd container goes down. New lacpsession wait period starts when kexec in current kernel is issued, and new kernel boots up. Implementation: When warm-reboot starts, capture LACPDUs sent from all LAG member ports. For this allow 60s of prep + collection time. Start sending LACPDUs w/ ~1s interval. The last LACPDU is sent after all containers are down and kexec is issued. Results: Tested this on different platforms and images. Some results for time saved: BRCM: 201811 -> 202012 --- 18s BRCM: 202012 -> 202012 --- 20s MLNX: 201911 -> 202205 --- 10s MLNX: 202205 -> 202205 --- 10s
What I did
if substring.isdigit() and re.match(r'^\d{8}$', substring): In this version check, it only applies to this pattern: 20220531.XXX. It will fail the master and other build check. For example, master.261851-010dc3957 is a master build_version string. It will fail version validation and return failure.
My thought to remove the check is that GCU is only supported in 202205 and later. Either branch_version >= "20201200" or branch_version >= "20181100" is already satisfied.
How I did it
Remove redundant check in GCU RDMA validator
How to verify it
Unit test
cisco sonic router will hit below error message from route_check str3-8101-02 ERR monit[519]: 'routeCheck' status failed (255) – Failure results: #12 "Unaccounted_ROUTE_ENTRY_TABLE_entries": #12 "fddd:a150:a0::a66:1/128",#12 "fddd:a150:a0::a67:1/128",#12 "fddd:a150:a0::a71:1/128",#12 "fddd:a150:a0::a78:1/128",#12 "fddd:a150:a0::a80:1/128"#12 #12#012Failed. Look at reported mismatches above#012add: []#012del: [] the parser will only cut the chars before : regardless it is the IPv6 format. For instance, route_check: "fddd:a150:a0::a21:1/128 Will be parsed as “fddd" ONLY Vnet_v6_in_v4-0: : a150:a0::a21:1/128" solution: fix the parsing scheme on route check when APPL_DB refers IPv6 format.
What I did Reproduce the issue: /home/admin# sonic-installer set-fips Command: /usr/bin/fw_setenv linuxargs net.ifnames=0 loopfstype=squashfs loop=image-20220531.27/fs.squashfs systemd.unified_cgroup_hierarchy=0 varlog_size=4096 loglevel=4 sonic_fips=1 Error: illegal character '=' in variable name "loopfstype=squashfs" Work item tracking Microsoft ADO (number only): 22333116 How I did it Add the double quotation marks when calling the command. How to verify it It works fine when calling the following command: /usr/bin/fw_setenv linuxargs "net.ifnames=0 loopfstype=squashfs loop=image-20220531.27/fs.squashfs systemd.unified_cgroup_hierarchy=0 varlog_size=4096 loglevel=4 sonic_fips=1"
Contributor
abdosi
approved these changes
May 25, 2023
mssonicbld
pushed a commit
to mssonicbld/sonic-utilities.msft
that referenced
this pull request
Nov 24, 2023
…aidump_by_route_size (#2972) * * [saidump] • Saidump for DNX-SAI sonic-net/sonic-buildimage#13561 Solution and modification: To use the redis-db SAVE option to save the snapshot of DB each time and recover later, instead of looping through each entry in the table and saving it. (1) Updated sonic-buildimage/build_debian.sh, to install Python library rdbtools into the host. (2) Updated sonic-buildimage/src/sonic-sairedis/saidump/saidump.cpp, add a new option -r, which updates the rdbtools's output-JSON files' format. (3) Add a new script file: files/scripts/saidump.sh, to do the below steps For each ASIC0, such as ASIC0, Azure#1. Save the Redis data. sudo sonic-db-cli -n asic$1 SAVE > /dev/null Azure#2. Move dump files to /var/run/redisX/ docker exec database$1 sh -c "mv /var/lib/redis/dump.rdb /var/run/redis$1/" Azure#3. Run rdb command to convert the dump files into JSON files sudo python /usr/local/bin/rdb --command json /var/run/redis$1/dump.rdb | sudo tee /var/run/redis$1/dump.json > /dev/null Azure#4. Run saidump -r to update the JSON files' format as same as the saidump before. Then we can get the saidump result in standard output. docker exec syncd$1 sh -c "saidump -r /var/run/redis$1/dump.json" Azure#5. clear sudo rm -f /var/run/redis$1/dump.rdb sudo rm -f /var/run/redis$1/dump.json (4) Update sonic-buildimage/src/sonic-utilities/scripts/generate_dump, replace saidump with saidump.sh * * [saidump] • Saidump for DNX-SAI sonic-net/sonic-buildimage#13561
mssonicbld
pushed a commit
to mssonicbld/sonic-utilities.msft
that referenced
this pull request
Nov 24, 2023
**What I did**
Fix the Mem Leak by moving the raw pointers in type_maps to use smart pointers
**Why I did it**
```
Indirect leak of 83776 byte(s) in 476 object(s) allocated from:
#0 0x7f0a2a414647 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
Azure#1 0x5555590cc923 in __gnu_cxx::new_allocator, std::allocator > const, referenced_object> > >::allocate(unsigned long, void const*) /usr/include/c++/10/ext/new_allocator.h:115
Azure#2 0x5555590cc923 in std::allocator_traits, std::allocator > const, referenced_object> > > >::allocate(std::allocator, std::allocator > const, referenced_object> > >&, unsigned long) /usr/include/c++/10/bits/alloc_traits.h:460
Azure#3 0x5555590cc923 in std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, referenced_object>, std::_Select1st, std::allocator > const, referenced_object> >, std::less, std::allocator > >, std::allocator, std::allocator > const, referenced_object> > >::_M_get_node() /usr/include/c++/10/bits/stl_tree.h:584
Azure#4 0x5555590cc923 in std::_Rb_tree_node, std::allocator > const, referenced_object> >* std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, referenced_object>, std::_Select1st, std::allocator > const, referenced_object> >, std::less, std::allocator > >, std::allocator, std::allocator > const, referenced_object> > >::_M_create_node, std::allocator > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple, std::allocator > const&>&&, std::tuple<>&&) /usr/include/c++/10/bits/stl_tree.h:634
Azure#5 0x5555590cc923 in std::_Rb_tree_iterator, std::allocator > const, referenced_object> > std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, referenced_object>, std::_Select1st, std::allocator > const, referenced_object> >, std::less, std::allocator > >, std::allocator, std::allocator > const, referenced_object> > >::_M_emplace_hint_unique, std::allocator > const&>, std::tuple<> >(std::_Rb_tree_const_iterator, std::allocator > const, referenced_object> >, std::piecewise_construct_t const&, std::tuple, std::allocator > const&>&&, std::tuple<>&&) /usr/include/c++/10/bits/stl_tree.h:2461
Azure#6 0x5555590e8757 in std::map, std::allocator >, referenced_object, std::less, std::allocator > >, std::allocator, std::allocator > const, referenced_object> > >::operator[](std::__cxx11::basic_string, std::allocator > const&) /usr/include/c++/10/bits/stl_map.h:501
Azure#7 0x5555590d48b0 in Orch::setObjectReference(std::map, std::allocator >, std::map, std::allocator >, referenced_object, std::less, std::allocator > >, std::allocator, std::allocator > const, referenced_object> > >*, std::less, std::allocator > >, std::allocator, std::allocator > const, std::map, std::allocator >, referenced_object, std::less, std::allocator > >, std::allocator, std::allocator > const, referenced_object> > >*> > >&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&) orchagent/orch.cpp:450
Azure#8 0x5555594ff66b in QosOrch::handleQueueTable(Consumer&, std::tuple, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::vector, std::allocator >, std::__cxx11::basic_string, std::allocator > >, std::allocator, std::allocator >, std::__cxx11::basic_string, std::allocator > > > > >&) orchagent/qosorch.cpp:1763
Azure#9 0x5555594edbd6 in QosOrch::doTask(Consumer&) orchagent/qosorch.cpp:2179
Azure#10 0x5555590c8743 in Consumer::drain() orchagent/orch.cpp:241
Azure#11 0x5555590c8743 in Consumer::drain() orchagent/orch.cpp:238
Azure#12 0x5555590c8743 in Consumer::execute() orchagent/orch.cpp:235
Azure#13 0x555559090dad in OrchDaemon::start() orchagent/orchdaemon.cpp:755
Azure#14 0x555558e9be25 in main orchagent/main.cpp:766
Azure#15 0x7f0a299b6d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)
```
r12f
pushed a commit
that referenced
this pull request
Dec 18, 2024
…aidump_by_route_size (#2972) * * [saidump] • Saidump for DNX-SAI sonic-net/sonic-buildimage#13561 Solution and modification: To use the redis-db SAVE option to save the snapshot of DB each time and recover later, instead of looping through each entry in the table and saving it. (1) Updated sonic-buildimage/build_debian.sh, to install Python library rdbtools into the host. (2) Updated sonic-buildimage/src/sonic-sairedis/saidump/saidump.cpp, add a new option -r, which updates the rdbtools's output-JSON files' format. (3) Add a new script file: files/scripts/saidump.sh, to do the below steps For each ASIC0, such as ASIC0, #1. Save the Redis data. sudo sonic-db-cli -n asic$1 SAVE > /dev/null #2. Move dump files to /var/run/redisX/ docker exec database$1 sh -c "mv /var/lib/redis/dump.rdb /var/run/redis$1/" #3. Run rdb command to convert the dump files into JSON files sudo python /usr/local/bin/rdb --command json /var/run/redis$1/dump.rdb | sudo tee /var/run/redis$1/dump.json > /dev/null #4. Run saidump -r to update the JSON files' format as same as the saidump before. Then we can get the saidump result in standard output. docker exec syncd$1 sh -c "saidump -r /var/run/redis$1/dump.json" #5. clear sudo rm -f /var/run/redis$1/dump.rdb sudo rm -f /var/run/redis$1/dump.json (4) Update sonic-buildimage/src/sonic-utilities/scripts/generate_dump, replace saidump with saidump.sh * * [saidump] • Saidump for DNX-SAI sonic-net/sonic-buildimage#13561
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What I did
This Repo is for new Chassis developments that involved submodule sonic-utilities changes that could not go to public sonic-net/sonic-utilities 202205 branch.
There will be a new pipeline setup to perform what I am doing in this PR soon.
But before that pipeline is ready, there is a need to sync manually to pick up everything on public sonic-net/sonic-utilities 202205 branch so that the community members who are working on the chassis project from /Azure/sonic-buildimage-msft repo will be able to have successful build again.
How I did it
Manually fetch and merge all changes from sonic-net/sonic-utilitites 202205 branch to this repo 202205 branch.
How to verify it
checked git log to confirm all are merged.
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)