Re: IPX broadcast forwarding in 2.4.1 kernels

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

 



Em Wed, Feb 28, 2001 at 06:44:20PM +0000, Petr Vandrovec escreveu:
> On 28 Feb 01 at 12:27, Arnaldo Carvalho de Melo wrote:
> 
> > 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?
> 
> But code in ac4 puts there (in ipxitf_send) number of sending interface,
> not receiving.

/me checks
 
> When NetBIOS propagation packet is first sent to network, it does not
> contain any travelled numbers. 
> When frame is received by router, it verifies that network number on 
> which received this packet is not in the list already - if all 
> implementations are correct, this is never true. Maybe we could even 
> print 'node .... does not follow IPX netbios routing rules correctly'. 
> Of course only few times...
> 
> Then network number on which packet was received is put into packet.
> 
> Then for all connected interfaces verify that their numbers are not already
> in packet - if it is, frame already visited that network. If it is not,
> send it here.
> 
> 
> Your code does two last steps in reverse order, and puts sending, not
> receiving frame number, into packet...

this is a confusion caused by the CB thing for shared skbs, I'll try to
clarify, but now lemme get back to reading the code
 
> > > 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:
> 
> sysctl. I'd like to have two options: disable routing at all, and disable
> pprop routing. 

I'll do it
  
> > #define IPX_TYPE_PPROP          0x14    /* complicated flood fill brdcast
> > [Not supported] */
> 
> It is supported, unfortunately using 'old' netbios packet propagation
> logic. There is also 'new' logic (but probably not available as 
> specification), which uses cache for last few netbios packets, and if
> same packet was already seen, it ignores it. 'old' logic has bad 
> (x^3, where x is number of such routers) behavior when more than one 
> netbios aware router exist between two networks (this is case when more 
> than one frame is bound on each box).
> 
> > 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)
> 
> Get VMware ;-) You won't notice couple of 8MB NW3.11 on dual PIII/800 with 
> 256MB of RAM...

:) yes, Í'm looking at Jeff Dike's UML 8)
-
: 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