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(),