summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-12-25 05:59:42 -0800
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2014-12-25 05:59:42 -0800
commitd9d527a65dd068e0a093ed94ad5effc13567a5e1 (patch)
tree389a48290c084887a85e43918971ebdfff2bc5f8
parent40819efb0c592d8a23da8bec0006014b43321ac4 (diff)
table: make table json prettier
Even 'jq' command makes the output very nicer. $ curl http://localhost:8080/v1/bgp/neighbor/10.0.0.1/local-rib |jq '.' Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--table/destination.go5
-rw-r--r--table/path.go5
-rw-r--r--table/table.go5
3 files changed, 6 insertions, 9 deletions
diff --git a/table/destination.go b/table/destination.go
index f90a53fa..f99af8ef 100644
--- a/table/destination.go
+++ b/table/destination.go
@@ -95,13 +95,12 @@ func NewDestinationDefault(nlri bgp.AddrPrefixInterface) *DestinationDefault {
func (dd *DestinationDefault) MarshalJSON() ([]byte, error) {
prefix := dd.getNlri().(*bgp.NLRInfo).Prefix
- paths, _ := json.Marshal(dd.knownPathList)
return json.Marshal(struct {
Prefix string
- Paths string
+ Paths []Path
}{
Prefix: prefix.String(),
- Paths: string(paths),
+ Paths: dd.knownPathList,
})
}
diff --git a/table/path.go b/table/path.go
index 9b38bc44..635cbf5d 100644
--- a/table/path.go
+++ b/table/path.go
@@ -97,7 +97,6 @@ func (pd *PathDefault) MarshalJSON() ([]byte, error) {
aslist = append(aslist, path.AS...)
}
}
- asPath, _ := json.Marshal(aslist)
var prefix net.IP
var prefixLen uint8
@@ -110,7 +109,7 @@ func (pd *PathDefault) MarshalJSON() ([]byte, error) {
return json.Marshal(struct {
Network string
Nexthop string
- AsPath string
+ AsPath []uint32
Metric string
//origin string
Best string
@@ -118,7 +117,7 @@ func (pd *PathDefault) MarshalJSON() ([]byte, error) {
Network: prefix.String() + "/" + fmt.Sprint(prefixLen),
Nexthop: pd.nexthop.String(),
Metric: fmt.Sprint(med),
- AsPath: string(asPath),
+ AsPath: aslist,
Best: fmt.Sprint(pd.isBest),
})
}
diff --git a/table/table.go b/table/table.go
index df55947b..a9d742aa 100644
--- a/table/table.go
+++ b/table/table.go
@@ -55,12 +55,11 @@ func (td *TableDefault) MarshalJSON() ([]byte, error) {
for _, dest := range td.destinations {
destList = append(destList, dest)
}
- j, _ := json.Marshal(destList)
return json.Marshal(struct {
- Destinations string
+ Destinations []Destination
}{
- Destinations: string(j),
+ Destinations: destList,
})
}