#!/bin/sh #---------------------------------------------------------------------------- # /etc/rc.d/rc990.base # # Last Update: $Id$ #---------------------------------------------------------------------------- emit_ip_up_event() { log_info "Emitting ip-up event for dev=$emit_ip_event_dev local=$emit_ip_event_localv4 remote=$emit_ip_event_remotev4..." echo "$emit_ip_event_remotev4" > /var/run/$emit_ip_event_dev.gw sh /etc/ppp/ip-up $emit_ip_event_dev /dev/null 0 $emit_ip_event_localv4 $emit_ip_event_remotev4 log_info "...done" } #---------------------------------------------------------------------------- # added hooks for emitting ip-up and ip-down events if necessary #---------------------------------------------------------------------------- if [ "$ip_up_events" = "no" ] then regexp='^default\>.*\[[:space:]]*\([^[:space:]]\+\).*' emit_ip_event_dev=$(ip -4 route show | grep "$regexp" | sed -e "s/$regexp/\1/") if [ -n "$emit_ip_event_dev" ] then emit_ip_event_localv4=$(ip -4 addr show dev $emit_ip_event_dev | grep "\" | head -n 1 | sed -e 's/^[[:space:]]*inet[[:space:]]\+\([0-9.]\+\).*/\1/') regexp='^default\>.*\[[:space:]]*\([^[:space:]]\+\).*' emit_ip_event_remotev4=$(ip -4 route show | grep "$regexp" | sed -e "s/$regexp/\1/") if [ -n "$emit_ip_event_remotev4" -a -n "$emit_ip_event_localv4" ] then begin_script BASE "registering ip-up and ip-down event hooks" post_boot_hooks="$post_boot_hooks emit_ip_up_event" cat <<-EOF >/var/run/emit-ip-down-event colecho "Emitting ip-down event for dev=$emit_ip_event_dev local=$emit_ip_event_localv4 remote=$emit_ip_event_remotev4..." gn sh /etc/ppp/ip-down $emit_ip_event_dev /dev/null 0 $emit_ip_event_localv4 $emit_ip_event_remotev4 colecho "...done" gn EOF pre_shutdown_hooks="$pre_shutdown_hooks /var/run/emit-ip-down-event" end_script fi fi fi