diff --git a/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java b/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java
index 80eec64..6f87c3f 100644
--- a/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java
+++ b/protocols/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpCfg.java
@@ -390,4 +390,60 @@
      */
     void setConnectionType(ConnectionType connectionType);
 
+    /**
+     * Gets route refresh is enabled or not.
+     *
+     * @return route refresh enabled
+     */
+    boolean isRouteRefreshEnabled();
+
+    /**
+     * Sets if route refresh is enabled or disabled.
+     *
+     * @param isEnabled is route refresh enabled
+     */
+    void setRouteRefreshEnabled(boolean isEnabled);
+
+    /**
+     * Gets the value of route refresh periodic timer.
+     *
+     * @return route refresh periodic timer value
+     */
+    long getRouteRefreshPeriodicTimer();
+
+    /**
+     * Sets the value of route refresh periodic timer.
+     *
+     * @param periodicTimer value for periodic timer
+     */
+    void setRouteRefreshPeriodicTimer(long periodicTimer);
+
+    /**
+     * Gets the value of route refresh warmup timer.
+     *
+     * @return route refresh warmup timer value
+     */
+    long getRouteRefreshWarmupTimer();
+
+    /**
+     * Sets the value of route refresh warmup timer.
+     *
+     * @param warmupTimer value for warmup timer
+     */
+    void setRouteRefreshWarmupTimer(long warmupTimer);
+
+    /**
+     * Gets the value of route refresh cooldown timer.
+     *
+     * @return route refresh cooldown timer value
+     */
+    long getRouteRefreshCooldownTimer();
+
+    /**
+     * Sets the value of route refresh cooldown timer.
+     *
+     * @param cooldownTimer value for cooldown timer
+     */
+    void setRouteRefreshCooldownTimer(long cooldownTimer);
+
 }
diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpConfig.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpConfig.java
index c9a9a09..bb4d153 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpConfig.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpConfig.java
@@ -65,6 +65,11 @@
     //Set default connection type as IPv4
     private ConnectionType connectionType = ConnectionType.IPV4;
 
+    private boolean isRouteRefreshEnabled = false;
+    private long periodicTimer;
+    private long warmupTimer;
+    private long cooldownTimer;
+
     /*
      * Constructor to initialize the values.
      */
@@ -166,6 +171,46 @@
     }
 
     @Override
