Hi Vishnu,
The PR is applicable for any cases where you have delete/add actions coming close to each other to some objects. This will include delete/add PORT object, but applicable to any objects. The PR is rather a bug fix to close that gap. Not sure what you mean by “during old port config replay after recreate”, I guess if you meant that we statically do the breakout at init phase due to the configuration difference than the HW initial config, then no, as we don’t have delete actions.
The performance hit would be minimal if at all, underneath the multi-map is probably using map + link-list, in most cases, the link-list only have one member. Which case you are concerned? Do you have any measurement before and after the PR? I would be surprised if you see noticeable difference. Let me know.
Regards
Xu
--
You received this message because you are subscribed to the Google Groups "sonic-breakout-workgroup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
sonic-breakout-wor...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/sonic-breakout-workgroup/CADiJo0Dew_PSwqg%2ByMETRFnXuXTn27Y1q%3DWaG8rh3mRDOrZhRw%40mail.gmail.com.
Hi Vishnu,
The issue is we can’t assume the new objects with the same key (e,g, prefixes etc) have the same attributes as the old objects. Without deleting them, you may end up with leaving old properties in them. BTW: If the DEL come after SET, we do overwrites the SET in the multimap.
In case of link flap/bgp clear, if you have ECMP (which is the case for most DC scenario), the routes won’t be deleted. In case no ECMP, right now, we don’t optimize it, you probably see traffic drop anyways. If you think that optimization is necessary and you won’t hit any bad consequences, you can optimize for such scenario. Do you have any performance measurement for bgp clear case before and after the PR?
Sounds like you meant “config reload” for the replay case, then it is a NO again for DEL in the map as we do not have delete action from configDB, but rather that is happening inside the orchagent.
Regards
/Xu