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/39896 github. com/Juniper/ contrail- controller/ commit/ 3b003876a203f2c 55d9b0d2293e588 4bfc96a4d3
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R4.0
commit 3b003876a203f2c 55d9b0d2293e588 4bfc96a4d3
Author: Manish <email address hidden>
Date: Tue Feb 20 12:34:50 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: I5bbe817b9db2d9 ac8ad23d812b88b 343f94a09a3
CLoses-bug: #1724114