diff --git a/protocols/bgp/server/BUILD.bazel b/protocols/bgp/server/BUILD.bazel index 92eb3a7838522e9bf7a2a6508e70a977875e75c1..78bdeb1f3635cabb3ead2855ae4431ee20a3c04c 100644 --- a/protocols/bgp/server/BUILD.bazel +++ b/protocols/bgp/server/BUILD.bazel @@ -4,9 +4,9 @@ go_library( name = "go_default_library", srcs = [ "fake_conn.go", - "family_routing.go", "fsm.go", "fsm_active.go", + "fsm_address_family.go", "fsm_cease.go", "fsm_connect.go", "fsm_established.go", @@ -43,7 +43,7 @@ go_library( go_test( name = "go_default_test", srcs = [ - "family_routing_test.go", + "fsm_address_family_test.go", "fsm_open_sent_test.go", "fsm_test.go", "server_test.go", diff --git a/protocols/bgp/server/fsm.go b/protocols/bgp/server/fsm.go index 521e5b985270ae474021b37858c6309eafb8d3cb..aa10948ea4e6af7437960503a2b18ce85bb32301 100644 --- a/protocols/bgp/server/fsm.go +++ b/protocols/bgp/server/fsm.go @@ -58,8 +58,8 @@ type FSM struct { local net.IP ribsInitialized bool - ipv4Unicast *familyRouting - ipv6Unicast *familyRouting + ipv4Unicast *fsmAddressFamily + ipv6Unicast *fsmAddressFamily neighborID uint32 state state @@ -99,11 +99,11 @@ func newFSM2(peer *peer) *FSM { } if peer.ipv4 != nil { - f.ipv4Unicast = newFamilyRouting(packet.IPv4AFI, packet.UnicastSAFI, peer.ipv4, f) + f.ipv4Unicast = newFSMAddressFamily(packet.IPv4AFI, packet.UnicastSAFI, peer.ipv4, f) } if peer.ipv6 != nil { - f.ipv6Unicast = newFamilyRouting(packet.IPv6AFI, packet.UnicastSAFI, peer.ipv6, f) + f.ipv6Unicast = newFSMAddressFamily(packet.IPv6AFI, packet.UnicastSAFI, peer.ipv6, f) } return f diff --git a/protocols/bgp/server/family_routing.go b/protocols/bgp/server/fsm_address_family.go similarity index 80% rename from protocols/bgp/server/family_routing.go rename to protocols/bgp/server/fsm_address_family.go index 64332ac66c27ad5d6bfdf44bde260359629b40f9..daa5465e16f2bb90e0da43316b4bb475021ffd1b 100644 --- a/protocols/bgp/server/family_routing.go +++ b/protocols/bgp/server/fsm_address_family.go @@ -14,8 +14,8 @@ import ( "github.com/bio-routing/bio-rd/routingtable/locRIB" ) -// familyRouting holds RIBs and the UpdateSender of an peer for an AFI/SAFI combination -type familyRouting struct { +// fsmAddressFamily holds RIBs and the UpdateSender of an peer for an AFI/SAFI combination +type fsmAddressFamily struct { afi uint16 safi uint8 fsm *FSM @@ -32,8 +32,8 @@ type familyRouting struct { initialized bool } -func newFamilyRouting(afi uint16, safi uint8, params *familyParameters, fsm *FSM) *familyRouting { - return &familyRouting{ +func newFSMAddressFamily(afi uint16, safi uint8, params *familyParameters, fsm *FSM) *fsmAddressFamily { + return &fsmAddressFamily{ afi: afi, safi: safi, fsm: fsm, @@ -43,7 +43,7 @@ func newFamilyRouting(afi uint16, safi uint8, params *familyParameters, fsm *FSM } } -func (f *familyRouting) init(n *routingtable.Neighbor) { +func (f *fsmAddressFamily) init(n *routingtable.Neighbor) { contributingASNs := f.rib.GetContributingASNs() f.adjRIBIn = adjRIBIn.New(f.importFilter, contributingASNs, f.fsm.peer.routerID, f.fsm.peer.clusterID) @@ -65,7 +65,7 @@ func (f *familyRouting) init(n *routingtable.Neighbor) { f.rib.RegisterWithOptions(f.adjRIBOut, clientOptions) } -func (f *familyRouting) dispose() { +func (f *fsmAddressFamily) dispose() { if !f.initialized { return } @@ -82,7 +82,7 @@ func (f *familyRouting) dispose() { f.initialized = false } -func (f *familyRouting) processUpdate(u *packet.BGPUpdate) { +func (f *fsmAddressFamily) processUpdate(u *packet.BGPUpdate) { if f.afi == packet.IPv4AFI && f.safi == packet.UnicastSAFI { f.withdraws(u) f.updates(u) @@ -93,14 +93,14 @@ func (f *familyRouting) processUpdate(u *packet.BGPUpdate) { } } -func (f *familyRouting) withdraws(u *packet.BGPUpdate) { +func (f *fsmAddressFamily) withdraws(u *packet.BGPUpdate) { for r := u.WithdrawnRoutes; r != nil; r = r.Next { pfx := bnet.NewPfx(bnet.IPv4(r.IP), r.Pfxlen) f.adjRIBIn.RemovePath(pfx, nil) } } -func (f *familyRouting) updates(u *packet.BGPUpdate) { +func (f *fsmAddressFamily) updates(u *packet.BGPUpdate) { for r := u.NLRI; r != nil; r = r.Next { pfx := bnet.NewPfx(bnet.IPv4(r.IP), r.Pfxlen) @@ -111,7 +111,7 @@ func (f *familyRouting) updates(u *packet.BGPUpdate) { } } -func (f *familyRouting) multiProtocolUpdates(u *packet.BGPUpdate) { +func (f *fsmAddressFamily) multiProtocolUpdates(u *packet.BGPUpdate) { if !f.fsm.options.SupportsMultiProtocol { return } @@ -129,7 +129,7 @@ func (f *familyRouting) multiProtocolUpdates(u *packet.BGPUpdate) { } } -func (f *familyRouting) newRoutePath() *route.Path { +func (f *fsmAddressFamily) newRoutePath() *route.Path { return &route.Path{ Type: route.BGPPathType, BGPPath: &route.BGPPath{ @@ -139,7 +139,7 @@ func (f *familyRouting) newRoutePath() *route.Path { } } -func (f *familyRouting) multiProtocolUpdate(path *route.Path, nlri packet.MultiProtocolReachNLRI) { +func (f *fsmAddressFamily) multiProtocolUpdate(path *route.Path, nlri packet.MultiProtocolReachNLRI) { path.BGPPath.NextHop = nlri.NextHop for _, pfx := range nlri.Prefixes { @@ -147,13 +147,13 @@ func (f *familyRouting) multiProtocolUpdate(path *route.Path, nlri packet.MultiP } } -func (f *familyRouting) multiProtocolWithdraw(path *route.Path, nlri packet.MultiProtocolUnreachNLRI) { +func (f *fsmAddressFamily) multiProtocolWithdraw(path *route.Path, nlri packet.MultiProtocolUnreachNLRI) { for _, pfx := range nlri.Prefixes { f.adjRIBIn.RemovePath(pfx, path) } } -func (f *familyRouting) processAttributes(attrs *packet.PathAttribute, path *route.Path) { +func (f *fsmAddressFamily) processAttributes(attrs *packet.PathAttribute, path *route.Path) { for pa := attrs; pa != nil; pa = pa.Next { switch pa.TypeCode { case packet.OriginAttr: @@ -189,7 +189,7 @@ func (f *familyRouting) processAttributes(attrs *packet.PathAttribute, path *rou } } -func (f *familyRouting) processUnknownAttribute(attr *packet.PathAttribute) *types.UnknownPathAttribute { +func (f *fsmAddressFamily) processUnknownAttribute(attr *packet.PathAttribute) *types.UnknownPathAttribute { if !attr.Transitive { return nil } diff --git a/protocols/bgp/server/family_routing_test.go b/protocols/bgp/server/fsm_address_family_test.go similarity index 98% rename from protocols/bgp/server/family_routing_test.go rename to protocols/bgp/server/fsm_address_family_test.go index 102c2e0547236f1ce3c852f5fd9d18e53b1452c1..54bd4b4ac9a7d40718f882d9408bf630d981b15a 100644 --- a/protocols/bgp/server/family_routing_test.go +++ b/protocols/bgp/server/fsm_address_family_test.go @@ -43,7 +43,7 @@ func TestProcessAttributes(t *testing.T) { Next: unknown1, } - f := &familyRouting{} + f := &fsmAddressFamily{} p := &route.Path{ BGPPath: &route.BGPPath{}, diff --git a/protocols/bgp/server/update_sender_test.go b/protocols/bgp/server/update_sender_test.go index 19e9a99c94add48259f0de37cbbf9330f7c926dc..40719d6972a7b3f551d23823c4635666e5c59eac 100644 --- a/protocols/bgp/server/update_sender_test.go +++ b/protocols/bgp/server/update_sender_test.go @@ -874,13 +874,13 @@ func TestSender(t *testing.T) { rib := locRIB.New() if test.afi == packet.IPv6AFI { fsmA.options.SupportsMultiProtocol = true - fsmA.ipv6Unicast = newFamilyRouting(packet.IPv6AFI, packet.UnicastSAFI, &familyParameters{ + fsmA.ipv6Unicast = newFSMAddressFamily(packet.IPv6AFI, packet.UnicastSAFI, &familyParameters{ rib: rib, importFilter: filter.NewAcceptAllFilter(), exportFilter: filter.NewAcceptAllFilter(), }, fsmA) } else { - fsmA.ipv4Unicast = newFamilyRouting(packet.IPv4AFI, packet.UnicastSAFI, &familyParameters{ + fsmA.ipv4Unicast = newFSMAddressFamily(packet.IPv4AFI, packet.UnicastSAFI, &familyParameters{ rib: rib, importFilter: filter.NewAcceptAllFilter(), exportFilter: filter.NewAcceptAllFilter(),