summaryrefslogtreecommitdiffhomepage
path: root/table/destination.go
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-01-23 00:03:29 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2015-01-23 00:03:29 +0900
commit12ae36fb0fecdd068fa4b3a8c1ea36d95b29bf7c (patch)
tree35f34946924dded3fbe59c5d6e4b7cd74e283bd5 /table/destination.go
parent56f5c27011c50b3073cd30f5e9592da172203766 (diff)
table: not update timestamp if the path replaces the same path
If a new path has the exact same attributes that the existing one (after RouteRefresh), we don't update the timestamp. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'table/destination.go')
-rw-r--r--table/destination.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/table/destination.go b/table/destination.go
index 865ab03e..b35d380a 100644
--- a/table/destination.go
+++ b/table/destination.go
@@ -368,6 +368,9 @@ func (dest *DestinationDefault) removeOldPaths() {
// paths and when doing RouteRefresh (not EnhancedRouteRefresh)
// we get same paths again.
if newPath.getSource() == path.getSource() {
+ if reflect.DeepEqual(newPath.getPathAttrs(), path.getPathAttrs()) {
+ newPath.setTimestamp(path.getTimestamp())
+ }
oldPaths = append(oldPaths, path)
break
}