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/39893 github. com/Juniper/ contrail- controller/ commit/ 6f8d7b4ae781157 a034a785934ede0 c4fc753a61
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R3.1
commit 6f8d7b4ae781157 a034a785934ede0 c4fc753a61
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