On Sat, 28 Nov 1998, DS wrote:
> Hi Michael, I know you have NetWare on the same Linux net and was wondering if you
> use Linuxconf for the IPX set-up? I don't find it working properly and always just
> set my IPX manualy. I see "must be 802.2 802.3 etc" type messages fly by and then
> it doesn't properly set the primary net. Sometimes you only need IPX on the NIC
> (and be primary) and other boxes you need an internal primary net for proper
> routing with dialin modems.
I am including as an attachement a fix for that. The script
/etc/sysconfig/network-scripts/ifup-ipx has a bug.
Note that there is still a glitch. If you boot with an IPX configuration
and this script is installed, then all is fine. Now if you change the IPX
configuration, the new configuration won't be reloaded. There is another
bug in /etc/rc.d/init.d/network (or a sub-script) somewhere. I have not
tracked this one yet.
---------------------------------------------------------
Jacques Gelinas <[EMAIL PROTECTED]>
Check out Linuxconf at http://www.solucorp.qc.ca/linuxconf
New modules: mgettyconf, managerpm
#!/bin/bash
# configures IPX on $1 if appropriate
PATH=/sbin:/usr/sbin:/bin:/usr/bin
if [ "$1" = "" ]; then
echo "usage: $0 <net-device>"
exit 1
fi
if [ ! -x /usr/bin/ipx_interface ] ; then
# cannot configure IPX with non-existant utilities
exit 0
fi
. /etc/sysconfig/network
case $IPX in yes|true) ;; *) exit 0 ;; esac
cd /etc/sysconfig/network-scripts
. network-functions
CONFIG=$1
[ -f "$CONFIG" ] || CONFIG=ifcfg-$CONFIG
source_config
for frametype in 802_2 802_3 ETHERII SNAP ; do
# Yes, this kind of evaluation is really necessary to do this.
# Welcome to shell programming... No, we were not smoking some
# particularly good floppies while we wrote this. :-)
case $(eval echo $(echo \$`echo IPXACTIVE_$frametype`)) in
yes|true)
case $(eval echo $(echo \$`echo IPXPRIMARY_$frametype`)) in
yes|true) primary=-p ;;
*) primary= ;;
esac
FRAME=`echo $frametype | sed s/_/./`
/usr/bin/ipx_interface add $1 $primary $FRAME \
$(eval echo $(echo \$`echo IPXNETNUM_$frametype`))
;;
esac
done
exit 0