shill: routing table: Apply routes from IPConfig

BUG=chromium-os:27876
TEST=New unit tests

Change-Id: Iad53d1847e0badd767c523cdc689861e1cdf243b
Reviewed-on: https://gerrit.chromium.org/gerrit/18269
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/connection.cc b/connection.cc
index a69a690..cab4bd2 100644
--- a/connection.cc
+++ b/connection.cc
@@ -10,7 +10,6 @@
 #include "shill/device_info.h"
 #include "shill/resolver.h"
 #include "shill/routing_table.h"
-#include "shill/routing_table_entry.h"
 #include "shill/rtnl_handler.h"
 
 using std::string;
@@ -67,6 +66,9 @@
   routing_table_->SetDefaultRoute(interface_index_, config,
                                   GetMetric(is_default_));
 
+  // Install any explicitly configured routes at the default metric.
+  routing_table_->ConfigureRoutes(interface_index_, config, kDefaultMetric);
+
   // Save a copy of the last non-null DNS config
   if (!config->properties().dns_servers.empty()) {
     dns_servers_ = config->properties().dns_servers;