This file is indexed.

/etc/ha.d/resource.d/SendArp is in heartbeat 1:3.0.6-7.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/sh
#
#
#	2006, Huang Zhen <zhen.huang@gmail.com>
#	convert it to calling OCF counterpart.
#
#	Copyright (C) 2004 Horms <horms@verge.net.au>
#
#       Based on IPaddr2: Copyright (C) 2003 Tuomo Soini <tis@foobar.fi>
#
# 	License:      GNU General Public License (GPL)
# 	Support:      linux-ha@lists.linux-ha.org
#
#	This script send out gratuitous Arp for an IP address
#
#       It can be used _instead_ of the IPaddr2 or IPaddr resource
#       to send gratuitous arp for an IP address on a given interface, 
#       without adding the address to that interface. I.e. if for
#       some reason you want to send gratuitous arp for addresses
#       managed by IPaddr2 or IPaddr on an additional interface.
#
#	usage: $0 ip-address[/netmaskbits[/interface[:label][/broadcast]]] \
#	    {start|stop|status|monitor}
#
#	The "start" arg adds an IP alias.
#
#	Surprisingly, the "stop" arg removes one.	:-)
#
#

set -e

unset LANG; export LANG
LC_ALL=C
export LC_ALL

. /etc/ha.d/resource.d//hto-mapfuncs

# We need to split the argument into pieces that IPaddr OCF RA can
# recognize, sed is prefered over Bash specific builtin functions 
# for portability.

usage() {
  echo "usage: $0 ip-address/interface $LEGAL_ACTIONS"
}

if [ $# != 2 ]; then
    usage
    exit 1
fi
BASEIP=`echo $1 | sed "s%/.*%%"`
INTERFACE=`echo $1 | sed "s%${BASEIP}/%%"`

OCF_TYPE=SendArp
OCF_RESKEY_ip=$BASEIP
OCF_RESKEY_nic=$INTERFACE
OCF_RESOURCE_INSTANCE=${OCF_TYPE}_$BASEIP
export OCF_TYPE OCF_RESOURCE_INSTANCE OCF_RESKEY_ip OCF_RESKEY_nic

ra_execocf $2

# EOF - end of file