ok?
(benno_route_monitor.diff)
diff --git sbin/route/route.c sbin/route/route.c
index f98bdeae0a2..d4467a77d04 100644
--- sbin/route/route.c
+++ sbin/route/route.c
@@ -150,6 +150,7 @@ main(int argc, char **argv)
int kw;
int Terr = 0;
int af = AF_UNSPEC;
+ u_int rtable_any = RTABLE_ANY;
if (argc < 2)
usage(NULL);
@@ -231,10 +232,15 @@ main(int argc, char **argv)
}
/* force socket onto table user requested */
- if (Tflag == 1 && Terr == 0 &&
- setsockopt(s, AF_ROUTE, ROUTE_TABLEFILTER,
- &tableid, sizeof(tableid)) == -1)
- err(1, "setsockopt(ROUTE_TABLEFILTER)");
+ if (Tflag == 1 && Terr == 0) {
+ if (setsockopt(s, AF_ROUTE, ROUTE_TABLEFILTER,
+ &tableid, sizeof(tableid)) == -1)
+ err(1, "setsockopt(ROUTE_TABLEFILTER)");
+ } else {
+ if (setsockopt(s, AF_ROUTE, ROUTE_TABLEFILTER,
+ &rtable_any, sizeof(tableid)) == -1)
+ err(1, "setsockopt(ROUTE_TABLEFILTER)");
+ }
if (pledge("stdio dns route", NULL) == -1)
err(1, "pledge");