From c94eb13807c8444b64ab74889ff426b1cec829b8 Mon Sep 17 00:00:00 2001 From: Christoph Petrausch <christoph.petrausch@inovex.de> Date: Tue, 29 May 2018 05:56:48 +0200 Subject: [PATCH] Changed rib to routingtable.RouteTableClient interface --- protocols/bgp/server/fsm.go | 5 ++--- protocols/bgp/server/peer.go | 8 +++----- routingtable/adjRIBIn/adj_rib_in_test.go | 4 ++++ routingtable/client_interface.go | 1 + routingtable/client_manager_test.go | 5 +++++ 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/protocols/bgp/server/fsm.go b/protocols/bgp/server/fsm.go index fc342e82..f8f20547 100644 --- a/protocols/bgp/server/fsm.go +++ b/protocols/bgp/server/fsm.go @@ -16,7 +16,6 @@ import ( "github.com/bio-routing/bio-rd/routingtable/adjRIBIn" "github.com/bio-routing/bio-rd/routingtable/adjRIBOut" "github.com/bio-routing/bio-rd/routingtable/adjRIBOutAddPath" - "github.com/bio-routing/bio-rd/routingtable/locRIB" log "github.com/sirupsen/logrus" tomb "gopkg.in/tomb.v2" ) @@ -92,7 +91,7 @@ type FSM struct { adjRIBIn *adjRIBIn.AdjRIBIn adjRIBOut routingtable.RouteTableClient - rib *locRIB.LocRIB + rib routingtable.RouteTableClient updateSender routingtable.RouteTableClient capAddPathSend bool @@ -109,7 +108,7 @@ type msgRecvErr struct { con *net.TCPConn } -func NewFSM(peer *Peer, c config.Peer, rib *locRIB.LocRIB) *FSM { +func NewFSM(peer *Peer, c config.Peer, rib routingtable.RouteTableClient) *FSM { fsm := &FSM{ peer: peer, state: Idle, diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go index bf18c5d5..0f4b3514 100644 --- a/protocols/bgp/server/peer.go +++ b/protocols/bgp/server/peer.go @@ -3,25 +3,23 @@ package server import ( "net" + "github.com/bio-routing/bio-rd/config" "github.com/bio-routing/bio-rd/protocols/bgp/packet" "github.com/bio-routing/bio-rd/routingtable" - "github.com/bio-routing/bio-rd/routingtable/locRIB" - - "github.com/bio-routing/bio-rd/config" ) type Peer struct { addr net.IP asn uint32 fsm *FSM - rib *locRIB.LocRIB + rib routingtable.RouteTableClient routerID uint32 addPathSend routingtable.ClientOptions addPathRecv bool optOpenParams []packet.OptParam } -func NewPeer(c config.Peer, rib *locRIB.LocRIB) (*Peer, error) { +func NewPeer(c config.Peer, rib routingtable.RouteTableClient) (*Peer, error) { p := &Peer{ addr: c.PeerAddress, asn: c.PeerAS, diff --git a/routingtable/adjRIBIn/adj_rib_in_test.go b/routingtable/adjRIBIn/adj_rib_in_test.go index 5659ab80..a994e0f5 100644 --- a/routingtable/adjRIBIn/adj_rib_in_test.go +++ b/routingtable/adjRIBIn/adj_rib_in_test.go @@ -34,6 +34,10 @@ func (m *RTMockClient) Register(routingtable.RouteTableClient) { return } +func (m *RTMockClient) RegisterWithOptions(routingtable.RouteTableClient, routingtable.ClientOptions) { + return +} + func (m *RTMockClient) Unregister(routingtable.RouteTableClient) { return } diff --git a/routingtable/client_interface.go b/routingtable/client_interface.go index 0800ceec..e7190c5b 100644 --- a/routingtable/client_interface.go +++ b/routingtable/client_interface.go @@ -11,5 +11,6 @@ type RouteTableClient interface { RemovePath(net.Prefix, *route.Path) bool UpdateNewClient(RouteTableClient) error Register(RouteTableClient) + RegisterWithOptions(RouteTableClient, ClientOptions) Unregister(RouteTableClient) } diff --git a/routingtable/client_manager_test.go b/routingtable/client_manager_test.go index af250785..78e2e58c 100644 --- a/routingtable/client_manager_test.go +++ b/routingtable/client_manager_test.go @@ -25,6 +25,11 @@ func (m MockClient) UpdateNewClient(RouteTableClient) error { func (m MockClient) Register(RouteTableClient) { return } + +func (m MockClient) RegisterWithOptions(RouteTableClient, ClientOptions) { + return +} + func (m MockClient) Unregister(RouteTableClient) { return } -- GitLab