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
Fixed in 2.0 code base.