Magellan Linux

Annotation of /trunk/openslp/multicast_route_set.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1444 - (hide 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 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