Re: IPX broadcast forwarding in 2.4.1 kernels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Tue, Feb 27, 2001 at 09:54:48PM +0000, Petr Vandrovec escreveu:
> On 27 Feb 01 at 20:51, J.R. de Jong wrote:
> > > > Are you sure you are running this configuration? What says
> > > > cat /proc/net/ipx* ? Kernel should not forward anything if you have only
> > > > one frame configured... There are some IPX forwarding fixes in 2.4.2-acX,
> > > > btw.
> 
> Hi Arnaldo,
>   I have some questions... I have IPX router specification here on
> screen and on page 56 it says:
> ==
> The router places the address of the network segment on which packet arrived
> into the next available Network Number field. The offset of this
> field is easily calculated as 4*n bytes past the end of the IPX header,
> where n is the value of the Transport Control field.
> ==
> Code in ac4 stores outgoing interface number here, if I parsed code 
> correctly... This has another fatal side effect: it is propagated even 
> back to interface on which type 20 packet arrived, so now even machines 
> with one interface are network killers :-( (if you have one windows
> and twenty such linuxes, each netbios broadcast is seen 21 times on network;
> on other side it has nice effect that these linuxes ignore netbios broadcasts
> routed by other linuxes).

humm, just read the doc and the code, I have to disagree, lets see:

when we get into the '/* That aren't in the list */' we know that the
current network has not seen this packet, otherwise we would already have
the packet droped in '/* Dump packet if already seen this net */', oh, yes,
we delay putting the if_netnum in the packet, but when it hits ipxitf_send
we do it, before sending it to the wire, so when we get this packet again our
netnum is in the packet and get discarded by /* Dump packet if already seen
this net */, do you see any flaw in this explanation?
 
> Either store intrfc->if_netnum into packet before loop with '/* That aren't 
> in the list */', or do explicit check for ifcs != intrfc. But storing number 
> before looks better - code in ipxrtr_route_skb() does not know receiving 
> interface anyway, and you want same number in all copies.
> 
> I hope that I missed something obvious. If not, then peoples in larger
> networks should add some '&& 0' into pprop code to disable it.

Humm, maybe this should be a compile time option? From what I've seen this
code is even still listed as non supported in include/net/ipx.h, look:

#define IPX_TYPE_PPROP          0x14    /* complicated flood fill brdcast
[Not supported] */

comments?

Another useful thing would be for J.R. to do what you suggested and see if
it helps, J.R. can you do it?
 
>                                           Best regards,
>                                                Petr Vandrovec
>                                                vandrove@vc.cvut.cz
>                                                
> P.S.: IPX router specification & NLSP 1.1 specification are available at
> http://developer.novell.com/devres/langrp/specs.htm.

been reading it, I think I'll do some modifications to the PPROP code so
that it reflects the algorithm in the IPX Router specification more
clearly. And I'll set up a Netware 3.12 server in my home lab, I think and
old 386 with 10 MB and 80 MB of disk space is enough. Hey, my home lab is
getting bigger and bigger 8)

                        - Arnaldo
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux