vpp_if_stats: Fixing a bug in getting vpp interfaces indexes

Change-Id: I6290945a94b4f7878e9af94cc7daec455327482e
Signed-off-by: Koren Lev <korenlev@gmail.com>
diff --git a/extras/vpp_if_stats/vpp_if_stats.go b/extras/vpp_if_stats/vpp_if_stats.go
old mode 100755
new mode 100644
index 48ce085..90c1700
--- a/extras/vpp_if_stats/vpp_if_stats.go
+++ b/extras/vpp_if_stats/vpp_if_stats.go
@@ -117,9 +117,9 @@
 	counters := stat.Data.(adapter.CombinedCounterStat)
 	stats := make([]adapter.CombinedCounter, len(v.Interfaces))
 	for _, workerStats := range counters {
-		for i, interfaceStats := range workerStats {
-			stats[i].Bytes += interfaceStats.Bytes
-			stats[i].Packets += interfaceStats.Packets
+		for i := 0; i < len(v.Interfaces); i++ {
+			stats[i].Bytes += workerStats[i].Bytes
+			stats[i].Packets += workerStats[i].Packets
 		}
 	}
 	return &stats
@@ -129,8 +129,8 @@
 	counters := stat.Data.(adapter.SimpleCounterStat)
 	stats := make([]adapter.Counter, len(v.Interfaces))
 	for _, workerStats := range counters {
-		for i, interfaceStats := range workerStats {
-			stats[i] += interfaceStats
+		for i := 0; i < len(v.Interfaces); i++ {
+			stats[i] += workerStats[i]
 		}
 	}
 	return &stats
diff --git a/extras/vpp_if_stats/vpp_if_stats_test.go b/extras/vpp_if_stats/vpp_if_stats_test.go
old mode 100755
new mode 100644
index 07a5983..3c22ce8
--- a/extras/vpp_if_stats/vpp_if_stats_test.go
+++ b/extras/vpp_if_stats/vpp_if_stats_test.go
@@ -25,9 +25,9 @@
 			Stats:              interfaceStats{},                                        // TODO
 		}
 	}
-	testInterfaces = func() *map[uint32]*vppInterface {
-		return &map[uint32]*vppInterface{
-			testSwIfIndex: testInterface(),
+	testInterfaces = func() []*vppInterface {
+		return []*vppInterface{
+			testInterface(),
 		}
 	}
 
@@ -164,7 +164,7 @@
 	mockStatsAPI := NewMockStatsAPI(mockCtrl)
 	mockStatsAPI.EXPECT().DumpStats("/if").Return([]*adapter.StatEntry{}, nil)
 
-	v := vppConnector{stats: mockStatsAPI, Interfaces: *testInterfaces()}
+	v := vppConnector{stats: mockStatsAPI, Interfaces: testInterfaces()}
 	err := v.getStatsForAllInterfaces()
 	assert.NoError(t, err, "GetStatsForAllInterfaces should not return an error")
 	assert.Equal(t, interfaceStats{}, v.Interfaces[testSwIfIndex].Stats, "Stats should be empty")
@@ -177,7 +177,7 @@
 	mockStatsAPI := NewMockStatsAPI(mockCtrl)
 	mockStatsAPI.EXPECT().DumpStats("/if").Return(*statsDump, nil)
 
-	v := vppConnector{stats: mockStatsAPI, Interfaces: *testInterfaces()}
+	v := vppConnector{stats: mockStatsAPI, Interfaces: testInterfaces()}
 	err := v.getStatsForAllInterfaces()
 	assert.NoError(t, err, "GetStatsForAllInterfaces should not return an error")
 	assert.Equal(t, *expectedStats, v.Interfaces[testSwIfIndex].Stats, "Collected and saved stats should match")