diff --git a/apps/routing-api/src/main/java/org/onosproject/routing/IntentSynchronizationAdminService.java b/apps/routing-api/src/main/java/org/onosproject/routing/IntentSynchronizationAdminService.java
index 14a274f..9c6e1dd 100644
--- a/apps/routing-api/src/main/java/org/onosproject/routing/IntentSynchronizationAdminService.java
+++ b/apps/routing-api/src/main/java/org/onosproject/routing/IntentSynchronizationAdminService.java
@@ -22,7 +22,7 @@
 public interface IntentSynchronizationAdminService {
 
     /**
-     * Changes whether this SDN-IP instance is the primary or not based on the
+     * Changes whether this instance is the primary or not based on the
      * boolean parameter.
      *
      * @param isPrimary true if the instance is primary, false if it is not
diff --git a/apps/routing-api/src/main/java/org/onosproject/routing/RoutingService.java b/apps/routing-api/src/main/java/org/onosproject/routing/RoutingService.java
index 9c61010..711b089 100644
--- a/apps/routing-api/src/main/java/org/onosproject/routing/RoutingService.java
+++ b/apps/routing-api/src/main/java/org/onosproject/routing/RoutingService.java
@@ -49,16 +49,16 @@
     void stop();
 
     /**
-     * Gets all IPv4 routes known to SDN-IP.
+     * Gets all IPv4 routes from the RIB.
      *
-     * @return the SDN-IP IPv4 routes
+     * @return the IPv4 routes
      */
     Collection<RouteEntry> getRoutes4();
 
     /**
-     * Gets all IPv6 routes known to SDN-IP.
+     * Gets all IPv6 routes from the RIB.
      *
-     * @return the SDN-IP IPv6 routes
+     * @return the IPv6 routes
      */
     Collection<RouteEntry> getRoutes6();
 
diff --git a/apps/routing/src/main/java/org/onosproject/routing/cli/RoutesListCommand.java b/apps/routing/src/main/java/org/onosproject/routing/cli/RoutesListCommand.java
index 04fcb8f..f2d1d52 100644
--- a/apps/routing/src/main/java/org/onosproject/routing/cli/RoutesListCommand.java
+++ b/apps/routing/src/main/java/org/onosproject/routing/cli/RoutesListCommand.java
@@ -28,20 +28,21 @@
 import java.util.Collection;
 
 /**
- * Command to show the list of routes in SDN-IP's routing table.
+ * Command to show the routes in the routing table.
  */
 @Command(scope = "onos", name = "routes",
-        description = "Lists all SDN-IP best routes")
+        description = "Lists all routes in the RIB")
 public class RoutesListCommand extends AbstractShellCommand {
+
     @Option(name = "-s", aliases = "--summary",
-            description = "SDN-IP routes summary",
+            description = "Show summary of routes",
             required = false, multiValued = false)
     private boolean routesSummary = false;
 
     private static final String FORMAT_SUMMARY_V4 =
-        "Total SDN-IP IPv4 routes = %d";
+        "Total IPv4 routes = %d";
     private static final String FORMAT_SUMMARY_V6 =
-        "Total SDN-IP IPv6 routes = %d";
+        "Total IPv6 routes = %d";
     private static final String FORMAT_HEADER =
         "   Network            Next Hop";
     private static final String FORMAT_ROUTE =
diff --git a/apps/routing/src/main/java/org/onosproject/routing/impl/Router.java b/apps/routing/src/main/java/org/onosproject/routing/impl/Router.java
index 50ed396..0017d52 100644
--- a/apps/routing/src/main/java/org/onosproject/routing/impl/Router.java
+++ b/apps/routing/src/main/java/org/onosproject/routing/impl/Router.java
@@ -125,7 +125,7 @@
 
         bgpUpdatesExecutor = Executors.newSingleThreadExecutor(
                 new ThreadFactoryBuilder()
-                .setNameFormat("sdnip-bgp-updates-%d").build());
+                .setNameFormat("rib-updates-%d").build());
     }
 
     @Deactivate
diff --git a/apps/routing/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java b/apps/routing/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java
index 3f5a6b8..2ed69b4 100644
--- a/apps/routing/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java
+++ b/apps/routing/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java
@@ -136,7 +136,7 @@
         }
 
         /**
-         * Starts up the BGP peer and connects it to the tested SDN-IP
+         * Starts up the BGP peer and connects it to the tested BgpSessionManager
          * instance.
          *
          * @param connectToSocket the socket to connect to
