Now that we support SO_RTABLE on the socket level, it makes
sense to cleanup the tree.  OK?

Index: sbin/ping/ping.c
===================================================================
RCS file: /home/cvs/src/sbin/ping/ping.c,v
retrieving revision 1.88
diff -u -p -r1.88 ping.c
--- sbin/ping/ping.c    3 Jul 2010 04:44:51 -0000       1.88
+++ sbin/ping/ping.c    20 Jun 2011 15:31:59 -0000
@@ -312,7 +312,7 @@ main(int argc, char *argv[])
                                errx(1, "rtable value is %s: %s",
                                    errstr, optarg);
 
-                       if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid,
+                       if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
                            sizeof(rtableid)) == -1)
                                err(1, "setsockopt SO_RTABLE");
                        break;
Index: usr.bin/nc/netcat.c
===================================================================
RCS file: /home/cvs/src/usr.bin/nc/netcat.c,v
retrieving revision 1.100
diff -u -p -r1.100 netcat.c
--- usr.bin/nc/netcat.c 9 Jan 2011 22:16:46 -0000       1.100
+++ usr.bin/nc/netcat.c 20 Jun 2011 15:50:35 -0000
@@ -552,7 +552,7 @@ remote_connect(const char *host, const c
                        continue;
 
                if (rtableid) {
-                       if (setsockopt(s, IPPROTO_IP, SO_RTABLE, &rtableid,
+                       if (setsockopt(s, SOL_SOCKET, SO_RTABLE, &rtableid,
                            sizeof(rtableid)) == -1)
                                err(1, "setsockopt SO_RTABLE");
                }
Index: usr.bin/tcpbench/tcpbench.c
===================================================================
RCS file: /home/cvs/src/usr.bin/tcpbench/tcpbench.c,v
retrieving revision 1.21
diff -u -p -r1.21 tcpbench.c
--- usr.bin/tcpbench/tcpbench.c 16 Mar 2011 08:06:10 -0000      1.21
+++ usr.bin/tcpbench/tcpbench.c 20 Jun 2011 15:53:59 -0000
@@ -719,9 +719,10 @@ server_init(struct addrinfo *aitop, stru
                                warn("socket");
                        continue;
                }
-               if (ptb->Vflag && ai->ai_family == AF_INET) {
-                       if (setsockopt(sock, IPPROTO_IP, SO_RTABLE,
-                           &ptb->Vflag, sizeof(ptb->Vflag)) == -1)
+               if (ptb->Vflag) {
+                       if (setsockopt(sock, SOL_SOCKET, SO_RTABLE,
+                           &ptb->Vflag, sizeof(ptb->Vflag)) == -1 &&
+                           errno != ENOPROTOOPT)
                                err(1, "setsockopt SO_RTABLE");
                } else if (ptb->Vflag)
                        warnx("rtable only supported on AF_INET");
@@ -817,9 +818,10 @@ client_init(struct addrinfo *aitop, int 
                                        warn("socket");
                                continue;
                        }
-                       if (ptb->Vflag && ai->ai_family == AF_INET) {
-                               if (setsockopt(sock, IPPROTO_IP, SO_RTABLE,
-                                   &ptb->Vflag, sizeof(ptb->Vflag)) == -1)
+                       if (ptb->Vflag) {
+                               if (setsockopt(sock, SOL_SOCKET, SO_RTABLE,
+                                   &ptb->Vflag, sizeof(ptb->Vflag)) == -1 &&
+                                   errno != ENOPROTOOPT)
                                        err(1, "setsockopt SO_RTABLE");
                        } else if (ptb->Vflag)
                                warnx("rtable only supported on AF_INET");
Index: usr.bin/telnet/commands.c
===================================================================
RCS file: /home/cvs/src/usr.bin/telnet/commands.c,v
retrieving revision 1.52
diff -u -p -r1.52 commands.c
--- usr.bin/telnet/commands.c   3 Jul 2010 04:44:51 -0000       1.52
+++ usr.bin/telnet/commands.c   20 Jun 2011 16:00:02 -0000
@@ -2397,7 +2397,7 @@ tn(argc, argv)
            continue;
 
        if (rtableid) {
-               if (setsockopt(net, IPPROTO_IP, SO_RTABLE, &rtableid,
+               if (setsockopt(net, SOL_SOCKET, SO_RTABLE, &rtableid,
                    sizeof(rtableid)) == -1)
                        perror("setsockopt (SO_RTABLE)");
        }
Index: usr.sbin/dhcrelay/dhcrelay.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/dhcrelay/dhcrelay.c,v
retrieving revision 1.34
diff -u -p -r1.34 dhcrelay.c
--- usr.sbin/dhcrelay/dhcrelay.c        3 Jul 2010 04:44:52 -0000       1.34
+++ usr.sbin/dhcrelay/dhcrelay.c        20 Jun 2011 16:05:40 -0000
@@ -176,7 +176,7 @@ main(int argc, char *argv[])
                if (setsockopt(sp->fd, SOL_SOCKET, SO_REUSEPORT,
                    &opt, sizeof(opt)) == -1)
                        error("setsockopt: %m");
-               if (setsockopt(sp->fd, IPPROTO_IP, SO_RTABLE, &rdomain,
+               if (setsockopt(sp->fd, SOL_SOCKET, SO_RTABLE, &rdomain,
                    sizeof(rdomain)) == -1)
                        error("setsockopt: %m");
                if (bind(sp->fd, (struct sockaddr *)&laddr, sizeof laddr) == -1)
@@ -197,7 +197,7 @@ main(int argc, char *argv[])
                if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEPORT,
                    &opt, sizeof(opt)) == -1)
                        error("setsockopt: %m");
-               if (setsockopt(server_fd, IPPROTO_IP, SO_RTABLE, &rdomain,
+               if (setsockopt(server_fd, SOL_SOCKET, SO_RTABLE, &rdomain,
                    sizeof(rdomain)) == -1)
                        error("setsockopt: %m");
                if (bind(server_fd, (struct sockaddr *)&laddr,
Index: usr.sbin/ftp-proxy/ftp-proxy.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/ftp-proxy/ftp-proxy.c,v
retrieving revision 1.22
diff -u -p -r1.22 ftp-proxy.c
--- usr.sbin/ftp-proxy/ftp-proxy.c      28 Apr 2011 00:17:28 -0000      1.22
+++ usr.sbin/ftp-proxy/ftp-proxy.c      4 May 2011 11:59:55 -0000
@@ -428,9 +428,8 @@ handle_connection(const int listen_fd, s
                goto fail;
        }
        len = sizeof(s->client_rd);
-       if (client_sa->sa_family == AF_INET &&
-           getsockopt(s->client_fd, IPPROTO_IP, SO_RTABLE, &s->client_rd,
-           &len)) {
+       if (getsockopt(s->client_fd, SOL_SOCKET, SO_RTABLE, &s->client_rd,
+           &len) && errno != ENOPROTOOPT) {
                logmsg(LOG_CRIT, "#%d getsockopt failed: %s", s->id,
                    strerror(errno));
                goto fail;
Index: usr.sbin/ospfd/interface.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/ospfd/interface.c,v
retrieving revision 1.72
diff -u -p -r1.72 interface.c
--- usr.sbin/ospfd/interface.c  9 May 2011 12:24:41 -0000       1.72
+++ usr.sbin/ospfd/interface.c  20 Jun 2011 16:06:12 -0000
@@ -257,7 +257,7 @@ if_init(struct ospfd_conf *xconf, struct
                rdomain = 0;
        else {
                rdomain = ifr.ifr_rdomainid;
-               if (setsockopt(iface->fd, IPPROTO_IP, SO_RTABLE,
+               if (setsockopt(iface->fd, SOL_SOCKET, SO_RTABLE,
                    &rdomain, sizeof(rdomain)) == -1)
                        fatal("failed to set rdomain");
        }
Index: usr.sbin/ripd/interface.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/ripd/interface.c,v
retrieving revision 1.9
diff -u -p -r1.9 interface.c
--- usr.sbin/ripd/interface.c   3 Jul 2010 04:44:52 -0000       1.9
+++ usr.sbin/ripd/interface.c   20 Jun 2011 16:07:31 -0000
@@ -83,7 +83,7 @@ if_init(struct ripd_conf *xconf, struct 
                rdomain = 0;
        else {
                rdomain = ifr.ifr_rdomainid;
-               if (setsockopt(iface->fd, IPPROTO_IP, SO_RTABLE, &rdomain,
+               if (setsockopt(iface->fd, SOL_SOCKET, SO_RTABLE, &rdomain,
                    sizeof(rdomain)) == -1)
                        fatal("failed to set rdomain");
        }
Index: usr.sbin/traceroute/traceroute.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/traceroute/traceroute.c,v
retrieving revision 1.76
diff -u -p -r1.76 traceroute.c
--- usr.sbin/traceroute/traceroute.c    23 Apr 2011 10:00:13 -0000      1.76
+++ usr.sbin/traceroute/traceroute.c    20 Jun 2011 16:08:07 -0000
@@ -442,10 +442,10 @@ main(int argc, char *argv[])
                        if (errstr)
                                errx(1, "rtable value is %s: %s",
                                    errstr, optarg);
-                       if (setsockopt(sndsock, IPPROTO_IP, SO_RTABLE,
+                       if (setsockopt(sndsock, SOL_SOCKET, SO_RTABLE,
                            &rtableid, sizeof(rtableid)) == -1)
                                err(1, "setsockopt SO_RTABLE");
-                       if (setsockopt(s, IPPROTO_IP, SO_RTABLE,
+                       if (setsockopt(s, SOL_SOCKET, SO_RTABLE,
                            &rtableid, sizeof(rtableid)) == -1)
                                err(1, "setsockopt SO_RTABLE");
                        break;

Reply via email to