(switching to email for netdev - please repond via emailed reply-to-all, not via the bugzilla UI)
On Thu, 15 Nov 2007 01:56:07 -0800 (PST) [EMAIL PROTECTED] wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9384 > > Summary: Appletalk packets are delivered to the last interface > FD_SET > Product: Networking > Version: 2.5 > KernelVersion: 2.6.21.3 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Other > AssignedTo: [EMAIL PROTECTED] > ReportedBy: [EMAIL PROTECTED] > > > 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. > - 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