Carry information about source ONOS node in each route.

Change-Id: I4877a048771935e3dbe310272e0b82c77b8678af
diff --git a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java
index b24ee5d..afb405d 100644
--- a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java
@@ -41,9 +41,10 @@
     private static final String NETWORK = "Network";
     private static final String NEXTHOP = "Next Hop";
     private static final String SOURCE = "Source";
+    private static final String NODE = "Node";
 
-    private static final String FORMAT_ROUTE = "%-1s   %-18s %-15s %-10s";
-    private static final String FORMAT_ROUTE6 = "%-1s   %-43s %-39s %-10s";
+    private static final String FORMAT_ROUTE = "%-1s   %-18s %-15s %s (%s)";
+    private static final String FORMAT_ROUTE6 = "%-1s   %-43s %-39s %s (%s)";
 
     private static final String FORMAT_TABLE = "Table: %s";
     private static final String FORMAT_TOTAL = "   Total: %d";
@@ -67,7 +68,7 @@
 
                 // Print header
                 print(FORMAT_TABLE, id);
-                print(format, "", NETWORK, NEXTHOP, SOURCE);
+                print(format, "", NETWORK, NEXTHOP, SOURCE, NODE);
 
                 // Print routing entries
                 tableRoutes.stream()
@@ -84,11 +85,9 @@
         routeInfo.allRoutes().stream()
                 .sorted(Comparator.comparing(r -> r.nextHop()))
                 .forEach(r -> print(format, isBestRoute(routeInfo.bestRoute(), r) ? ">" : "",
-                        r.prefix(), r.nextHop(), r.route().source()));
+                        r.prefix(), r.nextHop(), r.route().source(), r.route().sourceNode()));
     }
 
-
-
     private boolean isBestRoute(Optional<ResolvedRoute> bestRoute, ResolvedRoute route) {
         return Objects.equals(bestRoute.orElse(null), route);
     }