forked from sonic-net/sonic-swss
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[vstest/subintf] Add vs test case to validate processing sequence of APPL DB keys #4
Closed
Conversation
This file contains 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
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
This reverts commit 2f463af.
wendani
changed the title
Sub intf appl seq master
[vstest/subintf] vs test to validate processing sequence of appl db keys
Mar 3, 2021
wendani
changed the title
[vstest/subintf] vs test to validate processing sequence of appl db keys
[vstest/subintf] Add vs test case to validate processing sequence of APPL DB keys
Mar 3, 2021
… warm-boot (sonic-net#1556) Added changes to handle dependency check in FpmSyncd and FdbSyncd for warmreboot. This was done to ensure for EVPN warm-reboot the order of data replay to kernel is maintained across various submodules and the kernel programming will be successful.
…l state chg req (sonic-net#1662) If orchagent fails in state change, update StateDB with "error" state Update APP_DB for every state change request from Linkmgr irrespective of internal handling in orchagent
Observe persistent failure of newly added vs test on testing code change in intfmgrd after migrating to azure pipeline. sonic-net#1521 passed in legacy Jenkins pipeline. What we found is that the code change in the swss compiled with PR change is not properly installed in vs docker for a direct installation using dpkg -i. This is confirmed by verifying pipeline artifacts that md5sum value of /user/bin/intfmgrd changes if we install swss deb aritfact into the docker vs artifact, while that of /usr/bin/orchangent stays unchanged. md5sum before swss install in vs docker # md5sum /usr/bin/orchagent 28307a7805ea6f3bc5057c0257bf46e6 /usr/bin/orchagent # md5sum /usr/bin/intfmgrd fa2b06e20be683286adb47c55635a86d /usr/bin/intfmgrd md5sum after swss install # dpkg -i swss_1.0.0_amd64.deb (Reading database ... 19180 files and directories currently installed.) Preparing to unpack swss_1.0.0_amd64.deb ... Unpacking swss (1.0.0) over (1.0.0) ... Setting up swss (1.0.0) ... # md5sum /usr/bin/orchagent 28307a7805ea6f3bc5057c0257bf46e6 /usr/bin/orchagent # md5sum /usr/bin/intfmgrd e959340709e7aedd7489e69dfd19768f /usr/bin/intfmgrd Signed-off-by: Wenda Ni <wonda.ni@gmail.com>
wendani
force-pushed
the
sub_intf_appl_seq_master
branch
from
March 5, 2021 08:05
7a9b075
to
cae0a57
Compare
…es (sonic-net#1650) Subport mtu and admin_status initialized to values of 0 and false resepectively.
Changed parsing autoneg from 1/0 to on/off
…net#1568) The objective of this change is to make orchagent/linksync align with FRR/Zebra in handling interface states. Zebra uses IFF_RUNNING flag to determine interfaces' oper state while linksync uses IFF_LOWER_UP. Zebra rightly depends on IFF_RUNNING flag. As a routing daemon, zebra wants to know whether the interface is capable of passing packets or not. The flag IFF_RUNNING indicates exactly that (based on comment in if.h, this flag reflects the interface oper up state as defined in RFC2863). Since orchagent uses IFF_LOWER_UP, which comes earlier than IFF_RUNNING, there is interface state mismatch between zebra and orchagent for a window of time. Since with voq implementation we write static neigh/routes when the netdev (inband port) becomes oper up and bgp depends on these kernel entries, there is a need for this change to have the interface state timing same in both orchagent and zebra. Refer issue sonic-net/sonic-buildimage#6295 for detailed information. Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
prsunny
pushed a commit
that referenced
this pull request
Oct 2, 2024
**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 #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 #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 #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 #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 #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 #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 #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 #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 #9 0x5555594edbd6 in QosOrch::doTask(Consumer&) orchagent/qosorch.cpp:2179 #10 0x5555590c8743 in Consumer::drain() orchagent/orch.cpp:241 #11 0x5555590c8743 in Consumer::drain() orchagent/orch.cpp:238 #12 0x5555590c8743 in Consumer::execute() orchagent/orch.cpp:235 #13 0x555559090dad in OrchDaemon::start() orchagent/orchdaemon.cpp:755 sonic-net#14 0x555558e9be25 in main orchagent/main.cpp:766 sonic-net#15 0x7f0a299b6d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09) ```
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
Crafted a vs test case to validate the processing sequence of
VLAN_SUB_INTERFACE
keys---Key without ip prefix must be processed prior to those with ip prefix when Port object representing sub port interface has not yet been created. If not this case, user configuration other thanvrf_name
in CONFIG_DB, such asadmin_status
, will be ignored in later creating SAI sub port interface, a symptom observed in .Why I did it
Fix in should pass the vs test case added here.
How I verified it
vs test on
test_sub_port_intf_appl_db_proc_seq
fails without a fix.Physical parent port
admin_status
being configuredup
admin_status
being configureddown
Lag parent port
admin_status
being configuredup
admin_status
being configureddown
Details if related
VLAN_SUB_INTERFACE
keys with ip prefix intoAPPL_DB
VLAN_SUB_INTERFACE
key without ip prefix intoAPPL_DB
admin_staus
values, i.e.,up
anddown
, to make sure ASIC_DB sub interface attributeADMIN_V4_STATE
andADMIN_V6_STATE
are set according to user configuration, rather than being agnostic to user configuration as a result of Port object being created by keys with ip prefix.