diff options
author | Florian Obser <florian@cvs.openbsd.org> | 2018-05-17 13:39:01 +0000 |
---|---|---|
committer | Florian Obser <florian@cvs.openbsd.org> | 2018-05-17 13:39:01 +0000 |
commit | 757dca9e8578a1e67799d0dd8477e9c65cbb3dab (patch) | |
tree | 83e2cabaa35b0194153b30928aaf92b43bbef96b /sbin/slaacd/slaacd.c | |
parent | 39290d715c7b0e7e2494d414b6805a25ca71b453 (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.c | 6 |
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)"); |