Date: Tue, 30 Sep 2014 16:58:19 +0200 From: Bernd Walter <ticso@cicely7.cicely.de> To: freebsd-net@freebsd.org Cc: ticso@cicely.de Subject: wrong source address with neighbor solicitation from jail Message-ID: <20140930145819.GB62759@cicely7.cicely.de>
next in thread | raw e-mail | index | archive | help
At first I'd thought it is the plain old broken multicast ethernet support story, since I noticed it with an IPv6 only ARM system. But multicast on all the system works fine, it is the neighbor solitictaion request at fault selecting the wrong My setup. One client system, which failed to communication with a jail with an IP configured as /128 on lo0. The jail host itself with a LAN IP on em0 and the jail IP. My gateway, used as defeault GW on the client and server and knows a route for the /128 to the jail host. It is in the route path from the client to the jail IP. (unrelated question: isn't there some kind of redirect supprt as with IPv4?) All systems are on the same LAN. When I e.g. telnet from the jail host to the client I see the following: 16:41:23.970458 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2a02:21e0:16e0:2000::105 > ff02::1:ff00:1001: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2a02:21e0:16e0:2000::1001 source link-address option (1), length 8 (1): 00:1e:8c:f2:41:2d 0x0000: 001e 8cf2 412d 16:41:23.970792 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2a02:21e0:16e0:2000::1001 > 2a02:21e0:16e0:2000::105: [icmp6 sum ok ] ICMP6, neighbor advertisement, length 32, tgt is 2a02:21e0:16e0:2000::1001, Flags [solicited, override] destination link-address option (2), length 8 (1): 00:1f:7b:b4:0c:41 0x0000: 001f 7bb4 0c41 16:41:23.970800 IP6 (flowlabel 0xe9bb0, hlim 64, next-header TCP (6) payload length: 40) 2a02:21e0:16e0:2000::105.50941 > 2a02:21e0:16e0:2000: :1001.23: Flags [S], cksum 0xcaee (correct), seq 690679932, win 65535, options [mss 1440,nop,wscale 6,sackOK,TS val 291271812 ecr 0], length 0 16:41:23.971066 IP6 (hlim 64, next-header TCP (6) payload length: 20) 2a02:21e0:16e0:2000::1001.23 > 2a02:21e0:16e0:2000::105.50941: Flags [R. ], cksum 0xb889 (correct), seq 0, ack 690679933, win 0, length 0 The jail host issues a neighbor solicitaion request from his LAN IP to the multicast IP for the required target IP. It gets an answer and tries to connect. Everything is perfectly OK. Now if I do the same from the jail (after deleting the ndp entry): 16:43:30.686371 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2a02:21e0:16e0:20fe::101:6 > ff02::1:ff00:1001: [icmp6 sum ok] ICMP 6, neighbor solicitation, length 32, who has 2a02:21e0:16e0:2000::1001 source link-address option (1), length 8 (1): 00:1e:8c:f2:41:2d 0x0000: 001e 8cf2 412d And this is where my problems starts. It is issuing basicly the same NS packet, but this time with it's jail address. Now the other system won't answer to the request. Maybe because it is not on the same LAN as the requesting address. The jail host, which selects the wrong source address is running 9.1-STABLE r246590. So maybe this is fixed already? But since I've never heared about such a problem I guess it still exists. -- B.Walter <bernd@bwct.de> http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140930145819.GB62759>