Menu

#102 Multicast route add failure

v1.2.2
open
5
2017-04-07
2008-07-16
Anonymous
No

This may be a known problem but we found a bug in the slpd startup script from openslp-1.2.1-1. The problem is when adding the multicast routes, multiple interfaces may be returned by netstat –i. The startup script assumes a single interface. A patch is below:

--- /etc/init.d/slpd 2008-07-16 12:39:07.000000000 -0700
+++ slpd 2008-07-16 12:39:15.000000000 -0700
@@ -49,8 +49,8 @@
MSG_FAILED_TO_FIND='Failed to Detect Multicast Route'
MSG_SUCCESS_ON_FIND='Multicast Route Enabled'
MSG_ADDING_ROUTE='Attempting to Add Multicast Route ...'
- MSG_FAILED_TO_ADD=' FAILED - Route NOT Added.'
- MSG_SUCCES_ON_ADD=' SUCCESS - Route Added.'
+ MSG_FAILED_TO_ADD=' FAILED - Route NOT Added '
+ MSG_SUCCES_ON_ADD=' SUCCESS - Route Added '

CMD_GET_INTERFACE="netstat -i | awk 'BEGIN{}(NR>2)&&(!/^lo*/){print \$1}'"
CMD_ADD_ROUTE="route add -net 224.0.0.0 netmask 240.0.0.0"
@@ -72,17 +72,20 @@
echo $MSG_ADDING_ROUTE
fi

- $CMD_ADD_ROUTE `eval $CMD_GET_INTERFACE` > /dev/null 2>&1
- retval=$?
-
- if [ $1 != 0 ]; then
-
- if [ $retval = 0 ]; then
- echo $MSG_SUCCES_ON_ADD
- else
- echo $MSG_FAILED_TO_ADD
- fi
- fi
+ for r in `eval $CMD_GET_INTERFACE`
+ do
+ $CMD_ADD_ROUTE $r > /dev/null 2>&1
+ retval=$?
+
+ if [ $1 != 0 ]; then
+
+ if [ $retval = 0 ]; then
+ echo $MSG_SUCCES_ON_ADD $r
+ else
+ echo $MSG_FAILED_TO_ADD $r
+ fi
+ fi
+ done

else
if [ $1 != 0 ]; then

Discussion

  • John Calcote

    John Calcote - 2017-04-07

    Fixed in 2.0 code base.

     
  • John Calcote

    John Calcote - 2017-04-07
    • assigned_to: John Calcote
    • Group: --> v1.2.2
     

Log in to post a comment.