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:
hselasky 2018-03-07 13:25:40 +00:00
parent ed08bbe6a2
commit 3445322d74

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: