-
Notifications
You must be signed in to change notification settings - Fork 539
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
[vnet] Maintain the reference count of the nexthop when creating a vn… #1414
Conversation
This pull request introduces 2 alerts when merging d3b429f into c4949a2 - view on LGTM.com new alerts:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm.. @volodymyrsamotiy , can you review?
else if (nh.ips.getSize() == 1) | ||
{ | ||
NextHopKey nexthop(nh.ips.to_string(), nh.ifname); | ||
if (nexthop.ip_address.isZero()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor comment - can you provide open and closing braces here and the below "if" condition?
#1414) * [vnet] Maintain the reference count of the nexthop when creating a vnet route
* Added ip and mask check to config int Signed-off-by: d-dashkov <[email protected]>
Update SAI submodule v1.9 with the following fixes 7594e53 (HEAD, origin/v1.9) Skip brcm teardown assertion (sonic-net#1423) (sonic-net#1428) 0c33f4a [FIX]Fix the circular reference issue when build sai header py (sonic-net#1427) 7e0fc24 Add support for building under Doxygen 1.9.1 (sonic-net#1414) (sonic-net#1424) 8ecf3ef [Fix]Correct enum check on branch 1.9 (sonic-net#1418) e2b2f39 Add Thrift 0.14.1 compatibility (sonic-net#1403) (sonic-net#1416)
What I did
Maintain the reference count of the nexthop when creating a vnet route
Why I did it
Due to sequence problems or other reasons, the vnet route in ASIC_DB has not been deleted, and if you directly delete the related nexthop or interface, syncd will report an error.
swss#orchagent: :- meta_generic_validation_remove: object 0x600000000099a reference count is 1, can't remove
swss#orchagent: :- removeRouterIntfs: Failed to remove router interface for port Ethernet0, rv:-5
swss#supervisord: orchagent terminate called after throwing an instance of 'std::runtime_error'
swss#supervisord: orchagent what(): Failed to remove router interface.
How I verified it
Create a Vnet1
bind Ethernet0 to Vnet1
add ip for Ethernet0
add a route with the Ethernet0 as the next hop in Vnet1
delete ip and unbind Ethernet0
delete the route