summaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/config
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2018-11-16 10:06:47 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2018-11-16 12:23:18 +0900
commitc1bca2555919f9f2a7dd9d13dc3e14a4bf6a589a (patch)
tree3a19cc12f27f146df079e03a487acea492e8d595 /internal/pkg/config
parent893dbd5c074c097f0c9921d3131a072011fb7e6a (diff)
use google/protobuf/timestamp.proto
use google/protobuf/timestamp.proto instead of our own way to represent time. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'internal/pkg/config')
-rw-r--r--internal/pkg/config/util.go19
1 files changed, 15 insertions, 4 deletions
diff --git a/internal/pkg/config/util.go b/internal/pkg/config/util.go
index 70fc8cd9..1a65e2ed 100644
--- a/internal/pkg/config/util.go
+++ b/internal/pkg/config/util.go
@@ -22,7 +22,10 @@ import (
"regexp"
"strconv"
"strings"
+ "time"
+ "github.com/golang/protobuf/ptypes"
+ "github.com/golang/protobuf/ptypes/timestamp"
api "github.com/osrg/gobgp/api"
"github.com/osrg/gobgp/internal/pkg/apiutil"
"github.com/osrg/gobgp/pkg/packet/bgp"
@@ -408,6 +411,14 @@ func newAfiSafiFromConfigStruct(c *AfiSafi) *api.AfiSafi {
}
}
+func ProtoTimestamp(secs int64) *timestamp.Timestamp {
+ if secs == 0 {
+ return nil
+ }
+ t, _ := ptypes.TimestampProto(time.Unix(secs, 0))
+ return t
+}
+
func NewPeerFromConfigStruct(pconf *Neighbor) *api.Peer {
afiSafis := make([]*api.AfiSafi, 0, len(pconf.AfiSafis))
for _, f := range pconf.AfiSafis {
@@ -502,8 +513,8 @@ func NewPeerFromConfigStruct(pconf *Neighbor) *api.Peer {
State: &api.TimersState{
KeepaliveInterval: uint64(timer.State.KeepaliveInterval),
NegotiatedHoldTime: uint64(timer.State.NegotiatedHoldTime),
- Uptime: uint64(timer.State.Uptime),
- Downtime: uint64(timer.State.Downtime),
+ Uptime: ProtoTimestamp(timer.State.Uptime),
+ Downtime: ProtoTimestamp(timer.State.Downtime),
},
},
RouteReflector: &api.RouteReflector{
@@ -568,8 +579,8 @@ func NewPeerGroupFromConfigStruct(pconf *PeerGroup) *api.PeerGroup {
State: &api.TimersState{
KeepaliveInterval: uint64(timer.State.KeepaliveInterval),
NegotiatedHoldTime: uint64(timer.State.NegotiatedHoldTime),
- Uptime: uint64(timer.State.Uptime),
- Downtime: uint64(timer.State.Downtime),
+ Uptime: ProtoTimestamp(timer.State.Uptime),
+ Downtime: ProtoTimestamp(timer.State.Downtime),
},
},
RouteReflector: &api.RouteReflector{