Make BGP protocol instance name configurable 78/7578/2
authorMarek Gradzki <mgradzki@cisco.com>
Fri, 14 Jul 2017 07:14:22 +0000 (09:14 +0200)
committerJan Srnicek <jsrnicek@cisco.com>
Mon, 17 Jul 2017 08:15:24 +0000 (08:15 +0000)
Change-Id: I49a201b8e027d229a60bb76abe9b5688af7b7cdf
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
infra/bgp-distribution-test/src/test/resources/bgp.json
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpConfiguration.java
infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java
infra/northbound/bgp/src/main/resources/honeycomb-minimal-resources/config/bgp.json

index c352fb0..5cc9a41 100644 (file)
@@ -4,5 +4,6 @@
   "bgp-as-number": 65000,
   "bgp-receive-multiple-paths": "true",
   "bgp-send-max-paths": 0,
+  "bgp-protocol-instance-name": "hc-bgp-instance",
   "bgp-netty-threads": 2
 }
\ No newline at end of file
index 6cc245a..9335fb3 100644 (file)
@@ -45,17 +45,20 @@ public class BgpConfiguration {
     public Optional<String> bgpMultiplePaths;
     @InjectConfig("bgp-send-max-paths")
     public Optional<Integer> bgpSendMaxMaths;
+    @InjectConfig("bgp-protocol-instance-name")
+    public Optional<String> bgpProtocolInstanceName;
     @InjectConfig("bgp-netty-threads")
     public Integer bgpNettyThreads;
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(this)
-                .add("bgpBindingAddress", bgpBindingAddress)
-                .add("bgpPort", bgpPort)
-                .add("bgp-as-number", bgpAsNumber)
-                .add("bgp-netty-threads", bgpNettyThreads)
-                .add("bgp-receive-multiple-paths", bgpMultiplePaths)
-                .add("bgp-send-max-paths", bgpSendMaxMaths)
-                .toString();
+            .add("bgpBindingAddress", bgpBindingAddress)
+            .add("bgpPort", bgpPort)
+            .add("bgpAsNumber", bgpAsNumber)
+            .add("bgpMultiplePaths", bgpMultiplePaths)
+            .add("bgpSendMaxMaths", bgpSendMaxMaths)
+            .add("bgpProtocolInstanceName", bgpProtocolInstanceName)
+            .add("bgpNettyThreads", bgpNettyThreads)
+            .toString();
     }
 }
index 9cd02b4..7fcddfc 100644 (file)
@@ -52,7 +52,6 @@ import org.slf4j.LoggerFactory;
 
 final class BgpRIBProvider extends ProviderTrait<RIB> {
     private static final Logger LOG = LoggerFactory.getLogger(BgpRIBProvider.class);
-    private static final String HC_BGP_INSTANCE_NAME = "hc-bgp-instance";
 
     @Inject
     private BgpConfiguration cfg;
@@ -93,9 +92,10 @@ final class BgpRIBProvider extends ProviderTrait<RIB> {
                 new TablesKey(entry.getKey().getAfi(), entry.getKey().getSafi()), Map.Entry::getValue));
         // based on RIBImpl.createRib
         final RIBImpl rib =
-            new RIBImpl(new NoopClusterSingletonServiceProvider(), new RibId(HC_BGP_INSTANCE_NAME), asNumber,
-            new BgpId(routerId), clusterId, extensions, dispatcher, codec, new PingPongDataBroker(domBroker),
-            mappingService.toTableTypes(afiSafi), pathSelectionModes, extensions.getClassLoadingStrategy(), null);
+            new RIBImpl(new NoopClusterSingletonServiceProvider(), new RibId(cfg.bgpProtocolInstanceName.get()),
+                asNumber, new BgpId(routerId), clusterId, extensions, dispatcher, codec,
+                new PingPongDataBroker(domBroker), mappingService.toTableTypes(afiSafi), pathSelectionModes,
+                extensions.getClassLoadingStrategy(), null);
 
         // required for proper RIB's CodecRegistry initialization (based on RIBImpl.start)
         schemaService.registerSchemaContextListener(rib);
index 2efe55e..093acb8 100644 (file)
@@ -4,5 +4,6 @@
   "bgp-as-number": 65000,
   "bgp-receive-multiple-paths": "true",
   "bgp-send-max-paths": 0,
+  "bgp-protocol-instance-name": "hc-bgp-instance",
   "bgp-netty-threads": 2
 }
\ No newline at end of file