[PATCH] icmp: Set sin6_scope_id for outbound ICMPv6 echo requests
If we ping a link-local address, we need to pass this to sendto(), as
it will obviously fail with -EINVAL otherwise.
If we ping other addresses, it's probably a good idea anyway to
specify the configured outbound interface here.
Signed-off-by: Stefano Brivio
On Wed, Oct 12, 2022 at 05:45:30PM +0200, Stefano Brivio wrote:
If we ping a link-local address, we need to pass this to sendto(), as it will obviously fail with -EINVAL otherwise.
If we ping other addresses, it's probably a good idea anyway to specify the configured outbound interface here.
Signed-off-by: Stefano Brivio
Reviewed-by: David Gibson
--- icmp.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/icmp.c b/icmp.c index 6bd87fd..21ea2d7 100644 --- a/icmp.c +++ b/icmp.c @@ -192,6 +192,7 @@ int icmp_tap_handler(const struct ctx *c, int af, const void *addr, struct sockaddr_in6 sa = { .sin6_family = AF_INET6, .sin6_addr = IN6ADDR_ANY_INIT, + .sin6_scope_id = c->ifi6, }; struct icmp6hdr *ih; int id, s;
-- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
participants (2)
-
David Gibson
-
Stefano Brivio