Em Thu, Nov 15, 2007 at 03:49:35PM -0800, David Miller escreveu:
> From: Andrew Morton <[EMAIL PROTECTED]>
> Date: Thu, 15 Nov 2007 02:12:19 -0800
> 
> > > Most recent kernel where this bug did not occur: 2.6.10. Maybe 2.6.15? It 
> > > was
> > > in 2.6.18 along with bug 7421 which caused me to disable netatalk until 
> > > now.
> > > Distribution: Debian etch (4.0)
> > > Hardware Environment: Pentium 4 2.8GHz, HT off, Intel D865GLC motherboard,
> > > 256MB RAM, onboard Intel GigE, PCI Intel e100.
> > > Software Environment: Netatalk 2.0.3, ipset patch for iptables and kernel
> > > Problem Description: Appletalk packets appear to come from the wrong 
> > > interface,
> > > specifically the last one FD_SET. Using wireshark I see Appletalk rtmp 
> > > packets
> > > arrive from the upstream router on eth1 (the e100). Netatalk then reports 
> > > the
> > > packet as having arrived on eth0.3, which is the only other appletalk 
> > > enabled
> > > interface, and prints "rtmp_packet interface mismatch" because the packet
> > > appears to come from the wrong interface.
> > > 
> > > I'm fairly sure it's the kernel doing it, because wireshark is listening 
> > > on
> > > eth1 and shows the packet from the upstream router's MAC address and DDP
> > > address, then the debug code in atalkd immediately after the recvfrom 
> > > prints
> > > the ifr_name which is eth0.3. Also netatalk 2.0.3 was released over 2 
> > > years
> > > ago, so the only code that's changed is the kernel.
> > > 
> > > Enabling appletalk on eth0.2 clarifies the problem - packets are 
> > > delivered to
> > > fds belonging to the last interface FD_SET. Reordering the interfaces also
> > > shows this, as in the config file changing the order of the interfaces 
> > > changes
> > > the order they're looped through for FD_SET.
> > > 
> > > Steps to reproduce: Set up a multi-interface netatalk config and watch for
> > > rtmp_packet interface mismatch messages. I added a bunch of log 
> > > statements to
> > > debug this, the most useful places to put them are at the end of 
> > > setaddr() and
> > > after the select() in main().
> > > 
> > > The machine is a router, so I have to minimise the downtime of testing
> > > different kernel versions. I am happy to instrument atalkd or provide 
> > > packet
> > > captures.
> 
> I suspect there is some issue with the ordering of the atalk
> interface list which is causing this.
> 
> Arnaldo, can you please take a look at this?

I'll look at this in the afternoon.

- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to