diff options
Diffstat (limited to 'debian/network-manager-dispatcher.script')
| -rw-r--r-- | debian/network-manager-dispatcher.script | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/network-manager-dispatcher.script b/debian/network-manager-dispatcher.script new file mode 100644 index 00000000..abc6e4d5 --- /dev/null +++ b/debian/network-manager-dispatcher.script @@ -0,0 +1,44 @@ +#!/bin/sh -e +# Script to dispatch NetworkManager events +# +# Runs ifupdown scripts when NetworkManager fiddles with interfaces. + +if [ -z "$1" ]; then + echo "$0: called with no interface" 1>&2 + exit 1; +fi + +# Fake ifupdown environment +export IFACE="$1" +export LOGICAL="$1" +export ADDRFAM="NetworkManager" +export METHOD="NetworkManager" +export VERBOSITY="0" + +# Run the right scripts +case "$2" in + up) + export MODE="start" + export PHASE="up" + exec run-parts /etc/network/if-up.d + ;; + down) + export MODE="stop" + export PHASE="down" + exec run-parts /etc/network/if-down.d + ;; + pre-up) + export MODE="start" + export PHASE="pre-up" + exec run-parts /etc/network/if-pre-up.d + ;; + post-down) + export MODE="stop" + export PHASE="post-down" + exec run-parts /etc/network/if-post-down.d + ;; + *) + echo "$0: called with unknown action \`$2'" 1>&2 + exit 1 + ;; +esac |