shill: Acquire IP once the cellular interface is up.

BUG=chromium-os:19175
TEST=unit tests, tested on device

Change-Id: Id319b155047e8e7d6886a28f4d682185104f317f
Reviewed-on: http://gerrit.chromium.org/gerrit/6029
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Jason Glasgow <jglasgow@chromium.org>
diff --git a/cellular.cc b/cellular.cc
index 666b9f5..5473d01 100644
--- a/cellular.cc
+++ b/cellular.cc
@@ -461,11 +461,11 @@
     SetState(kStateLinked);
     manager_->RegisterService(service_);
     // TODO(petkov): For GSM, remember the APN.
-    // TODO(petkov): Acquire IP.
+    LOG_IF(ERROR, !AcquireDHCPConfig()) << "Unable to acquire DHCP config.";
   } else if ((flags & IFF_UP) == 0 && state_ == kStateLinked) {
     SetState(kStateConnected);
     manager_->DeregisterService(service_);
-    // TODO(petkov): Release IP.
+    DestroyIPConfig();
   }
 }