Embed the IPv6 scope ID before calling rtalloc1() in ibcore.

Else rtalloc1() will resolve to the loopback interface.

MFC after:	1 week
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2018-03-07 13:25:40 +00:00
parent e0fe10600a
commit cc79d31d6f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=330583

View File

@ -424,6 +424,13 @@ static int addr6_resolve(struct sockaddr_in6 *src_in,
*/
dst_tmp.sin6_len = sizeof(dst_tmp);
/*
* Make sure the scope ID gets embedded, else rtalloc1() will
* resolve to the loopback interface.
*/
dst_tmp.sin6_scope_id = addr->bound_dev_if;
sa6_embedscope(&dst_tmp, 0);
/* Step 1 - lookup destination route if any */
switch (type) {
case 0: