summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--server/server.go2
-rw-r--r--table/table_manager.go9
-rw-r--r--table/table_manager_test.go77
-rw-r--r--test/performance_test/main.go2
4 files changed, 27 insertions, 63 deletions
diff --git a/server/server.go b/server/server.go
index ed57b42e..c8764587 100644
--- a/server/server.go
+++ b/server/server.go
@@ -216,7 +216,7 @@ func (server *BgpServer) Serve() {
}(broadcastCh)
rfs, _ := g.AfiSafis.ToRfList()
- server.globalRib = table.NewTableManager(table.GLOBAL_RIB_NAME, rfs, g.MplsLabelRange.MinLabel, g.MplsLabelRange.MaxLabel)
+ server.globalRib = table.NewTableManager(rfs, g.MplsLabelRange.MinLabel, g.MplsLabelRange.MaxLabel)
server.listenerMap = make(map[string]*net.TCPListener)
acceptCh := make(chan *net.TCPConn)
l4, err1 := listenAndAccept("tcp4", server.listenPort, acceptCh)
diff --git a/table/table_manager.go b/table/table_manager.go
index 518b961e..31c46b6b 100644
--- a/table/table_manager.go
+++ b/table/table_manager.go
@@ -111,18 +111,16 @@ func ProcessMessage(m *bgp.BGPMessage, peerInfo *PeerInfo, timestamp time.Time)
type TableManager struct {
Tables map[bgp.RouteFamily]*Table
Vrfs map[string]*Vrf
- owner string
minLabel uint32
maxLabel uint32
nextLabel uint32
rfList []bgp.RouteFamily
}
-func NewTableManager(owner string, rfList []bgp.RouteFamily, minLabel, maxLabel uint32) *TableManager {
+func NewTableManager(rfList []bgp.RouteFamily, minLabel, maxLabel uint32) *TableManager {
t := &TableManager{
Tables: make(map[bgp.RouteFamily]*Table),
Vrfs: make(map[string]*Vrf),
- owner: owner,
minLabel: minLabel,
maxLabel: maxLabel,
nextLabel: minLabel,
@@ -163,10 +161,6 @@ func (manager *TableManager) getNextLabel() (uint32, error) {
return label, nil
}
-func (manager *TableManager) OwnerName() string {
- return manager.owner
-}
-
func (manager *TableManager) AddVrf(name string, rd bgp.RouteDistinguisherInterface, importRt, exportRt []bgp.ExtendedCommunityInterface, info *PeerInfo) ([]*Path, error) {
if _, ok := manager.Vrfs[name]; ok {
return nil, fmt.Errorf("vrf %s already exists", name)
@@ -223,7 +217,6 @@ func (manager *TableManager) calculate(destinations []*Destination) {
for _, destination := range destinations {
log.WithFields(log.Fields{
"Topic": "table",
- "Owner": manager.owner,
"Key": destination.GetNlri().String(),
}).Debug("Processing destination")
destination.Calculate()
diff --git a/table/table_manager_test.go b/table/table_manager_test.go
index e441fb97..791c6c48 100644
--- a/table/table_manager_test.go
+++ b/table/table_manager_test.go
@@ -85,7 +85,7 @@ func peerR3() *PeerInfo {
// test best path calculation and check the result path is from R1
func TestProcessBGPUpdate_0_select_onlypath_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_0_select_onlypath_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
bgpMessage := update_fromR1()
peer := peerR1()
@@ -135,7 +135,7 @@ func TestProcessBGPUpdate_0_select_onlypath_ipv4(t *testing.T) {
// test best path calculation and check the result path is from R1
func TestProcessBGPUpdate_0_select_onlypath_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_0_select_onlypath_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
bgpMessage := update_fromR1_ipv6()
peer := peerR1()
@@ -186,8 +186,7 @@ func TestProcessBGPUpdate_0_select_onlypath_ipv6(t *testing.T) {
// test: compare localpref
func TestProcessBGPUpdate_1_select_high_localpref_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_1_select_high_localpref_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// low localpref message
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -267,8 +266,7 @@ func TestProcessBGPUpdate_1_select_high_localpref_ipv4(t *testing.T) {
func TestProcessBGPUpdate_1_select_high_localpref_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_1_select_high_localpref_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000})
@@ -350,8 +348,7 @@ func TestProcessBGPUpdate_1_select_high_localpref_ipv6(t *testing.T) {
// test: compare localOrigin
func TestProcessBGPUpdate_2_select_local_origin_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_2_select_local_origin_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// low localpref message
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -433,8 +430,7 @@ func TestProcessBGPUpdate_2_select_local_origin_ipv4(t *testing.T) {
func TestProcessBGPUpdate_2_select_local_origin_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_2_select_local_origin_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000})
@@ -519,8 +515,7 @@ func TestProcessBGPUpdate_2_select_local_origin_ipv6(t *testing.T) {
// test: compare AS_PATH
func TestProcessBGPUpdate_3_select_aspath_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_3_select_aspath_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
bgpMessage1 := update_fromR2viaR1()
peer1 := peerR1()
@@ -575,8 +570,7 @@ func TestProcessBGPUpdate_3_select_aspath_ipv4(t *testing.T) {
func TestProcessBGPUpdate_3_select_aspath_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_3_select_aspath_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
bgpMessage1 := update_fromR2viaR1_ipv6()
peer1 := peerR1()
@@ -633,8 +627,7 @@ func TestProcessBGPUpdate_3_select_aspath_ipv6(t *testing.T) {
// test: compare Origin
func TestProcessBGPUpdate_4_select_low_origin_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_4_select_low_origin_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// low origin message
origin1 := bgp.NewPathAttributeOrigin(1)
@@ -714,8 +707,7 @@ func TestProcessBGPUpdate_4_select_low_origin_ipv4(t *testing.T) {
func TestProcessBGPUpdate_4_select_low_origin_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_4_select_low_origin_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(1)
aspath1 := createAsPathAttribute([]uint32{65200, 65000})
@@ -797,8 +789,7 @@ func TestProcessBGPUpdate_4_select_low_origin_ipv6(t *testing.T) {
// test: compare MED
func TestProcessBGPUpdate_5_select_low_med_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_5_select_low_med_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// low origin message
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -878,8 +869,7 @@ func TestProcessBGPUpdate_5_select_low_med_ipv4(t *testing.T) {
func TestProcessBGPUpdate_5_select_low_med_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_5_select_low_med_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65200, 65000})
@@ -961,9 +951,7 @@ func TestProcessBGPUpdate_5_select_low_med_ipv6(t *testing.T) {
// test: compare AS_NUMBER(prefer eBGP path)
func TestProcessBGPUpdate_6_select_ebgp_path_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_6_select_ebgp_path_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
-
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// low origin message
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -1043,8 +1031,7 @@ func TestProcessBGPUpdate_6_select_ebgp_path_ipv4(t *testing.T) {
func TestProcessBGPUpdate_6_select_ebgp_path_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_6_select_ebgp_path_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000, 65200})
@@ -1128,9 +1115,7 @@ func TestProcessBGPUpdate_6_select_ebgp_path_ipv6(t *testing.T) {
// test: compare Router ID
func TestProcessBGPUpdate_7_select_low_routerid_path_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_7_select_low_routerid_path_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
-
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// low origin message
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -1210,8 +1195,7 @@ func TestProcessBGPUpdate_7_select_low_routerid_path_ipv4(t *testing.T) {
func TestProcessBGPUpdate_7_select_low_routerid_path_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_7_select_low_routerid_path_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000, 65200})
@@ -1293,9 +1277,7 @@ func TestProcessBGPUpdate_7_select_low_routerid_path_ipv6(t *testing.T) {
// test: withdraw and mpunreach path
func TestProcessBGPUpdate_8_withdraw_path_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_8_withdraw_path_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- //setLogger(getLogger(log.DebugLevel))
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// path1
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -1398,8 +1380,7 @@ func TestProcessBGPUpdate_8_withdraw_path_ipv4(t *testing.T) {
// TODO MP_UNREACH
func TestProcessBGPUpdate_8_mpunreach_path_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_8_mpunreach_path_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000})
@@ -1527,9 +1508,7 @@ func TestProcessBGPUpdate_8_mpunreach_path_ipv6(t *testing.T) {
// handle bestpath lost
func TestProcessBGPUpdate_bestpath_lost_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_bestpath_lost_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- //setLogger(getLogger(log.DebugLevel))
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// path1
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -1599,8 +1578,7 @@ func TestProcessBGPUpdate_bestpath_lost_ipv4(t *testing.T) {
func TestProcessBGPUpdate_bestpath_lost_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_bestpath_lost_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000})
@@ -1671,9 +1649,7 @@ func TestProcessBGPUpdate_bestpath_lost_ipv6(t *testing.T) {
// test: implicit withdrawal case
func TestProcessBGPUpdate_implicit_withdrwal_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_implicit_withdrwal_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- //setLogger(getLogger(log.DebugLevel))
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
// path1
origin1 := bgp.NewPathAttributeOrigin(0)
@@ -1754,8 +1730,7 @@ func TestProcessBGPUpdate_implicit_withdrwal_ipv4(t *testing.T) {
func TestProcessBGPUpdate_implicit_withdrwal_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_implicit_withdrwal_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
origin1 := bgp.NewPathAttributeOrigin(0)
aspath1 := createAsPathAttribute([]uint32{65000, 65100, 65200})
@@ -1862,9 +1837,7 @@ func TestProcessBGPUpdate_implicit_withdrwal_ipv6(t *testing.T) {
// check multiple paths
func TestProcessBGPUpdate_multiple_nlri_ipv4(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_multiple_nlri_ipv4", []bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
- //setLogger(getLogger(log.DebugLevel))
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC}, 0, 0)
createPathAttr := func(aspaths []uint32, nh string) []bgp.PathAttributeInterface {
origin := bgp.NewPathAttributeOrigin(0)
@@ -1997,9 +1970,7 @@ func TestProcessBGPUpdate_multiple_nlri_ipv4(t *testing.T) {
// check multiple paths
func TestProcessBGPUpdate_multiple_nlri_ipv6(t *testing.T) {
- tm := NewTableManager("TestProcessBGPUpdate_multiple_nlri_ipv6", []bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
- //setLogger(getLogger(log.DebugLevel))
- var err error
+ tm := NewTableManager([]bgp.RouteFamily{bgp.RF_IPv6_UC}, 0, 0)
createPathAttr := func(aspaths []uint32) []bgp.PathAttributeInterface {
origin := bgp.NewPathAttributeOrigin(0)
diff --git a/test/performance_test/main.go b/test/performance_test/main.go
index b7c92a94..b439c9a8 100644
--- a/test/performance_test/main.go
+++ b/test/performance_test/main.go
@@ -30,7 +30,7 @@ import (
)
func newPeer(g config.Global, p config.Neighbor, incoming chan *server.FsmMsg) *server.Peer {
- tbl := table.NewTableManager(g.GlobalConfig.RouterId.String(), []bgp.RouteFamily{bgp.RF_IPv4_UC, bgp.RF_IPv6_UC}, 0, 0)
+ tbl := table.NewTableManager([]bgp.RouteFamily{bgp.RF_IPv4_UC, bgp.RF_IPv6_UC}, 0, 0)
peer := server.NewPeer(g, p, tbl, table.NewRoutingPolicy())
server.NewFSMHandler(peer.Fsm(), incoming, peer.Outgoing())
return peer