1 |
diff -p -up dhcp-4.1.1/client/scripts/linux.prevent_wireless dhcp-4.1.1/client/scripts/linux |
2 |
--- dhcp-4.1.1/client/scripts/linux.prevent_wireless 2010-02-25 11:37:31.000000000 -0300 |
3 |
+++ dhcp-4.1.1/client/scripts/linux 2010-02-25 11:37:37.000000000 -0300 |
4 |
@@ -13,6 +13,8 @@ |
5 |
|
6 |
# 1. ifconfig down apparently deletes all relevant routes and flushes |
7 |
# the arp cache, so this doesn't need to be done explicitly. |
8 |
+# 1.1. ifconfig $interface inet 0 is enough, and prevents unneeded |
9 |
+# deassociation on wireless interfaces |
10 |
|
11 |
# 2. The alias address handling here has not been tested AT ALL. |
12 |
# I'm just going by the doc of modern Linux ip aliasing, which uses |
13 |
@@ -170,7 +172,7 @@ if [ x$reason = xBOUND ] || [ x$reason = |
14 |
if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then |
15 |
# IP address changed. Bringing down the interface will delete all routes, |
16 |
# and clear the ARP cache. |
17 |
- ifconfig $interface inet 0 down |
18 |
+ ifconfig $interface inet 0 |
19 |
|
20 |
fi |
21 |
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \ |
22 |
@@ -224,7 +226,7 @@ if [ x$reason = xEXPIRE ] || [ x$reason |
23 |
fi |
24 |
if [ x$old_ip_address != x ]; then |
25 |
# Shut down interface, which will delete routes and clear arp cache. |
26 |
- ifconfig $interface inet 0 down |
27 |
+ ifconfig $interface inet 0 |
28 |
fi |
29 |
if [ x$alias_ip_address != x ]; then |
30 |
ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg |
31 |
@@ -259,7 +261,7 @@ if [ x$reason = xTIMEOUT ]; then |
32 |
fi |
33 |
exit_with_hooks 0 |
34 |
fi |
35 |
- ifconfig $interface inet 0 down |
36 |
+ ifconfig $interface inet 0 |
37 |
exit_with_hooks 1 |
38 |
fi |
39 |
|