From: Theo Buehler Subject: Re: dhcp6leased(8): Install reject route for prefix delegation. To: tech Date: Thu, 18 Sep 2025 13:41:11 +0200 On Wed, Sep 17, 2025 at 05:19:30PM +0200, Florian Obser wrote: > This prevents routing loops in case only parts of the delegated prefix > are configured on interfaces. Reads fine. ok tb See below for a tiny whitespace nit in code adjacent to your diff. > > diff --git dhcp6leased.c dhcp6leased.c > index ae29f5a9436..90333592b95 100644 > --- dhcp6leased.c > +++ dhcp6leased.c > @@ -76,6 +76,7 @@ void main_dispatch_engine(int, short, void *); > void open_udpsock(uint32_t); > void configure_address(struct imsg_configure_address *); > void deconfigure_address(struct imsg_configure_address *); > +void configure_reject_route(struct imsg_configure_reject_route *, uint8_t); > void read_lease_file(struct imsg_ifinfo *); > uint8_t *get_uuid(void); > void write_lease_file(struct imsg_lease_info *); > @@ -553,6 +554,26 @@ main_dispatch_engine(int fd, short event, void *bula) > deconfigure_address(&imsg_configure_address); > break; > } > + case IMSG_CONFIGURE_REJECT_ROUTE: { > + struct imsg_configure_reject_route imsg_crr; > + if (IMSG_DATA_SIZE(imsg) != sizeof(imsg_crr)) > + fatalx("%s: IMSG_CONFIGURE_REJECT_ROUTE wrong " > + "length: %lu", __func__, > + IMSG_DATA_SIZE(imsg)); > + memcpy(&imsg_crr, imsg.data, sizeof(imsg_crr)); > + configure_reject_route(&imsg_crr, RTM_ADD); > + break; > + } > + case IMSG_DECONFIGURE_REJECT_ROUTE: { > + struct imsg_configure_reject_route imsg_crr; > + if (IMSG_DATA_SIZE(imsg) != sizeof(imsg_crr)) > + fatalx("%s: IMSG_CONFIGURE_REJECT_ROUTE wrong " > + "length: %lu", __func__, > + IMSG_DATA_SIZE(imsg)); > + memcpy(&imsg_crr, imsg.data, sizeof(imsg_crr)); > + configure_reject_route(&imsg_crr, RTM_DELETE); > + break; > + } > case IMSG_WRITE_LEASE: { two spaces before {