diff -c -r1.1 route.c *** /tmp/,RCSt1X32288 Tue Jun 22 22:50:34 1999 --- route.c Tue Jun 22 22:12:12 1999 *************** *** 55,60 **** --- 55,61 ---- #include #include #include + #include #include #ifdef NS #include *************** *** 88,93 **** --- 89,95 ---- struct sockaddr_ns sns; #endif struct sockaddr_dl sdl; + struct sockaddr_inarp sia; } so_dst, so_gate, so_mask, so_genmask, so_ifa, so_ifp; typedef union sockunion *sup; *************** *** 505,511 **** register char **argv; { char *cmd, *dest = "", *gateway = "", *err; ! int ishost = 0, ret, attempts, oerrno, flags = RTF_STATIC; int key; struct hostent *hp = 0; --- 507,513 ---- register char **argv; { char *cmd, *dest = "", *gateway = "", *err; ! int ishost = 0, proxy = 0, ret, attempts, oerrno, flags = RTF_STATIC; int key; struct hostent *hp = 0; *************** *** 571,576 **** --- 573,581 ---- case K_PROTO2: flags |= RTF_PROTO2; break; + case K_PROXY: + ++proxy; + break; case K_CLONING: flags |= RTF_CLONING; break; *************** *** 643,648 **** --- 648,658 ---- flags |= RTF_HOST; if (iflag == 0) flags |= RTF_GATEWAY; + if (proxy) { + /* XXX probably only makes sense for RTF_HOST */ + flags |= RTF_ANNOUNCE; /* aka RTF_PROTO2 */ + so_dst.sia.sin_other = SIN_PROXY; + } for (attempts = 1; ; attempts++) { errno = 0; if ((ret = rtmsg(*cmd, flags)) == 0) RCS file: RCS/keywords,v retrieving revision 1.1 diff -c -r1.1 keywords *** /tmp/,RCSt1h32293 Tue Jun 22 22:50:42 1999 --- keywords Tue Jun 22 22:11:27 1999 *************** *** 33,38 **** --- 33,39 ---- osi proto1 proto2 + proxy recvpipe reject rtt RCS file: RCS/route.8,v retrieving revision 1.1 diff -c -r1.1 route.8 *** /tmp/,RCSt1p32298 Tue Jun 22 22:50:46 1999 --- route.8 Tue Jun 22 22:16:35 1999 *************** *** 32,38 **** .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $Id: route.8,v 1.12.2.1 1999/05/04 18:41:32 ghelmer Exp $ .\" ! .Dd March 19, 1994 .Dt ROUTE 8 .Os BSD 4.4 .Sh NAME --- 32,38 ---- .\" @(#)route.8 8.3 (Berkeley) 3/19/94 .\" $Id: route.8,v 1.12.2.1 1999/05/04 18:41:32 ghelmer Exp $ .\" ! .Dd June 22, 1999 .Dt ROUTE 8 .Os BSD 4.4 .Sh NAME *************** *** 239,244 **** --- 239,245 ---- -blackhole RTF_BLACKHOLE - silently discard pkts (during updates) -proto1 RTF_PROTO1 - set protocol specific routing flag #1 -proto2 RTF_PROTO2 - set protocol specific routing flag #2 + -proxy RTF_ANNOUNCE - respond to "proxy only" arp requests -llinfo RTF_LLINFO - validly translates proto addr to link addr .Ed .Pp