Eventscript argument cleanups and introduction of ctdb_standard_event_handler.
[sahlberg/ctdb.git] / config / events.d / 11.routing
1 #!/bin/sh
2 # script to add entries to the routing table after we have performed a
3 # take ip event
4 # (when we do a "releaseip" event and remove an ip address from an interface
5 #  the kernel might automatically remove associated entries from
6 #  the routing table. This is where we add them back)
7 #
8 # Routes to add are defined in /etc/ctdb/static-routes.
9 # Syntax is :
10 # IFACE NET/MASK GATEWAY
11 #
12 # Example
13 # bond1 10.3.3.0/24 10.0.0.1
14
15 . $CTDB_BASE/functions
16 loadconfig
17
18 [ -f $CTDB_BASE/static-routes ] || {
19     exit 0
20 }
21
22 case "$1" in 
23     takeip|releaseip)
24         iface=$2
25         cat $CTDB_BASE/static-routes | egrep "^$iface " | while read IFACE DEST GW; do
26             ip route add $DEST via $GW dev $IFACE >/dev/null 2>/dev/null
27         done
28         ;;
29
30     *)
31         ctdb_standard_event_handler "$@"
32         ;;
33 esac
34
35 exit 0