summaryrefslogtreecommitdiffhomepage
path: root/table/destination.go
diff options
context:
space:
mode:
authorISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2016-04-15 05:26:23 +0000
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2016-04-19 14:15:15 +0900
commit893f92f861291b369532b75baa87a63dca57d2ab (patch)
tree4eb2dec56c6117d13dfca2fbe3277421267a9514 /table/destination.go
parent3bd6e20fe4e3fb60b28dbd06367627bd4df9ddff (diff)
table: fix bug of incomplete withdrawal handling
When mod action is used in route server configuration, `Destination.knownPathList` holds multiple modified paths whose original path is same. In that case, when the original path is withdrawn, we must remove all modified paths. There was a wrong `break` in `Destination.explicitWithdraw()` which avoids this. test is also added to check the behavior. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'table/destination.go')
-rw-r--r--table/destination.go2
1 files changed, 0 insertions, 2 deletions
diff --git a/table/destination.go b/table/destination.go
index 6839c608..5603f894 100644
--- a/table/destination.go
+++ b/table/destination.go
@@ -317,8 +317,6 @@ func (dest *Destination) explicitWithdraw() paths {
isFound = true
path.IsWithdraw = true
matches = append(matches, path)
- // One withdraw can remove only one path.
- break
}
}