Hey VPP devs! I've seen a weird bug regarding path flags, which after tracing the source, it comes down to `fib_entry_flags_update` function. The function is called in `fib_entry_src_action_path_add`, `fib_entry_src_action_path_remove` and `fib_entry_src_action_path_swap` and works on route paths (rpaths) that are provided to these functions. It works on a per route path basis. In the loop over rpaths, if path is attached it sets the ATTACHED flag and if it is not removes it without considering previous paths.
I believe that the function should be called after these functions are done and work on final path-set. For example in `fib_entry_src_action_path_remove` the rpaths are the paths that are to be removed and we should not set flags based on them or adding a non-attached could clear ATTACHED flag even when existing attached paths still contributes. Also removing an attached path, does not clear the ATTACHED flag and cause a stale flag to be set. https://gerrit.fd.io/r/c/vpp/+/43892 is a proposed fix for the problem. I would be thankful if someone reviews the patch.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#26643): https://lists.fd.io/g/vpp-dev/message/26643 Mute This Topic: https://lists.fd.io/mt/116710178/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
