Merge "Support for CreatingTerminatingService RPC"
[vpnservice.git] / bgpmanager / bgpmanager-impl / src / main / java / org / opendaylight / bgpmanager / thrift / server / implementation / BgpUpdateHandler.java
index 8688070930c8301bae8530b9921a9d8cc9701cc4..bd650ffe1106ad154e93a44d26414baf74d43c71 100644 (file)
@@ -1,35 +1,48 @@
+/*
+ * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
 package org.opendaylight.bgpmanager.thrift.server.implementation;
 
+import org.opendaylight.bgpmanager.BgpManager;
+import org.opendaylight.bgpmanager.FibDSWriter;
 import org.opendaylight.bgpmanager.thrift.gen.BgpUpdater;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.*;
-
 class BgpUpdateHandler implements BgpUpdater.Iface {
 
-    private static final Logger logger = LoggerFactory.getLogger(BgpUpdateHandler.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(BgpUpdateHandler.class);
+    private BgpManager bgpManager;
+    private FibDSWriter fibDSWriter;
 
-    public BgpUpdateHandler() {}
+    public BgpUpdateHandler(BgpManager bgpMgr, FibDSWriter dsWriter) {
+        bgpManager = bgpMgr;
+        fibDSWriter = dsWriter;
+    }
 
     public void onUpdatePushRoute(String rd, String prefix, int plen,
                                 String nexthop, int label) {
-       logger.info("Route add ** " + rd + " ** " + prefix + "/" + plen
-               + " ** " + nexthop + " ** " + label);
+
+       LOGGER.debug("Route add ** {} ** {}/{} ** {} ** {} ", rd, prefix, plen, nexthop, label);
         //Write to FIB in Data Store
+        fibDSWriter.addFibEntryToDS(rd, prefix + "/" + plen, nexthop, label);
 
    }
 
    public void onUpdateWithdrawRoute(String rd, String prefix, int plen) {
-       logger.info("Route del ** " + rd + " ** " + prefix + "/" + plen);
-       //Write to FIB in Data Store
+       LOGGER.debug("Route del ** {} ** {}/{} ", rd, prefix, plen);
+       fibDSWriter.removeFibEntryFromDS(rd, prefix + "/" + plen);
 
    }
 
    public void onStartConfigResyncNotification() {
-       logger.info("BGP (re)started");
-
-        //Reconfigure BGP
+       LOGGER.debug("BGP (re)started");
+       bgpManager.reInitConn();
    }
 
 }