mars_nwe-0.96.pl07
This commit is contained in:
27
examples/README.patch
Normal file
27
examples/README.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
this kernelpatch for kernels 1.3.56,57,58, ?? makes 3 things.
|
||||
|
||||
- removes the ipx-send bug. BIG THANKS to Volker Lendecke.
|
||||
the problem was that sometimes the sendto function hung.
|
||||
|
||||
- ipx rip/sap packets comming from internal net must change
|
||||
there source address from internal net/node to the
|
||||
device net/node.
|
||||
The problem was:
|
||||
By configuring mars_nwe at the internal network, the rip/sap
|
||||
socket gets the network and node address of the internal
|
||||
net. Then, by sending rip/sap packets over this socket to the
|
||||
several devices the rip/sap packets don't have the device net/node,
|
||||
but the internal net/node.
|
||||
|
||||
- an existing route should never be overwritten by an route
|
||||
over the internal net.
|
||||
The problem was:
|
||||
By running dosemu at the same workstation as mars_nwe the
|
||||
dosemu automaticly changes the route to a nearby server
|
||||
to route over the internal network and this destroyed
|
||||
the real route over a device to this server.
|
||||
|
||||
You must be supervisor and then you must start './patchme' .
|
||||
|
||||
|
||||
Martin Stover
|
||||
@@ -1,4 +1,4 @@
|
||||
/* config.h: 14-Jan-96 */
|
||||
/* config.h: 22-Jan-96 */
|
||||
/* some of this config is needed by make, others by cc */
|
||||
#define FILENAME_NW_INI "/etc/nwserv.conf" /* full name of ini (conf) file */
|
||||
#define PATHNAME_PROGS "/sbin" /* path location of progs */
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
#define MAX_NW_VOLS 10 /* max. Volumes */
|
||||
|
||||
#define MAX_NET_DEVICES 1 /* max. Netdevices, frames */
|
||||
#define IPX_DATA_GR_546 1 /* allow ipx packets > 546+30 Byte */
|
||||
#define MAX_NET_DEVICES 5 /* max. Netdevices, frames */
|
||||
#define IPX_DATA_GR_546 1 /* allow ipx packets > 546+30 Byte */
|
||||
|
||||
#define MAX_NW_ROUTES 50 /* max. networks (internal + external) */
|
||||
#define MAX_NW_SERVERS 40 /* max. count of servers */
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
--- ORG/af_ipx.c Sat Jan 6 13:54:59 1996
|
||||
+++ af_ipx.c Thu Jan 11 14:36:21 1996
|
||||
@@ -994,7 +994,9 @@
|
||||
--- af_ipx.c Sat Jan 6 13:54:59 1996
|
||||
+++ af_ipx.c Sun Jan 21 20:36:36 1996
|
||||
@@ -507,8 +507,10 @@
|
||||
/*
|
||||
* Don't charge sender
|
||||
*/
|
||||
- if(skb->sk)
|
||||
+ if(skb->sk) {
|
||||
skb->sk->wmem_alloc-=skb->truesize;
|
||||
+ skb->sk = NULL;
|
||||
+ }
|
||||
/*
|
||||
* Will charge receiver
|
||||
*/
|
||||
@@ -519,8 +521,10 @@
|
||||
*/
|
||||
if (memcmp(ipx_broadcast_node, node, IPX_NODE_LEN) == 0)
|
||||
{
|
||||
- if (!send_to_wire && skb->sk)
|
||||
+ if (!send_to_wire && skb->sk) {
|
||||
skb->sk->wmem_alloc-=skb->truesize;
|
||||
+ skb->sk = NULL;
|
||||
+ }
|
||||
ipxitf_demux_socket(intrfc, skb, send_to_wire);
|
||||
if (!send_to_wire)
|
||||
return 0;
|
||||
@@ -994,7 +998,9 @@
|
||||
return -EAGAIN;
|
||||
rt->ir_next=ipx_routes;
|
||||
ipx_routes=rt;
|
||||
@@ -11,7 +35,7 @@
|
||||
|
||||
rt->ir_net = network;
|
||||
rt->ir_intrfc = intrfc;
|
||||
@@ -1108,9 +1110,15 @@
|
||||
@@ -1108,9 +1114,15 @@
|
||||
ipx->ipx_tctrl=0;
|
||||
ipx->ipx_type=usipx->sipx_type;
|
||||
skb->h.raw = (unsigned char *)ipx;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# (C)opyright 1993, 1995, Martin Stover, Softwareentwicklung, Marburg
|
||||
# last change: 14-Jan-96
|
||||
# last change: 22-Jan-96
|
||||
# MAR.S NW-Server Emulator
|
||||
# Einfache Konfiguration, alles ab # ist Kommentar.
|
||||
# Jeder Eintrag beginnt mit einer Zahl und dann folgt der Inhalt.
|
||||
# simple configuration, all after # is ignored.
|
||||
# every entry begins with a number and then the meet follows.
|
||||
# entry 1 VOLUMES (max. 5) entry 1
|
||||
# Volumename Volumepath Options (k=lowercase)
|
||||
# Volumename Volumepath Options (k=lowercase,p=pipe)
|
||||
1 SYS /u3/SYS/ # SYS 1
|
||||
####################################
|
||||
# Die folgenden Volumes sind optional.
|
||||
@@ -14,6 +14,7 @@
|
||||
#1 SYS1 /u3/SYS1/ # SYS 2 upshift
|
||||
#1 TMP /tmp/ k # TMP downshift
|
||||
#1 CD /cdrom k # CDROM downshift
|
||||
#1 PIPES /u3/pipes kp # pipecommands
|
||||
# Falls lowercase nicht gesetzt ist, werden GROSSBUCHSTABEN erwartet.
|
||||
# If lowercase is not set then all filenames are upshift.
|
||||
# SYS, der Name darf auch anders lauten, muss
|
||||
@@ -28,19 +29,20 @@
|
||||
# will be taken.
|
||||
#2 MAR1 # Servername
|
||||
######################################
|
||||
# next entry for later use, not yet supported !!
|
||||
# the ipx kernel code must changed first, to do good routing !!
|
||||
# If you have mars_nwe V > 0.96pl4 and the small ipx-kpatch
|
||||
# you can use Internal Net and Routing.
|
||||
# next entry for configure mars_nwe to use the internal net
|
||||
# If you have mars_nwe V > 0.96pl5 and the small ipx-kpatch
|
||||
# from the examples dir you can use Internal Net and Routing.
|
||||
# INTERNAL NET [NODE]
|
||||
###3 0x999999 1 # Node default 1
|
||||
######################################
|
||||
# entry 4: # for DEVICE(S)
|
||||
# if your ipx is allready up, then entry 4 must be removed.
|
||||
# NETWORK NUMBER, DEVICE, Frame-Typ TICS (default 1)
|
||||
4 0x10 eth0 802.3 1
|
||||
4 0x10 eth0 802.3 1
|
||||
#4 0x22 eth0 ethernet_ii 1
|
||||
#4 0x33 eth0 802.2 1
|
||||
#4 0x55 isdn2 ethernet_ii 7
|
||||
# Frames=ethernet_ii, 802.2, 802.3, SNAP (default 802.3)
|
||||
# testet with 802.3
|
||||
5 0 # don't = 0, do = 1, save ipx-routes after server is down.
|
||||
######################################
|
||||
# some clients are running better, if the server tells
|
||||
|
||||
19
examples/patchme
Executable file
19
examples/patchme
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
ACT_DIR=`pwd`
|
||||
PATCHFILE=kpatch1.3.56
|
||||
LINUXDIR=/usr/src/linux
|
||||
IPXDIR=$LINUXDIR/net/ipx
|
||||
IPXFILE=af_ipx.c
|
||||
|
||||
if [ -r $IPXDIR/$IPXFILE ] ; then
|
||||
if [ -r $IPXDIR/P1 ] ; then
|
||||
echo "patch was allready made: $IPXDIR/P1 exist"
|
||||
else
|
||||
cd $IPXDIR && cp -a $IPXFILE $IPXFILE.org && \
|
||||
patch < $ACT_DIR/$PATCHFILE && echo "$PATCHFILE" > $IPXDIR/P1
|
||||
echo "please rebuild the kernel"
|
||||
fi
|
||||
else
|
||||
echo "linuxdir $LINUXDIR perhaps wrong ?"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user