--- ethernet.pm.old	2009-04-07 15:05:53.000000000 +0200
+++ ethernet.pm	2009-04-07 15:16:17.000000000 +0200
@@ -109,6 +109,7 @@
     $self->{address}{dhcp_client} ||= find { -x "$::prefix/sbin/$_" } @dhcp_clients;
     $self->{address}{peerdns} = 1 if !defined $self->{address}{peerdns};
     $self->{address}{peeryp} = 1 if !defined $self->{address}{peeryp};
+    $self->{address}{min_link_detection} = $self->get_link_detection_delay;
     $self->supplement_address_settings;
 }
 
@@ -151,6 +152,7 @@
         if_($self->{protocol} eq 'dhcp',
             { label => N("DHCP client"), val => \$self->{address}{dhcp_client}, list => \@dhcp_clients, advanced => 1 },
             { label => N("DHCP timeout (in seconds)"), val => \$self->{address}{dhcp_timeout}, advanced => 1 },
+            { label => N("Minimum time to wait before trusting 'Link DOWN' (in seconds)"), val => \$self->{address}{min_link_detection}, advanced => 1 },
             { text => N("Get YP servers from DHCP"), val => \$self->{address}{peeryp}, type => "bool", advanced => 1 },
             { text => N("Get NTPD servers from DHCP"), val => \$self->{address}{peerntpd}, type => "bool", advanced => 1 },
             { label => N("DHCP host name"), val => \$self->{address}{dhcp_hostname}, advanced => 1 },
@@ -264,7 +266,7 @@
         DNS1 => $self->{address}{dns1},
         DNS2 => $self->{address}{dns2},
         DOMAIN => $self->{address}{domain},
-        LINK_DETECTION_DELAY => $self->get_link_detection_delay,
+        LINK_DETECTION_DELAY => $self->{address}{min_link_detection}
     });
     $self->network::connection::build_ifcfg_settings($settings);
 }
@@ -527,7 +529,7 @@
 
 sub get_link_detection_delay {
     my ($self) = @_;
-    member($self->get_driver, qw(b44 forcedeth r8169 skge sky2 tg3 via_velocity)) && 6;
+    member($self->get_driver, qw(e1000e b44 forcedeth r8169 skge sky2 tg3 via_velocity)) && 6;
 }
 
 sub is_ifplugd_blacklisted {
