diff options
Diffstat (limited to 'meta-networking/recipes-filter/conntrack-tools/files/conntrack-failover')
-rw-r--r-- | meta-networking/recipes-filter/conntrack-tools/files/conntrack-failover | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/meta-networking/recipes-filter/conntrack-tools/files/conntrack-failover b/meta-networking/recipes-filter/conntrack-tools/files/conntrack-failover new file mode 100644 index 000000000..6d92e637f --- /dev/null +++ b/meta-networking/recipes-filter/conntrack-tools/files/conntrack-failover | |||
@@ -0,0 +1,77 @@ | |||
1 | #!/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 | |||
22 | CONNTRACKD_BIN=/usr/sbin/conntrackd | ||
23 | CONNTRACKD_LOCK=/var/lock/conntrack.lock | ||
24 | CONNTRACKD_CONFIG=/etc/conntrackd/conntrackd.conf | ||
25 | |||
26 | case "$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 | ;; | ||
75 | esac | ||
76 | |||
77 | exit 0 | ||