diff options
Diffstat (limited to 'networking/udhcp/d6_packet.c')
-rw-r--r-- | networking/udhcp/d6_packet.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/networking/udhcp/d6_packet.c b/networking/udhcp/d6_packet.c index e166f52..79a0ac8 100644 --- a/networking/udhcp/d6_packet.c +++ b/networking/udhcp/d6_packet.c @@ -127,7 +127,8 @@ int FAST_FUNC d6_send_raw_packet( int FAST_FUNC d6_send_kernel_packet( struct d6_packet *d6_pkt, unsigned d6_pkt_size, struct in6_addr *src_ipv6, int source_port, - struct in6_addr *dst_ipv6, int dest_port) + struct in6_addr *dst_ipv6, int dest_port, + int ifindex) { struct sockaddr_in6 sa; int fd; @@ -154,6 +155,7 @@ int FAST_FUNC d6_send_kernel_packet( sa.sin6_family = AF_INET6; sa.sin6_port = htons(dest_port); sa.sin6_addr = *dst_ipv6; /* struct copy */ + sa.sin6_scope_id = ifindex; if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) == -1) { msg = "connect"; goto ret_close; |