Non-Blocking Ethernet Library

This will keep trying to get an ip forever until it gets one. Is that what you want?

 // start the Ethernet connection:
  Serial.println("Starting ethernet");

  while (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    delay(5000);
    Serial.println("trying DHCP again");
  }