summaryrefslogtreecommitdiffhomepage
path: root/table/path_test.go
diff options
context:
space:
mode:
authorISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2016-01-13 12:14:45 +0900
committerISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2016-01-16 18:22:13 +0900
commit40ce51137a1bc3733d36ea045daae067eef735f0 (patch)
tree0fdb1519f42b4fea6f8793b31dc0202326fe872b /table/path_test.go
parentb344eb3777e5088f0a97d585e81e546363ea4101 (diff)
table: remove unnecessary copy of path attributes
the result of memory profile (500 route-server-clients each of them advertises 100 routes) before: (pprof) top5 9330.48MB of 9367.53MB total (99.60%) Dropped 157 nodes (cum <= 46.84MB) Showing top 10 nodes out of 17 (cum >= 9334.17MB) flat flat% sum% cum cum% 6163.04MB 65.79% 65.79% 6163.04MB 65.79% github.com/osrg/gobgp/table.NewPath 1155.05MB 12.33% 78.12% 7302.59MB 77.96% github.com/osrg/gobgp/table.(*Path).Clone 986.31MB 10.53% 88.65% 1388.81MB 14.83% github.com/osrg/gobgp/table.(*AdjRib).Update 402.51MB 4.30% 92.95% 402.51MB 4.30% fmt.Sprintf 402.51MB 4.30% 97.24% 402.51MB 4.30% net.parseIPv4 after: (pprof) top 3913.02MB of 3978.69MB total (98.35%) Dropped 148 nodes (cum <= 19.89MB) Showing top 10 nodes out of 11 (cum >= 21MB) flat flat% sum% cum cum% 2970.30MB 74.66% 74.66% 2975.80MB 74.79% github.com/osrg/gobgp/server.filterpath 810.09MB 20.36% 95.02% 810.59MB 20.37% github.com/osrg/gobgp/table.(*AdjRib).Update 115.60MB 2.91% 97.92% 119.10MB 2.99% github.com/osrg/gobgp/table.createUpdateMsgFromPath 10MB 0.25% 98.17% 1878.02MB 47.20% github.com/osrg/gobgp/server.(*BgpServer).propagateUpdate 4.50MB 0.11% 98.29% 144.60MB 3.63% github.com/osrg/gobgp/table.CreateUpdateMsgFromPaths Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'table/path_test.go')
-rw-r--r--table/path_test.go22
1 files changed, 4 insertions, 18 deletions
diff --git a/table/path_test.go b/table/path_test.go
index 48dec6fe..bcc532a1 100644
--- a/table/path_test.go
+++ b/table/path_test.go
@@ -24,26 +24,12 @@ func TestPathNewIPv6(t *testing.T) {
assert.NotNil(t, ipv6p)
}
-func TestPathSetSource(t *testing.T) {
- pd := &Path{}
- pr := &PeerInfo{AS: 65000}
- pd.setSource(pr)
- r_pr := pd.GetSource()
- assert.Equal(t, r_pr, pr)
-}
-
-func TestPathGetSource(t *testing.T) {
- pd := &Path{}
- pr := &PeerInfo{AS: 65001}
- pd.setSource(pr)
- r_pr := pd.GetSource()
- assert.Equal(t, r_pr, pr)
-}
-
func TestPathGetNlri(t *testing.T) {
nlri := bgp.NewIPAddrPrefix(24, "13.2.3.2")
pd := &Path{
- nlri: nlri,
+ info: &originInfo{
+ nlri: nlri,
+ },
}
r_nlri := pd.GetNlri()
assert.Equal(t, r_nlri, nlri)
@@ -72,7 +58,7 @@ func TestPathGetAttribute(t *testing.T) {
peerP := PathCreatePeer()
pathP := PathCreatePath(peerP)
nh := "192.168.50.1"
- _, pa := pathP[0].getPathAttr(bgp.BGP_ATTR_TYPE_NEXT_HOP)
+ pa := pathP[0].getPathAttr(bgp.BGP_ATTR_TYPE_NEXT_HOP)
r_nh := pa.(*bgp.PathAttributeNextHop).Value.String()
assert.Equal(t, r_nh, nh)
}