diff options
author | 2020-08-20 03:09:28 +0000 | |
---|---|---|
committer | 2020-08-20 03:09:28 +0000 | |
commit | 5e36d4562cd51a46e6d9a1e2ff940b7c8874a5a2 (patch) | |
tree | f8effb5aa585323f173df628cf3041b38a44a646 | |
parent | Revert DYING. At least some USB memory sticks get very upset. (diff) | |
download | wireguard-openbsd-5e36d4562cd51a46e6d9a1e2ff940b7c8874a5a2.tar.xz wireguard-openbsd-5e36d4562cd51a46e6d9a1e2ff940b7c8874a5a2.zip |
Use the ROUTE_FLAGFILTER setsockopt to filter out routing socket messages
for L2 and broadcast routes, since we don't need them at all.
ok kn@ remi@ dlg@
-rw-r--r-- | usr.sbin/ospfd/kroute.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.sbin/ospfd/kroute.c b/usr.sbin/ospfd/kroute.c index f55002d6a6e..9da45fa9399 100644 --- a/usr.sbin/ospfd/kroute.c +++ b/usr.sbin/ospfd/kroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kroute.c,v 1.113 2019/11/09 15:54:19 denis Exp $ */ +/* $OpenBSD: kroute.c,v 1.114 2020/08/20 03:09:28 jmatthew Exp $ */ /* * Copyright (c) 2004 Esben Norby <norby@openbsd.org> @@ -133,6 +133,7 @@ kr_init(int fs, u_int rdomain, int redis_label_or_prefix, u_int8_t fib_prio) int opt = 0, rcvbuf, default_rcvbuf; socklen_t optlen; int filter_prio = fib_prio; + int filter_flags = RTF_LLINFO | RTF_BROADCAST; kr_state.fib_sync = fs; kr_state.rdomain = rdomain; @@ -160,6 +161,11 @@ kr_init(int fs, u_int rdomain, int redis_label_or_prefix, u_int8_t fib_prio) log_warn("%s: setsockopt AF_ROUTE ROUTE_PRIOFILTER", __func__); /* not fatal */ } + if (setsockopt(kr_state.fd, AF_ROUTE, ROUTE_FLAGFILTER, &filter_flags, + sizeof(filter_flags)) == -1) { + log_warn("%s: setsockopt AF_ROUTE ROUTE_FLAGFILTER", __func__); + /* not fatal */ + } /* grow receive buffer, don't wanna miss messages */ optlen = sizeof(default_rcvbuf); |