From 674799764de1df86b79618accc0098357585ba6b Mon Sep 17 00:00:00 2001
From: Daniel Czerwonk <daniel@dan-nrw.de>
Date: Tue, 17 Jul 2018 08:16:32 +0200
Subject: [PATCH] family dependent add-path config

---
 config/peer.go |  4 ++--
 main_ipv4.go   | 14 +++++++-------
 main_ipv6.go   | 12 ++++++------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/config/peer.go b/config/peer.go
index 82a9f61f..fa963092 100644
--- a/config/peer.go
+++ b/config/peer.go
@@ -21,8 +21,6 @@ type Peer struct {
 	PeerAS                  uint32
 	Passive                 bool
 	RouterID                uint32
-	AddPathSend             routingtable.ClientOptions
-	AddPathRecv             bool
 	RouteServerClient       bool
 	RouteReflectorClient    bool
 	RouteReflectorClusterID uint32
@@ -35,4 +33,6 @@ type AddressFamilyConfig struct {
 	RIB          *locRIB.LocRIB
 	ImportFilter *filter.Filter
 	ExportFilter *filter.Filter
+	AddPathSend  routingtable.ClientOptions
+	AddPathRecv  bool
 }
diff --git a/main_ipv4.go b/main_ipv4.go
index 0d3c5a7c..c280c072 100644
--- a/main_ipv4.go
+++ b/main_ipv4.go
@@ -40,13 +40,13 @@ func startServer(b server.BGPServer, rib *locRIB.LocRIB) {
 		KeepAlive:         time.Second * 30,
 		Passive:           true,
 		RouterID:          b.RouterID(),
-		AddPathSend: routingtable.ClientOptions{
-			MaxPaths: 10,
-		},
 		IPv4: &config.AddressFamilyConfig{
 			RIB:          rib,
 			ImportFilter: filter.NewAcceptAllFilter(),
 			ExportFilter: filter.NewAcceptAllFilter(),
+			AddPathSend: routingtable.ClientOptions{
+				MaxPaths: 10,
+			},
 		},
 		RouteServerClient: true,
 	})
@@ -62,15 +62,15 @@ func startServer(b server.BGPServer, rib *locRIB.LocRIB) {
 		KeepAlive:         time.Second * 30,
 		Passive:           true,
 		RouterID:          b.RouterID(),
-		AddPathSend: routingtable.ClientOptions{
-			MaxPaths: 10,
-		},
-		AddPathRecv:       true,
 		RouteServerClient: true,
 		IPv4: &config.AddressFamilyConfig{
 			RIB:          rib,
 			ImportFilter: filter.NewAcceptAllFilter(),
 			ExportFilter: filter.NewAcceptAllFilter(),
+			AddPathSend: routingtable.ClientOptions{
+				MaxPaths: 10,
+			},
+			AddPathRecv: true,
 		},
 	})
 }
diff --git a/main_ipv6.go b/main_ipv6.go
index 2d4a2410..30467c00 100644
--- a/main_ipv6.go
+++ b/main_ipv6.go
@@ -38,13 +38,13 @@ func startServer(b server.BGPServer, rib *locRIB.LocRIB) {
 		KeepAlive:         time.Second * 30,
 		Passive:           true,
 		RouterID:          b.RouterID(),
-		AddPathSend: routingtable.ClientOptions{
-			BestOnly: true,
-		},
 		IPv6: &config.AddressFamilyConfig{
 			RIB:          rib,
 			ImportFilter: filter.NewAcceptAllFilter(),
 			ExportFilter: filter.NewDrainFilter(),
+			AddPathSend: routingtable.ClientOptions{
+				BestOnly: true,
+			},
 		},
 	})
 
@@ -59,13 +59,13 @@ func startServer(b server.BGPServer, rib *locRIB.LocRIB) {
 		KeepAlive:         time.Second * 30,
 		Passive:           true,
 		RouterID:          b.RouterID(),
-		AddPathSend: routingtable.ClientOptions{
-			BestOnly: true,
-		},
 		IPv6: &config.AddressFamilyConfig{
 			RIB:          rib,
 			ImportFilter: filter.NewDrainFilter(),
 			ExportFilter: filter.NewAcceptAllFilter(),
+			AddPathSend: routingtable.ClientOptions{
+				BestOnly: true,
+			},
 		},
 	})
 }
-- 
GitLab