+    public boolean isRouteRefreshEnabled() {
+        return this.isRouteRefreshEnabled;
+    }
+
+    @Override
+    public void setRouteRefreshEnabled(boolean isEnabled) {
+        this.isRouteRefreshEnabled = isEnabled;
+    }
+
+    @Override
+    public long getRouteRefreshPeriodicTimer() {
+        return this.periodicTimer;
+    }
+
+    @Override
+    public void setRouteRefreshPeriodicTimer(long periodicTimer) {
+        this.periodicTimer = periodicTimer;
+    }
+
+    @Override
+    public long getRouteRefreshWarmupTimer() {
+        return this.warmupTimer;
+    }
+
+    @Override
+    public void setRouteRefreshWarmupTimer(long warmupTimer) {
+        this.warmupTimer = warmupTimer;
+    }
+
+    @Override
+    public long getRouteRefreshCooldownTimer() {
+        return this.cooldownTimer;
+    }
+
+    @Override
+    public void setRouteRefreshCooldownTimer(long cooldownTimer) {
+        this.cooldownTimer = cooldownTimer;
+    }
+
+    @Override
     public String getRouterId() {
         if (this.routerId != null) {
             return this.routerId.toString();
diff --git a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java
index f76c401..d090420 100644
--- a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java
+++ b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpAppConfig.java
@@ -67,6 +67,11 @@
     public static final String CONNECTION_TYPE_IPV6 = "IPV6";
     public static final String CONNECTION_TYPE_IPV4_AND_IPV6 = "IPV4_IPV6";
 
+    public static final String ROUTE_REFRESH_ENABLED = "routeRefreshEnabled";
+    public static final String RR_PERIODIC_TIMER = "rrPeriodicTimer";
+    public static final String RR_COOLDOWN_TIMER = "rrCooldownTimer";
+    public static final String RR_WARMUP_TIMER = "rrWarmupTimer";
+
     static final int MAX_SHORT_AS_NUMBER = 65535;
     static final long MAX_LONG_AS_NUMBER = 4294967295L;
 
@@ -76,6 +81,18 @@
     static final int MIN_HOLDTIME = 0;
     static final long MAX_HOLDTIME = 65535;
 
+    static final String RR_ENABLED_DEFAULT_VALUE = "false";
+    static final String PERIODIC_TIMER_DEFAULT_VALUE = "1800"; //30 minutes
+    static final String COOLDOWN_TIMER_DEFAULT_VALUE = "300"; //5 minutes
+    static final String WARMUP_TIMER_DEFAULT_VALUE = "30"; //30 seconds
+
+    static final long MIN_PERIODIC_TIMER = 1;
+    static final long MAX_PERIODIC_TIMER = Integer.MAX_VALUE;
+    static final long MIN_COOLDOWN_TIMER = 1;
+    static final long MAX_COOLDOWN_TIMER = Integer.MAX_VALUE;
+    static final long MIN_WARMUP_TIMER = 1;
+    static final long MAX_WARMUP_TIMER = Integer.MAX_VALUE;
+
     @Override
     public boolean isValid() {
         boolean fields = false;
@@ -85,13 +102,18 @@
 
         fields = hasOnlyFields(ROUTER_ID, LOCAL_AS, MAX_SESSION, LS_CAPABILITY,
                                HOLD_TIME, LARGE_AS_CAPABILITY, FLOW_SPEC_CAPABILITY,
-                               FLOW_SPEC_RPD_CAPABILITY, BGP_PEER, EVPN_CAPABILITY, CONNECTION_TYPE) &&
+                               FLOW_SPEC_RPD_CAPABILITY, BGP_PEER, EVPN_CAPABILITY, CONNECTION_TYPE,
+                               ROUTE_REFRESH_ENABLED, RR_PERIODIC_TIMER, RR_COOLDOWN_TIMER, RR_WARMUP_TIMER) &&
                 isIpAddress(ROUTER_ID, MANDATORY) && isNumber(LOCAL_AS, MANDATORY) &&
                 isNumber(MAX_SESSION, OPTIONAL, MIN_SESSION_NUMBER, MAX_SESSION_NUMBER)
                 && isNumber(HOLD_TIME, OPTIONAL, MIN_HOLDTIME, MAX_HOLDTIME) &&
                 isBoolean(LS_CAPABILITY, OPTIONAL) && isBoolean(LARGE_AS_CAPABILITY, OPTIONAL) &&
                 isString(FLOW_SPEC_CAPABILITY, OPTIONAL) && isBoolean(FLOW_SPEC_RPD_CAPABILITY, OPTIONAL)
-                && isBoolean(EVPN_CAPABILITY, OPTIONAL) && isString(CONNECTION_TYPE, OPTIONAL);
+                && isBoolean(EVPN_CAPABILITY, OPTIONAL) && isString(CONNECTION_TYPE, OPTIONAL)
+                && isBoolean(ROUTE_REFRESH_ENABLED, OPTIONAL)
+                && isNumber(RR_PERIODIC_TIMER, OPTIONAL, MIN_PERIODIC_TIMER, MAX_PERIODIC_TIMER)
+                && isNumber(RR_COOLDOWN_TIMER, OPTIONAL, MIN_COOLDOWN_TIMER, MAX_COOLDOWN_TIMER)
+                && isNumber(RR_WARMUP_TIMER, OPTIONAL, MIN_WARMUP_TIMER, MAX_WARMUP_TIMER);
 
         if (!fields) {
             return fields;
@@ -182,6 +204,42 @@
     }
 
     /**
+     * Returns if route refresh is enabled in the configuration.
+     *
+     * @return route refresh enabled
+     */
+    public boolean routeRefreshEnabled() {
+        return Boolean.parseBoolean(get(ROUTE_REFRESH_ENABLED, RR_ENABLED_DEFAULT_VALUE));
+    }
+
+    /**
+     * Returns value of route refresh periodic timer from the configuration.
+     *
+     * @return route refresh periodic timer
+     */
+    public long rrPeriodicTimer() {
+        return Long.parseLong(get(RR_PERIODIC_TIMER, PERIODIC_TIMER_DEFAULT_VALUE));
+    }
+
+    /**
+     * Returns value of route refresh warmup timer from the configuration.
+     *
+     * @return route refresh warmup timer
+     */
+    public long rrWarmupTimer() {
+        return Long.parseLong(get(RR_WARMUP_TIMER, WARMUP_TIMER_DEFAULT_VALUE));
+    }
+
+    /**
+     * Returns value of route refresh cooldown timer from the configuration.
+     *
+     * @return route refresh cooldown timer
+     */
+    public long rrCooldownTimer() {
+        return Long.parseLong(get(RR_COOLDOWN_TIMER, COOLDOWN_TIMER_DEFAULT_VALUE));
+    }
+
+    /**
      * Validates the BGP connection type.
      *
      * @return true if valid else false
diff --git a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java
index d9268d8..798c0a2 100644
--- a/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java
+++ b/providers/bgp/cfg/src/main/java/org/onosproject/provider/bgp/cfg/impl/BgpCfgProvider.java
@@ -154,6 +154,11 @@
         }
 
         bgpConfig.setConnectionType(getBgpConnectionTypeFromConfig(config));
+
+        bgpConfig.setRouteRefreshEnabled(config.routeRefreshEnabled());
+        bgpConfig.setRouteRefreshPeriodicTimer(config.rrPeriodicTimer());
+        bgpConfig.setRouteRefreshWarmupTimer(config.rrWarmupTimer());
+        bgpConfig.setRouteRefreshCooldownTimer(config.rrCooldownTimer());
     }
 
     /**
@@ -262,6 +267,11 @@
         }
 
         bgpConfig.setConnectionType(getBgpConnectionTypeFromConfig(config));
+
+        bgpConfig.setRouteRefreshEnabled(config.routeRefreshEnabled());
+        bgpConfig.setRouteRefreshPeriodicTimer(config.rrPeriodicTimer());
+        bgpConfig.setRouteRefreshWarmupTimer(config.rrWarmupTimer());
+        bgpConfig.setRouteRefreshCooldownTimer(config.rrCooldownTimer());
     }
 
     /**
