shill: Enable and disable reverse-path filtering

When an http proxy request is active (as well as portal check, when
that gets written), we need to initiate connections over a non-default
network interface.  For this we temporarily disable reverse-path
filtering on the interface during the duration of the request.

BUG=chromium-os:24141
TEST=New unit tests for HTTPProxy and Connection

Change-Id: Ife2ad775fd8a3d2fb48f860e804eeb442dc5c58a
Reviewed-on: https://gerrit.chromium.org/gerrit/12889
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/mock_connection.h b/mock_connection.h
index 06f067f..2d8af12 100644
--- a/mock_connection.h
+++ b/mock_connection.h
@@ -19,6 +19,10 @@
 
   MOCK_METHOD1(UpdateFromIPConfig, void(const IPConfigRefPtr &config));
   MOCK_METHOD1(SetIsDefault, void(bool is_default));
+  MOCK_METHOD0(RequestRouting, void());
+  MOCK_METHOD0(ReleaseRouting, void());
+  MOCK_CONST_METHOD0(interface_name, const std::string &());
+  MOCK_CONST_METHOD0(dns_servers, const std::vector<std::string> &());
 
  private:
   DISALLOW_COPY_AND_ASSIGN(MockConnection);