summaryrefslogtreecommitdiffhomepage
path: root/table
diff options
context:
space:
mode:
Diffstat (limited to 'table')
-rw-r--r--table/table_manager.go9
-rw-r--r--table/table_manager_test.go77
2 files changed, 25 insertions, 61 deletions
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)