Mageia Bugzilla – Attachment 7259 Details for
Bug 17105
slaves interfaces cannot be managed by ifplugd
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
ifplugd on slaves
0001-if-up-down-eth-allow-ifplugd-on-slaves-and-fixes.patch (text/plain), 9.70 KB, created by
Yves DEMUR
on 2015-12-02 21:00:55 CET
(
hide
)
Description:
ifplugd on slaves
Filename:
MIME Type:
Creator:
Yves DEMUR
Created:
2015-12-02 21:00:55 CET
Size:
9.70 KB
patch
obsolete
>From 8cf7d985a6f0c777ca509347af31f0243a0da037 Mon Sep 17 00:00:00 2001 >From: Yves Demur <yves.demur@m4am.net> >Date: Wed, 2 Dec 2015 20:30:31 +0100 >Subject: [PATCH] if{up,down}-eth: allow ifplugd on slaves and fixes > >--- > sysconfig/network-scripts/ifdown-eth | 37 ++++++++++++-------- > sysconfig/network-scripts/ifup-eth | 65 ++++++++++++++++++++++++++++++------ > 2 files changed, 78 insertions(+), 24 deletions(-) > >diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth >index 3e613be..aaa11c9 100755 >--- a/sysconfig/network-scripts/ifdown-eth >+++ b/sysconfig/network-scripts/ifdown-eth >@@ -60,10 +60,12 @@ fi > fi > > if is_bonding_device ${DEVICE} ; then >- for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do >- is_ignored_file "$device" && continue >- /sbin/ifdown ${device##*/} >- done >+ if [ "$2" != "onlink" ] ; then >+ for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do >+ is_ignored_file "$device" && continue >+ /sbin/ifdown ${device##*/} $2 >+ done >+ fi > for arg in $BONDING_OPTS ; do > key=${arg%%=*}; > [[ "${key}" != "arp_ip_target" ]] && continue >@@ -116,22 +118,22 @@ retcode=0 > > # Kill running dhcp client if present (supports more clients than the above) > dhcp_client_pids() { >- CLIENTS='dhcpcd|pump|dhcpxd|dhclient|zcip' >- [ -n "${daemon}" -o "$MII_NOT_SUPPORTED" = "yes" ] && CLIENTS="${CLIENTS}|wpa_supplicant" >- ps xw | egrep "${CLIENTS}" | grep ${DEVICE} | awk '{print $1;}' >+ local CLIENTS='dhcpcd|pump|dhcpxd|dhclient|zcip' >+ # select too the wpa_supplicant daemon launched at ifup but not the one launched by the wpa_supplicant.service >+ [ -n "${daemon}" -o "${MII_NOT_SUPPORTED}" = "yes" -a -n "${WIRELESS_WPA_DRIVER}" ] && CLIENTS="${CLIENTS}|wpa_supplicant" >+# use an accurate filter to avoid killing processes not wished >+ LC_ALL=C pgrep -d \ -f -x "((/[[:graph:]]+)*/)?(${CLIENTS}) ([[:graph:]]* )*${DEVICE}( .*)?" > } > >-if [ -n "${daemon}" -a "$MII_NOT_SUPPORTED" != "yes" ]; then >- # use ifplugd -k -W to wait for it to be killed >- /sbin/ifplugd -k -W -i ${DEVICE} >-fi >+# use ifplugd -k -W to wait for it to be killed >+[ -n "${daemon}" ] && /sbin/ifplugd -c -i ${DEVICE} &> /dev/null && /sbin/ifplugd -k -W -i ${DEVICE} > > pids=`dhcp_client_pids` > if [ -n "$pids" ]; then > kill $pids > retcode=$? > waited=0 >- while ! dhcp_client_pids > /dev/null && [ "$waited" -lt 50 ] ; do >+ while dhcp_client_pids > /dev/null && [ "${waited}" -lt 50 ] ; do > usleep 10000 > waited=$(($waited+1)) > done >@@ -149,7 +151,16 @@ if [ -d "/sys/class/net/${REALDEVICE}" ]; then > fi > > if [ "${SLAVE}" = "yes" -a -n "${MASTER}" ]; then >- echo "-${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null >+ grep -wq "${DEVICE}" /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null && { >+ MII_NOT_SUPPORTED="${MII_NOT_SUPPORTED:-yes}" # default for slaves, back compatibility >+ # record slaves before unslaving ${DEVICE} : ${DEVICE} or more >+ [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] && slv="$(</sys/class/net/${MASTER}/bonding/slaves)" || slv="-" >+ echo "-${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves || slv="-" >+ # if the down action comes from ifplugd and the number of slaves changes from 1 to 0, down the master >+ [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" -a "${slv}" = "${DEVICE}" ] && { >+ echo "Downing master ${MASTER} by its last downing slave : ${DEVICE}" >+ /sbin/ifdown ${MASTER} onlink ; } >+ } > fi > > # Remove ip addresses from kernel >diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth >index 573003b..a123f21 100755 >--- a/sysconfig/network-scripts/ifup-eth >+++ b/sysconfig/network-scripts/ifup-eth >@@ -118,6 +118,7 @@ if is_wireless_device ${DEVICE}; then > if wpa_cli -i${DEVICE} status &>/dev/null; then > echo "Another wpa_supplicant instance is already running for device $DEVICE" > else >+ echo "Starting: wpa_supplicant -B -i ${DEVICE} -c /etc/wpa_supplicant.conf -D ${WIRELESS_WPA_DRIVER}" > /usr/sbin/wpa_supplicant -B -i ${DEVICE} \ > -c /etc/wpa_supplicant.conf \ > -D ${WIRELESS_WPA_DRIVER} >@@ -180,11 +181,31 @@ if [ -n "${TEAM_MASTER}" ] && [ ! "${DEVICETYPE}" = "TeamPort" ] && [ -x ./ifup- > fi > > # slave device? >-if [ "${SLAVE}" = yes -a "${ISALIAS}" = no -a "${MASTER}" != "" ]; then >+if [ "${SLAVE}" = "yes" -a "${ISALIAS}" = "no" -a -n "${MASTER}" ] ; then >+ MII_NOT_SUPPORTED="${MII_NOT_SUPPORTED:-yes}" # default for slaves, back compatibility >+ # exec ifplugd daemon at boot if supported >+ if [ -n "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] ; then >+ # For slaves not managed by miimon of bonding (always seen up by bonding), we need to down the interface now to put it in the down status needful if there is no link, otherwise the interface may be used by the aggregator whereas its link is down, and provide a blocking due to no traffic >+ # Restart ifplugd daemon is also required to run up action if link is up >+ /sbin/ifplugd -c -i ${DEVICE} &> /dev/null && /sbin/ifplugd -k -W -i ${DEVICE} >+ echo "Init-downing slave ${DEVICE} before ifplugd start" >+ /sbin/ifdown ${DEVICE} init-down >+ # -u 1 prevents a ifup starting while a ifdown is processed, and lets time to process of other slaves and master >+ IFPLUGD_ARGS="${IFPLUGD_ARGS:--I -b -u 1 -q}" >+ echo "Starting: ifplugd ${IFPLUGD_ARGS} -i ${DEVICE} # slave of ${MASTER}" >+ exec /sbin/ifplugd ${IFPLUGD_ARGS} -i ${DEVICE} >+ fi >+ > install_bonding_driver ${MASTER} > grep -wq "${DEVICE}" /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null || { > /sbin/ip link set dev ${DEVICE} down >- echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null >+ # record slaves before enslaving ${DEVICE} : none or any >+ [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] && slv="$(</sys/class/net/${MASTER}/bonding/slaves)" || slv="-" >+ echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves || slv="-" >+ # if the up action comes from ifplugd and the number of slaves changes from 0 to 1, up the master >+ [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" -a -z "${slv}" ] && { >+ echo "Upping master ${MASTER} by its first upping slave : ${DEVICE}" >+ /sbin/ifup ${MASTER} onlink ; } > } > ethtool_set > >@@ -196,12 +217,19 @@ fi > if [ "$ISALIAS" = no ] && is_bonding_device ${DEVICE} ; then > install_bonding_driver ${DEVICE} > /sbin/ip link set dev ${DEVICE} up >- for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do >- is_ignored_file "$device" && continue >- /sbin/ifup ${device##*/} >- done >- >- [ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY} >+ if [ "$2" != "onlink" ] ; then >+ for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do >+ is_ignored_file "$device" && continue >+ /sbin/ifup ${device##*/} $2 >+ done >+ # stop if no slave >+ slv="$(</sys/class/net/${DEVICE}/bonding/slaves)" && [ -z "${slv}" ] && { >+ echo "Master ${DEVICE} has no slave : reporting up processing" >+ exit 0 ; } >+ >+ # default wait 1s >+ /bin/sleep ${LINKDELAY:-1} >+ fi > > # add the bits to setup the needed post enslavement parameters > for arg in $BONDING_OPTS ; do >@@ -234,10 +262,22 @@ if [ -n "${BRIDGE}" ] && [ -x /usr/sbin/brctl ]; then > [ -r /var/run/radvd/radvd.pid ] && kill -HUP $(cat /var/run/radvd/radvd.pid) > exit 0 > fi >- >+ >+# Using ifplugd on a bonding device is a nonsense, but we can use ifplugd on all its slaves >+# The upping of the master will be launched when ifplugd changes the number of slaves from 0 to 1 >+# The downing of the master will be launched when ifplugd changes the number of slaves from 1 to 0 >+# If a slave don't use ifplugd, it must be onlink during the dhcp-client work, otherwise dhcp-client processing will fail and will not be re-started by onlink of other slaves (like when a classic interface doesn't use ifplugd) >+# In active-backup mode, all interfaces may have the same ip address defined in the permanent leases of the dhcp server ; this allows the master getting allways the same address, usefull on servers >+ >+# It is possible to use ifplugd on a slave because it is not supported by bonding-mii and is supported by ifplugd-mii >+ > # exec ifplugd daemon at boot if supported >-if [ -n "${daemon}" -a "$MII_NOT_SUPPORTED" != "yes" ]; then >- IFPLUGD_ARGS="${IFPLUGD_ARGS=-I -b}" >+if [ -n "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] && ! is_bonding_device ${DEVICE} ; then >+ # restart daemon to run up action if link is up >+ /sbin/ifplugd -c -i ${DEVICE} &> /dev/null && /sbin/ifplugd -k -W -i ${DEVICE} >+ # -u 1 prevents a ifup starting while a ifdown is processed >+ IFPLUGD_ARGS="${IFPLUGD_ARGS:--I -b -u 1 -q}" >+ echo "Starting: ifplugd ${IFPLUGD_ARGS} -i ${DEVICE}" > exec /sbin/ifplugd $IFPLUGD_ARGS -i $DEVICE > fi > >@@ -357,6 +397,9 @@ if [ -n "${DYNCONFIG}" ]; then > > ethtool_set > >+ # kill maybe remaining clients >+ LC_ALL=C pkill -f -x "((/[[:graph:]]+)*/)?(dhcpcd|pump|dhcpxd|dhclient|zcip) ([[:graph:]]* )*${DEVICE}( .*)?" >+ > mdv-network-event dhcp_request ${DEVICE} > if $DHCP_CLIENT $DHCP_ARGS ; then > mdv-network-event dhcp_success ${DEVICE} >-- >2.3.10 >
From 8cf7d985a6f0c777ca509347af31f0243a0da037 Mon Sep 17 00:00:00 2001 From: Yves Demur <yves.demur@m4am.net> Date: Wed, 2 Dec 2015 20:30:31 +0100 Subject: [PATCH] if{up,down}-eth: allow ifplugd on slaves and fixes --- sysconfig/network-scripts/ifdown-eth | 37 ++++++++++++-------- sysconfig/network-scripts/ifup-eth | 65 ++++++++++++++++++++++++++++++------ 2 files changed, 78 insertions(+), 24 deletions(-) diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth index 3e613be..aaa11c9 100755 --- a/sysconfig/network-scripts/ifdown-eth +++ b/sysconfig/network-scripts/ifdown-eth @@ -60,10 +60,12 @@ fi fi if is_bonding_device ${DEVICE} ; then - for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do - is_ignored_file "$device" && continue - /sbin/ifdown ${device##*/} - done + if [ "$2" != "onlink" ] ; then + for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do + is_ignored_file "$device" && continue + /sbin/ifdown ${device##*/} $2 + done + fi for arg in $BONDING_OPTS ; do key=${arg%%=*}; [[ "${key}" != "arp_ip_target" ]] && continue @@ -116,22 +118,22 @@ retcode=0 # Kill running dhcp client if present (supports more clients than the above) dhcp_client_pids() { - CLIENTS='dhcpcd|pump|dhcpxd|dhclient|zcip' - [ -n "${daemon}" -o "$MII_NOT_SUPPORTED" = "yes" ] && CLIENTS="${CLIENTS}|wpa_supplicant" - ps xw | egrep "${CLIENTS}" | grep ${DEVICE} | awk '{print $1;}' + local CLIENTS='dhcpcd|pump|dhcpxd|dhclient|zcip' + # select too the wpa_supplicant daemon launched at ifup but not the one launched by the wpa_supplicant.service + [ -n "${daemon}" -o "${MII_NOT_SUPPORTED}" = "yes" -a -n "${WIRELESS_WPA_DRIVER}" ] && CLIENTS="${CLIENTS}|wpa_supplicant" +# use an accurate filter to avoid killing processes not wished + LC_ALL=C pgrep -d \ -f -x "((/[[:graph:]]+)*/)?(${CLIENTS}) ([[:graph:]]* )*${DEVICE}( .*)?" } -if [ -n "${daemon}" -a "$MII_NOT_SUPPORTED" != "yes" ]; then - # use ifplugd -k -W to wait for it to be killed - /sbin/ifplugd -k -W -i ${DEVICE} -fi +# use ifplugd -k -W to wait for it to be killed +[ -n "${daemon}" ] && /sbin/ifplugd -c -i ${DEVICE} &> /dev/null && /sbin/ifplugd -k -W -i ${DEVICE} pids=`dhcp_client_pids` if [ -n "$pids" ]; then kill $pids retcode=$? waited=0 - while ! dhcp_client_pids > /dev/null && [ "$waited" -lt 50 ] ; do + while dhcp_client_pids > /dev/null && [ "${waited}" -lt 50 ] ; do usleep 10000 waited=$(($waited+1)) done @@ -149,7 +151,16 @@ if [ -d "/sys/class/net/${REALDEVICE}" ]; then fi if [ "${SLAVE}" = "yes" -a -n "${MASTER}" ]; then - echo "-${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null + grep -wq "${DEVICE}" /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null && { + MII_NOT_SUPPORTED="${MII_NOT_SUPPORTED:-yes}" # default for slaves, back compatibility + # record slaves before unslaving ${DEVICE} : ${DEVICE} or more + [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] && slv="$(</sys/class/net/${MASTER}/bonding/slaves)" || slv="-" + echo "-${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves || slv="-" + # if the down action comes from ifplugd and the number of slaves changes from 1 to 0, down the master + [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" -a "${slv}" = "${DEVICE}" ] && { + echo "Downing master ${MASTER} by its last downing slave : ${DEVICE}" + /sbin/ifdown ${MASTER} onlink ; } + } fi # Remove ip addresses from kernel diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth index 573003b..a123f21 100755 --- a/sysconfig/network-scripts/ifup-eth +++ b/sysconfig/network-scripts/ifup-eth @@ -118,6 +118,7 @@ if is_wireless_device ${DEVICE}; then if wpa_cli -i${DEVICE} status &>/dev/null; then echo "Another wpa_supplicant instance is already running for device $DEVICE" else + echo "Starting: wpa_supplicant -B -i ${DEVICE} -c /etc/wpa_supplicant.conf -D ${WIRELESS_WPA_DRIVER}" /usr/sbin/wpa_supplicant -B -i ${DEVICE} \ -c /etc/wpa_supplicant.conf \ -D ${WIRELESS_WPA_DRIVER} @@ -180,11 +181,31 @@ if [ -n "${TEAM_MASTER}" ] && [ ! "${DEVICETYPE}" = "TeamPort" ] && [ -x ./ifup- fi # slave device? -if [ "${SLAVE}" = yes -a "${ISALIAS}" = no -a "${MASTER}" != "" ]; then +if [ "${SLAVE}" = "yes" -a "${ISALIAS}" = "no" -a -n "${MASTER}" ] ; then + MII_NOT_SUPPORTED="${MII_NOT_SUPPORTED:-yes}" # default for slaves, back compatibility + # exec ifplugd daemon at boot if supported + if [ -n "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] ; then + # For slaves not managed by miimon of bonding (always seen up by bonding), we need to down the interface now to put it in the down status needful if there is no link, otherwise the interface may be used by the aggregator whereas its link is down, and provide a blocking due to no traffic + # Restart ifplugd daemon is also required to run up action if link is up + /sbin/ifplugd -c -i ${DEVICE} &> /dev/null && /sbin/ifplugd -k -W -i ${DEVICE} + echo "Init-downing slave ${DEVICE} before ifplugd start" + /sbin/ifdown ${DEVICE} init-down + # -u 1 prevents a ifup starting while a ifdown is processed, and lets time to process of other slaves and master + IFPLUGD_ARGS="${IFPLUGD_ARGS:--I -b -u 1 -q}" + echo "Starting: ifplugd ${IFPLUGD_ARGS} -i ${DEVICE} # slave of ${MASTER}" + exec /sbin/ifplugd ${IFPLUGD_ARGS} -i ${DEVICE} + fi + install_bonding_driver ${MASTER} grep -wq "${DEVICE}" /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null || { /sbin/ip link set dev ${DEVICE} down - echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves 2>/dev/null + # record slaves before enslaving ${DEVICE} : none or any + [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] && slv="$(</sys/class/net/${MASTER}/bonding/slaves)" || slv="-" + echo "+${DEVICE}" > /sys/class/net/${MASTER}/bonding/slaves || slv="-" + # if the up action comes from ifplugd and the number of slaves changes from 0 to 1, up the master + [ -z "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" -a -z "${slv}" ] && { + echo "Upping master ${MASTER} by its first upping slave : ${DEVICE}" + /sbin/ifup ${MASTER} onlink ; } } ethtool_set @@ -196,12 +217,19 @@ fi if [ "$ISALIAS" = no ] && is_bonding_device ${DEVICE} ; then install_bonding_driver ${DEVICE} /sbin/ip link set dev ${DEVICE} up - for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do - is_ignored_file "$device" && continue - /sbin/ifup ${device##*/} - done - - [ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY} + if [ "$2" != "onlink" ] ; then + for device in $(LANG=C grep -l "^[[:space:]]*MASTER=\"\?${DEVICE}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do + is_ignored_file "$device" && continue + /sbin/ifup ${device##*/} $2 + done + # stop if no slave + slv="$(</sys/class/net/${DEVICE}/bonding/slaves)" && [ -z "${slv}" ] && { + echo "Master ${DEVICE} has no slave : reporting up processing" + exit 0 ; } + + # default wait 1s + /bin/sleep ${LINKDELAY:-1} + fi # add the bits to setup the needed post enslavement parameters for arg in $BONDING_OPTS ; do @@ -234,10 +262,22 @@ if [ -n "${BRIDGE}" ] && [ -x /usr/sbin/brctl ]; then [ -r /var/run/radvd/radvd.pid ] && kill -HUP $(cat /var/run/radvd/radvd.pid) exit 0 fi - + +# Using ifplugd on a bonding device is a nonsense, but we can use ifplugd on all its slaves +# The upping of the master will be launched when ifplugd changes the number of slaves from 0 to 1 +# The downing of the master will be launched when ifplugd changes the number of slaves from 1 to 0 +# If a slave don't use ifplugd, it must be onlink during the dhcp-client work, otherwise dhcp-client processing will fail and will not be re-started by onlink of other slaves (like when a classic interface doesn't use ifplugd) +# In active-backup mode, all interfaces may have the same ip address defined in the permanent leases of the dhcp server ; this allows the master getting allways the same address, usefull on servers + +# It is possible to use ifplugd on a slave because it is not supported by bonding-mii and is supported by ifplugd-mii + # exec ifplugd daemon at boot if supported -if [ -n "${daemon}" -a "$MII_NOT_SUPPORTED" != "yes" ]; then - IFPLUGD_ARGS="${IFPLUGD_ARGS=-I -b}" +if [ -n "${daemon}" -a "${MII_NOT_SUPPORTED}" != "yes" ] && ! is_bonding_device ${DEVICE} ; then + # restart daemon to run up action if link is up + /sbin/ifplugd -c -i ${DEVICE} &> /dev/null && /sbin/ifplugd -k -W -i ${DEVICE} + # -u 1 prevents a ifup starting while a ifdown is processed + IFPLUGD_ARGS="${IFPLUGD_ARGS:--I -b -u 1 -q}" + echo "Starting: ifplugd ${IFPLUGD_ARGS} -i ${DEVICE}" exec /sbin/ifplugd $IFPLUGD_ARGS -i $DEVICE fi @@ -357,6 +397,9 @@ if [ -n "${DYNCONFIG}" ]; then ethtool_set + # kill maybe remaining clients + LC_ALL=C pkill -f -x "((/[[:graph:]]+)*/)?(dhcpcd|pump|dhcpxd|dhclient|zcip) ([[:graph:]]* )*${DEVICE}( .*)?" + mdv-network-event dhcp_request ${DEVICE} if $DHCP_CLIENT $DHCP_ARGS ; then mdv-network-event dhcp_success ${DEVICE} -- 2.3.10
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 17105
:
7188
|
7190
| 7259