Annotation of /trunk/openslp/multicast_route_set.sh
Parent Directory | Revision Log
Revision 1444 -
(hide annotations)
(download)
(as text)
Wed Jul 27 16:33:44 2011 UTC (13 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 1276 byte(s)
Wed Jul 27 16:33:44 2011 UTC (13 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 1276 byte(s)
-systemd service and helper files
1 | niro | 1444 | PING_OPTIONS_1='-c1 -w1' |
2 | PING_OPTIONS_2='-c1 -i1' | ||
3 | MULTICAST_ADDRESS='239.255.255.253' | ||
4 | TMP_FILE=/tmp/route.check | ||
5 | PING_ERROR_NO_ROUTE='unreachable' | ||
6 | |||
7 | MSG_FAILED_TO_FIND='Failed to Detect Multicast Route' | ||
8 | MSG_SUCCESS_ON_FIND='Multicast Route Enabled' | ||
9 | MSG_ADDING_ROUTE='Attempting to Add Multicast Route ...' | ||
10 | MSG_FAILED_TO_ADD=' FAILED - Route NOT Added.' | ||
11 | MSG_SUCCES_ON_ADD=' SUCCESS - Route Added.' | ||
12 | |||
13 | CMD_GET_INTERFACE="netstat -i | awk 'BEGIN{}(NR>2)&&(!/^lo*/){print \$1}'" | ||
14 | CMD_ADD_ROUTE="route add -net 224.0.0.0 netmask 240.0.0.0" | ||
15 | |||
16 | ping $PING_OPTIONS_1 $MULTICAST_ADDRESS 2> $TMP_FILE 1> /dev/null | ||
17 | if [ $? = 2 ]; then | ||
18 | ping $PING_OPTIONS_2 $MULTICAST_ADDRESS 2> $TMP_FILE 1> /dev/null | ||
19 | fi | ||
20 | |||
21 | grep $PING_ERROR_NO_ROUTE $TMP_FILE > /dev/null 2>&1 | ||
22 | err_unreachable_found=$? | ||
23 | |||
24 | #If errors, add route. Otherwise, do nothing | ||
25 | if [ -s $TMP_FILE ] && [ $err_unreachable_found = 0 ]; then | ||
26 | |||
27 | if [ $1 != 0 ]; then | ||
28 | rc_echo $MSG_FAILED_TO_FIND | ||
29 | rc_echo $MSG_ADDING_ROUTE | ||
30 | fi | ||
31 | |||
32 | $CMD_ADD_ROUTE `eval $CMD_GET_INTERFACE` > /dev/null 2>&1 | ||
33 | retval=$? | ||
34 | if [ $1 != 0 ]; then | ||
35 | |||
36 | if [ $retval = 0 ]; then | ||
37 | rc_echo $MSG_SUCCES_ON_ADD | ||
38 | else | ||
39 | rc_echo $MSG_FAILED_TO_ADD | ||
40 | fi | ||
41 | fi | ||
42 | else | ||
43 | if [ $1 != 0 ]; then | ||
44 | rc_echo -n $MSG_SUCCESS_ON_FIND | ||
45 | fi | ||
46 | retval=0 | ||
47 | fi | ||
48 | |||
49 | rm -f $TMP_FILE # Clean up | ||
50 | exit $retval |