Magellan Linux

Contents of /trunk/openslp/multicast_route_set.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1444 - (show annotations) (download) (as text)
Wed Jul 27 16:33:44 2011 UTC (12 years, 9 months ago) by niro
File MIME type: application/x-sh
File size: 1276 byte(s)
-systemd service and helper files
1 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