-/* $OpenBSD: engine.c,v 1.88 2024/02/11 21:29:12 bluhm Exp $ */
+/* $OpenBSD: engine.c,v 1.89 2024/04/21 17:33:05 florian Exp $ */
/*
* Copyright (c) 2017 Florian Obser <florian@openbsd.org>
address.if_index = addr_proposal->if_index;
memcpy(&address.addr, &addr_proposal->addr, sizeof(address.addr));
+ memcpy(&address.gw, &addr_proposal->from, sizeof(address.gw));
memcpy(&address.mask, &addr_proposal->mask, sizeof(address.mask));
address.vltime = addr_proposal->vltime;
address.pltime = addr_proposal->pltime;
-/* $OpenBSD: engine.h,v 1.6 2021/03/21 18:25:24 florian Exp $ */
+/* $OpenBSD: engine.h,v 1.7 2024/04/21 17:33:05 florian Exp $ */
/*
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
struct imsg_configure_address {
uint32_t if_index;
struct sockaddr_in6 addr;
+ struct sockaddr_in6 gw;
struct in6_addr mask;
uint32_t vltime;
uint32_t pltime;
-/* $OpenBSD: slaacd.c,v 1.68 2023/02/15 13:47:00 florian Exp $ */
+/* $OpenBSD: slaacd.c,v 1.69 2024/04/21 17:33:05 florian Exp $ */
/*
* Copyright (c) 2017 Florian Obser <florian@openbsd.org>
memcpy(&in6_addreq.ifra_addr, &address->addr,
sizeof(in6_addreq.ifra_addr));
+ memcpy(&in6_addreq.ifra_dstaddr, &address->gw,
+ sizeof(in6_addreq.ifra_dstaddr));
memcpy(&in6_addreq.ifra_prefixmask.sin6_addr, &address->mask,
sizeof(in6_addreq.ifra_prefixmask.sin6_addr));
in6_addreq.ifra_prefixmask.sin6_family = AF_INET6;