Transiently FMG label can be assigned to multiple tree, because of control node
restarts or flaps. In this case say tree-1 is using label A and it was supposed
to be withdrawn or staled. Re-use of label happens at CN and is assigned to
tree-2. XMPP messages for withdrawal of label A from tree-1 and adding to tree-2
can go in any order. So add for tree-2 is seen before withdrawal in problematic
case. This results in label A removed even though tree-2 is active user.
Solution:
Maintain a list of users for label. Label remains intact till list is not empty.
In above case tree-2 will be present in list even after tree-1 is withdrawn and
label remains intact.
Reviewed: https:/ /review. opencontrail. org/39894 github. com/Juniper/ contrail- controller/ commit/ 4f1ec8c0fce98bf e47b11600543b45 9b74f08319
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R3.2
commit 4f1ec8c0fce98bf e47b11600543b45 9b74f08319
Author: Manish <email address hidden>
Date: Tue Feb 20 12:21:52 2018 +0530
FMG label missed.
Transiently FMG label can be assigned to multiple tree, because of control node
restarts or flaps. In this case say tree-1 is using label A and it was supposed
to be withdrawn or staled. Re-use of label happens at CN and is assigned to
tree-2. XMPP messages for withdrawal of label A from tree-1 and adding to tree-2
can go in any order. So add for tree-2 is seen before withdrawal in problematic
case. This results in label A removed even though tree-2 is active user.
Solution:
Maintain a list of users for label. Label remains intact till list is not empty.
In above case tree-2 will be present in list even after tree-1 is withdrawn and
label remains intact.
Change-Id: Ia2bb22d0c95835 5a5c2295709fd5e b90c1a79a65
CLoses-bug: #1724114