aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/d6_packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/d6_packet.c')
-rw-r--r--networking/udhcp/d6_packet.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/networking/udhcp/d6_packet.c b/networking/udhcp/d6_packet.c
index e166f520d..79a0ac8a8 100644
--- a/networking/udhcp/d6_packet.c
+++ b/networking/udhcp/d6_packet.c
@@ -127,7 +127,8 @@ int FAST_FUNC d6_send_raw_packet(
127int FAST_FUNC d6_send_kernel_packet( 127int FAST_FUNC d6_send_kernel_packet(
128 struct d6_packet *d6_pkt, unsigned d6_pkt_size, 128 struct d6_packet *d6_pkt, unsigned d6_pkt_size,
129 struct in6_addr *src_ipv6, int source_port, 129 struct in6_addr *src_ipv6, int source_port,
130 struct in6_addr *dst_ipv6, int dest_port) 130 struct in6_addr *dst_ipv6, int dest_port,
131 int ifindex)
131{ 132{
132 struct sockaddr_in6 sa; 133 struct sockaddr_in6 sa;
133 int fd; 134 int fd;
@@ -154,6 +155,7 @@ int FAST_FUNC d6_send_kernel_packet(
154 sa.sin6_family = AF_INET6; 155 sa.sin6_family = AF_INET6;
155 sa.sin6_port = htons(dest_port); 156 sa.sin6_port = htons(dest_port);
156 sa.sin6_addr = *dst_ipv6; /* struct copy */ 157 sa.sin6_addr = *dst_ipv6; /* struct copy */
158 sa.sin6_scope_id = ifindex;
157 if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) == -1) { 159 if (connect(fd, (struct sockaddr *)&sa, sizeof(sa)) == -1) {
158 msg = "connect"; 160 msg = "connect";
159 goto ret_close; 161 goto ret_close;