tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: arp(8) and proxy only entries.



In article <20080109161644.GB3584017%qnx.com@localhost>,
Sean Boudreau  <seanb%qnx.com@localhost> wrote:
>-=-=-=-=-=-
>
>
>Hi:
>
>arp(8) seems to have lost the ability to add / delete "proxy
>only" entries (SIN_PROXY flag set).  FWICT, this was the
>purpose of the "pro" keyword that sort of got merged in with
>the "pub" keyword with PR 32681.
>
>Here's a suggested diff.  Any comments before I commit?
>
>-seanb
>
>-=-=-=-=-=-
>
>Index: arp.c
>===================================================================
>RCS file: /cvsroot/src/usr.sbin/arp/arp.c,v
>retrieving revision 1.45
>diff -u -r1.45 arp.c
>--- arp.c      15 Dec 2007 19:44:54 -0000      1.45
>+++ arp.c      9 Jan 2008 21:05:51 -0000
>@@ -269,6 +269,10 @@
>               else if (strncmp(argv[0], "pub", 3) == 0) {
>                       flags |= RTF_ANNOUNCE;
>                       doing_proxy = SIN_PROXY;
>+                      if (argc && strncmp(argv[1], "pro", 3) == 0) {
>+                              export_only = 1;
>+                              argc--; argv++;
>+                      }
>               } else if (strncmp(argv[0], "trail", 5) == 0) {
>                       warnx("%s: Sending trailers is no longer supported",
>                           host);
>@@ -363,10 +367,10 @@
>       sina = &sin_m;
>       rtm = &m_rtmsg.m_rtm;
> 
>-      if (info && strncmp(info, "pub", 3) == 0)
>-              export_only = 1;
>       getsocket();
>       sin_m = blank_sin;              /* struct copy */
>+      if (info && strncmp(info, "pro", 3) == 0)
>+               sina->sin_other = SIN_PROXY;
>       if (getinetaddr(host, &sina->sin_addr) == -1)
>               return (1);
> tryagain:
>@@ -569,9 +573,9 @@
>       progname = getprogname();
>       (void)fprintf(stderr, "Usage: %s [-n] hostname\n", progname);
>       (void)fprintf(stderr, "       %s [-nv] -a\n", progname);
>-      (void)fprintf(stderr, "       %s [-v] -d [-a|hostname [pub]]\n",
>+      (void)fprintf(stderr, "       %s [-v] -d [-a|hostname [pub [pro]]]\n",
>           progname);
>-      (void)fprintf(stderr, "       %s -s hostname ether_addr [temp] [pub]\n",
>+      (void)fprintf(stderr, "       %s -s hostname ether_addr [temp] [pub 
>[pro]]\n",
>           progname);
>       (void)fprintf(stderr, "       %s -f filename\n", progname);
>       exit(1);
>Index: arp.8
>===================================================================
>RCS file: /cvsroot/src/usr.sbin/arp/arp.8,v
>retrieving revision 1.19
>diff -u -r1.19 arp.8
>--- arp.8      31 Jan 2006 17:47:04 -0000      1.19
>+++ arp.8      9 Jan 2008 21:05:51 -0000
>@@ -45,11 +45,15 @@
> .Nm
> .Op Fl v
> .Fl d
>-.Op Fl a | Ar hostname
>+.Fl a
>+.Nm
>+.Op Fl v
>+.Fl d Ar hostname
>+.Op Ar pro
> .Nm
> .Fl s Ar hostname ether_addr
> .Op Ar temp
>-.Op Ar pub
>+.Op Ar pub Op Ar pro
> .Nm
> .Fl f Ar filename
> .Sh DESCRIPTION
>@@ -78,9 +82,9 @@
> .Fl d
> flag. 
> If the
>-.Cm pub
>-keyword is specified, only the
>-.Dq published
>+.Cm pro
>+keyword is specified, only the published
>+.Dq proxy only
> .Tn ARP
> entry
> for this host will be deleted.
>@@ -127,7 +131,11 @@
> server,
> responding to requests for
> .Ar hostname
>-even though the host address is not its own.
>+even though the host address is not its own.  If the word
>+.Ar pro
>+is also given, the published entry will be a
>+.Dq proxy only
>+entry.
> .It Fl v
> Display verbose information when adding or deleting
> .Tn ARP

Is there a reason not to call it "proxy"?

christos




Home | Main Index | Thread Index | Old Index