summaryrefslogtreecommitdiff
path: root/sbin/slaacd/slaacd.c
diff options
context:
space:
mode:
authorFlorian Obser <florian@cvs.openbsd.org>2018-05-17 13:39:01 +0000
committerFlorian Obser <florian@cvs.openbsd.org>2018-05-17 13:39:01 +0000
commit757dca9e8578a1e67799d0dd8477e9c65cbb3dab (patch)
tree83e2cabaa35b0194153b30928aaf92b43bbef96b /sbin/slaacd/slaacd.c
parent39290d715c7b0e7e2494d414b6805a25ca71b453 (diff)
Handle RTM_DELETE of slaacd managed default route by re-inserting it.
Problem pointed out & OK phessler
Diffstat (limited to 'sbin/slaacd/slaacd.c')
-rw-r--r--sbin/slaacd/slaacd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sbin/slaacd/slaacd.c b/sbin/slaacd/slaacd.c
index 8b5499f97af..8a405b5ca94 100644
--- a/sbin/slaacd/slaacd.c
+++ b/sbin/slaacd/slaacd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: slaacd.c,v 1.21 2018/05/17 11:52:04 florian Exp $ */
+/* $OpenBSD: slaacd.c,v 1.22 2018/05/17 13:39:00 florian Exp $ */
/*
* Copyright (c) 2017 Florian Obser <florian@openbsd.org>
@@ -82,6 +82,7 @@ const char* imsg_type_name[] = {
"IMSG_PROPOSAL_ACK",
"IMSG_CONFIGURE_ADDRESS",
"IMSG_DEL_ADDRESS",
+ "IMSG_DEL_ROUTE",
"IMSG_FAKE_ACK",
"IMSG_CONFIGURE_DFR",
"IMSG_WITHDRAW_DFR",
@@ -308,7 +309,8 @@ main(int argc, char *argv[])
fatal("route socket");
rtfilter = ROUTE_FILTER(RTM_IFINFO) | ROUTE_FILTER(RTM_NEWADDR) |
- ROUTE_FILTER(RTM_DELADDR) | ROUTE_FILTER(RTM_PROPOSAL);
+ ROUTE_FILTER(RTM_DELADDR) | ROUTE_FILTER(RTM_PROPOSAL) |
+ ROUTE_FILTER(RTM_DELETE);
if (setsockopt(frontend_routesock, PF_ROUTE, ROUTE_MSGFILTER,
&rtfilter, sizeof(rtfilter)) < 0)
fatal("setsockopt(ROUTE_MSGFILTER)");