It seems like something like that is missing :)

As previously, it does not behave correctly when you run it with route 
-T$rdomain exec
and do not specify arp -V$rdomain, but that should not be used that way.

Index: arp.c
===================================================================
RCS file: /cvs/src/usr.sbin/arp/arp.c,v
retrieving revision 1.50
diff -u -r1.50 arp.c
--- arp.c       11 Jan 2011 16:34:20 -0000      1.50
+++ arp.c       25 Apr 2011 23:28:00 -0000
@@ -242,6 +242,10 @@
        s = socket(PF_ROUTE, SOCK_RAW, 0);
        if (s < 0)
                err(1, "socket");
+       if (rdomain != 0)
+               if (setsockopt(s, AF_ROUTE, ROUTE_TABLEFILTER,
+                   &rdomain, sizeof(rdomain)) < 0)
+                       err(1, "setsockopt(ROUTE_TABLEFILTER)");
 }
 
 struct sockaddr_in     so_mask = { 8, 0, 0, { 0xffffffff } };

Reply via email to