Date: Mon, 15 Aug 2016 16:54:29 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 211872] IPv6 UDP traffic sometimes sent using wrong mac address Message-ID: <bug-211872-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211872 Bug ID: 211872 Summary: IPv6 UDP traffic sometimes sent using wrong mac address Product: Base System Version: 11.0-RC1 Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: mandrews@bit0.com CC: freebsd-amd64@FreeBSD.org CC: freebsd-amd64@FreeBSD.org Outbound IPv6 UDP traffic sometimes appears to put packets on the wire with= the destination MAC address of a completely different system. "ndp -a" shows correct MAC addresses. Example: Two nameservers, trying to query each other, on IPv6 private addresses (fc00::/10) fdfa::fafa:d53a, mac 00:25:90:57:21:b3 fdfa::fafa:d53b, mac 00:25:90:38:6f:fa These are lagg0 interfaces aggregating two Intel em nics. On each machine, run: tcpdump -e -n net fdfa::/16 and port 53 On machine 2, run "host -t a www.fark.com fdfa::fafa:d53a" and it will time= out, with its own tcpdump showing: 12:46:22.835604 00:25:90:38:6f:fa > 00:25:90:57:21:b3, ethertype IPv6 (0x86= dd), length 92: fdfa::fafa:d53b.15484 > fdfa::fafa:d53a.53: 47157+ A? www.fark.c= om. (30) 12:46:27.836716 00:25:90:38:6f:fa > 00:25:90:57:21:b3, ethertype IPv6 (0x86= dd), length 92: fdfa::fafa:d53b.39323 > fdfa::fafa:d53a.53: 47157+ A? www.fark.c= om. (30) and machine 1's tcpdump showing a wrong MAC address used in the replies: 12:46:22.835118 00:25:90:38:6f:fa > 00:25:90:57:21:b3, ethertype IPv6 (0x86= dd), length 92: fdfa::fafa:d53b.15484 > fdfa::fafa:d53a.53: 47157+ A? www.fark.c= om. (30) 12:46:22.835272 00:25:90:57:21:b3 > 00:25:90:23:be:bc, ethertype IPv6 (0x86= dd), length 232: fdfa::fafa:d53a.53 > fdfa::fafa:d53b.15484: 47157* 1/2/4 A 64.191.171.200 (170) 12:46:27.836186 00:25:90:38:6f:fa > 00:25:90:57:21:b3, ethertype IPv6 (0x86= dd), length 92: fdfa::fafa:d53b.39323 > fdfa::fafa:d53a.53: 47157+ A? www.fark.c= om. (30) 12:46:27.836340 00:25:90:57:21:b3 > 00:25:90:23:be:bc, ethertype IPv6 (0x86= dd), length 232: fdfa::fafa:d53a.53 > fdfa::fafa:d53b.39323: 47157* 1/2/4 A 64.191.171.200 (170) 00:50:90:23:be:bc is a totally different 3rd machine. That's.... weird. :) Add the -T flag to the "host" command to force TCP, and it works. Flip the queries around so that machine 1 queries machine 2, and it works. I'm seeing similar issues with other similar machines (and similar hardware, all Supermicro machines with Intel em nics of varying vintage) that have be= en updated to 11.0-RC1. All ware fine on 10.3-RELEASE. The only em-specific tweak I've got is "-tso", but turning tso back on doesn't change behavior a= ny. Another weird and possibly related issue: "ndp -c" fails on machine 1 -- it deletes one or two entries and then stops with "ndp: writing to routing soc= ket: Operation not permitted". On machine 2, "ndp -c" completes with no problem= s. I haven't yet tried dropping the lagg interface and using the em interfaces directly. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-211872-8>