blob: 6d92e637ffd2318eb1fc08b8d8b65447e9ef5875 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001#!/bin/sh
2#
3# (C) 2008 by Pablo Neira Ayuso <pablo@netfilter.org>
4# (C) 2009 Roman I Khimov <khimov@altell.ru>
5#
6# This software may be used and distributed according to the terms
7# of the GNU General Public License, incorporated herein by reference.
8#
9# Description:
10#
11# This is the script for primary-backup setups for keepalived
12# (http://www.keepalived.org). You may adapt it to make it work with other
13# high-availability managers.
14#
15# Do not forget to include the required modifications to your keepalived.conf
16# file to invoke this script during keepalived's state transitions.
17#
18# Contributions to improve this script are welcome :).
19#
20## Modified to work as init.d script under pacemaker control
21
22CONNTRACKD_BIN=/usr/sbin/conntrackd
23CONNTRACKD_LOCK=/var/lock/conntrack.lock
24CONNTRACKD_CONFIG=/etc/conntrackd/conntrackd.conf
25
26case "$1" in
27 start)
28 #
29 # commit the external cache into the kernel table
30 #
31 $CONNTRACKD_BIN -C $CONNTRACKD_CONFIG -c
32 if [ $? -eq 1 ]
33 then
34 logger "ERROR: failed to invoke conntrackd -c"
35 fi
36
37 #
38 # flush the internal and the external caches
39 #
40 $CONNTRACKD_BIN -C $CONNTRACKD_CONFIG -f
41 if [ $? -eq 1 ]
42 then
43 logger "ERROR: failed to invoke conntrackd -f"
44 fi
45
46 #
47 # resynchronize my internal cache to the kernel table
48 #
49 $CONNTRACKD_BIN -C $CONNTRACKD_CONFIG -R
50 if [ $? -eq 1 ]
51 then
52 logger "ERROR: failed to invoke conntrackd -R"
53 fi
54
55 #
56 # send a bulk update to backups
57 #
58 $CONNTRACKD_BIN -C $CONNTRACKD_CONFIG -B
59 if [ $? -eq 1 ]
60 then
61 logger "ERROR: failed to invoke conntrackd -B"
62 fi
63 ;;
64 stop)
65 $CONNTRACKD_BIN -t
66 $CONNTRACKD_BIN -n
67 ;;
68 status)
69 ;;
70 *)
71 logger "ERROR: unknown command"
72 echo "Usage: conntrack-failover {start|stop|status}"
73 exit 1
74 ;;
75esac
76
77exit 0