Commit Graph

50 Commits

Author SHA1 Message Date
Luigi Rizzo
68839124b6 Massive cleanup of the code removing global variables to
pass function arguments and results.

Hopefully no functional changes except fixing a couple of
bugs which could cause endless loops if an ioctl() on an
interface would fail.
2004-04-13 14:16:37 +00:00
Luigi Rizzo
0b46c08590 Replace ROUNDUP/ADVANCE with SA_SIZE 2004-04-13 11:24:43 +00:00
Luigi Rizzo
bdf932ae27 Make functions and variables static.
Remove global variables in favour of local ones.
Fix indentation of a couple of switch statements.

Overall, this program badly need cleaning up, as it relies
on information passed around through global variables.
2004-04-13 08:34:52 +00:00
Maxime Henrion
e2416749bf - Change several errx() calls that should have been err() calls.
- Handle empty ARP tables properly.
- Remove register keyword.
- arp(8) is WARNS?=4 clean, so mark it as such to avoid regressions.
2004-04-09 14:27:28 +00:00
Yaroslav Tykhiy
b9de94e9eb Implement a new option: -i, which will allow to limit
the scope of operation to the ARP entries on a particular
interface.  It should be useful on machines with numerous
network interfaces, e.g., on inter-VLAN routers.

PR:		bin/54151
Submitted by:	Dmitry Morozovsky <marck at rinet.ru>
Discussed on:	-net
MFC after:	2 weeks
2003-07-18 13:48:06 +00:00
David E. O'Brien
b728350ee6 Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
Ruslan Ermilov
4bfc36240e Further fix the syntax by ignoring empty and whitespace-only lines.
Prompted by:	Eugene Grosbein <eugen@kuzbass.ru>
2003-03-05 15:53:18 +00:00
Ruslan Ermilov
3adcd04299 Don't hide global `s'. 2003-01-17 08:10:43 +00:00
Ruslan Ermilov
44acbc1adc POLA dictates that in the file designated with the -f option
argument, leading whitespace and empty lines be ignored, and
the `#' character marks the rest of the line as a comment.

PR:		bin/45958
MFC after:	3 days
2002-12-27 10:09:04 +00:00
Juli Mallett
42f3352b5c Change 'int pid' to 'pid_t pid'
Submitted by:	Bruce "Allah" Dang <bruce@research.teamxor.org>
2002-07-25 01:48:19 +00:00
Bill Paul
2ab778e1d3 Unbreak this file after the last drive-by committing. We have to
#include route.h before iso88025.h, and we have to dereference
the trld_route array correctly. (NOTE: I'm not altogether sure
that this is really the correct way to traverse this array. This
just eliminates the build warning/error. It may not work right at
runtime, and I have no way to test it since I lack the necessary
hardware.)

Broken by: kbyanc, who gets to wear the pointy hat
2002-05-09 00:37:57 +00:00
Kelly Yancey
97fe20b4d0 Update ARP to access token-ring source routing information at it's new
location.

Not tested by:	me (sorry!)
Sponsored by:	NTT Multimedia Communications Labs
2002-05-08 00:55:29 +00:00
Murray Stokely
123b2d4a74 GCC 3.1 cleanup - add a break after default: at the end of a switch
statement.
2002-04-07 12:05:05 +00:00
Ruslan Ermilov
a03b1b7ced Don't reinvent the wheel now that ether_ntoa(3) has been fixed
to print leading zeros in libc_net/ether_addr.c,v 1.13.

MFC after:	3 days
2002-04-06 09:01:44 +00:00
Mike Barcroft
467a0b0647 Include <string.h> for some prototypes, rather than depending on
pollution from <strings.h>.
2002-04-01 21:13:17 +00:00
Mike Heffner
9cc7cb5818 Fix bugs from previous commit: initialize the correct field and use
the correct local variable.

Caught by: Joachim Isaksson <Joachim.Isaksson@algitech.com>
Pointy hat to: mikeh
2002-03-20 01:31:15 +00:00
Mike Heffner
9d34414bc2 WARNS=2 cleanup.
Submitted by:	Maxime Henrion <mux@qualys.com>
MFC after:	2 weeks
2001-12-10 06:42:56 +00:00
Matthew N. Dodd
0442747236 Print [fddi] or [atm] tags for ARP addresses on interfaces of that type. 2001-10-19 00:33:26 +00:00
Ruslan Ermilov
e87a372b7f Print interface name for each ARP entry.
Prodded by:	Igor Podlesny <poige@morning.ru>
MFC after:	1 week
2001-10-08 11:52:23 +00:00
Ruslan Ermilov
3f844a2221 - Renamed the `proxy'' modifier of the -d flag to `pub'',
to be consistent with the -s flag.  Updated documentation
  on what this modifier does.

- Added the ``only'' keyword to the -s and -S flags, that
  could be used to created "proxy-only" published entries.
  Previously, arp(8) created an entry of this type only
  in the absence of the route to a destination.

PR:		bin/12357
MFC after:	1 week
2001-06-07 12:35:53 +00:00
Yaroslav Tykhiy
ae14be2007 Add a missing free(3).
PR:		bin/27001
Submitted by:	alex <ml-freebsd-net@phobgate.de>,
		Matthew Emmerton <matt@gsicomp.on.ca>
2001-05-02 19:07:46 +00:00
Yaroslav Tykhiy
88d5b61358 Add the VLAN interface type to the list of ARP-capable interface types. 2001-04-04 15:14:06 +00:00
Bill Fumerola
5651a03692 zeropad mac address ouput
PR:		bin/25584
Submitted by:	David Xu <davidx@viasoft.com.cn>
Reviewed by:	wollman, billf
2001-03-08 01:52:49 +00:00
Warner Losh
59aadf9385 h_errno is declared in netdb.h. 2001-03-01 06:41:43 +00:00
Ruslan Ermilov
eec827b042 Print a diagnostic message if no interface could be determined
when attempting to create a published ARP entry.  For example:

# arp -s 1.1.1.1 auto pub

PR:		bin/7753
Submitted by:	Jonathan Hanna <pangolin@home.com>
2001-02-27 09:02:10 +00:00
Ruslan Ermilov
9ea1ba64dd Make the ``arp -d hostname proxy'' really do something useful.
Specifically, ``proxy'' modifier tells the code to delete only
Proxy ARP entry for the ``hostname''; the usual ARP entry will
be unaffected by this operation.
2001-02-05 16:57:56 +00:00
Archie Cobbs
e03bb411ee Revert previous checkin ("proxy" is required in some instances).
Add a note to that effect to the man page.
2001-02-01 21:23:16 +00:00
Archie Cobbs
bceb4f5a60 Fix documentation: "proxy" is not a keyword for the arp(8) command line. 2001-01-31 00:03:31 +00:00
Yoshinobu Inoue
1fece1a6b6 Change type of vars which hold in_addr.s_addr from u_long to u_int32_t,
for more safety on alpha.

Approved by: jkh
2000-03-03 13:01:57 +00:00
Jordan K. Hubbard
135adb1eda Fix syntax error in previous commit. 2000-01-17 01:44:16 +00:00
Kris Kennaway
0cecd500a4 Don't overflow buffers.
Reviewed by:	audit@freebsd.org
2000-01-16 21:15:50 +00:00
Ruslan Ermilov
08e13cdfa7 Yet another align.
It will be required if sizeof(struct sockaddr_in) changes in the future.

Not objected to by:	wollman
1999-09-20 09:10:46 +00:00
Ruslan Ermilov
3a6a5ebeb6 Align sockaddrs passed to/from the routing socket as supposed by kernel.
PR:		12847
Spotted by:	Key Teck Sin <ktsin@acm.org>
Reviewed by:	wollman
1999-09-13 23:32:53 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Archie Cobbs
3816c56cc1 When incrementing through a SIOCGIFCONF list, enforce a lower limit of
sizeof(ifr->ifr_addr) for the variable length field ifr->ifr_addr.sa_len.
Otherwise the increment will be wrong in certain cases.

Obtained from:	Whistle source tree
For the record:	Garrett Wollman <wollman@khavrinen.lcs.mit.edu> suggests
		SIOCGIFCONF should be dropped in favor of a sysctl mechanism.
1999-06-05 05:52:52 +00:00
Julian Elischer
fda82fc2b9 Submitted by: Larry Lile
Move the Olicom token ring driver to the officially sanctionned location of
/sys/contrib. Also fix some brokenness in the generic token ring support.

Be warned that if_dl.h has been changed and SOME programs might
like recompilation.
1999-03-10 10:11:43 +00:00
Bruce Evans
cc03533c8d Removed most unused includes of <net/if_var.h> outside the kernel. 1998-01-16 17:38:56 +00:00
Julian Elischer
8dc4b495b3 Submitted by: Archie@Whistle.com (Archie Cobbs)
allow teh -a option to work with the  -d option
thus:
arp -d -a now flushes your arp cache.
also fix the -n option so that -an now works correctly.
1997-11-13 01:16:57 +00:00
Philippe Charnier
c72049e448 Use err(3). Document -n flag from OpenBSD.
Obtained from: OpenBSD.
1997-09-03 06:32:31 +00:00
Bruce Evans
f4c1975c26 Removed inconsistent declaration of malloc(). `make world' with DESTDIR
set to something other than "/" now actually works.
1997-04-23 10:16:58 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Garrett Wollman
702a1d0148 Update to match changes in <net/if.h>. 1997-01-03 20:19:50 +00:00
Nate Williams
63c6440041 Renamed private copy of ether_aton to my_ether_aton so as to not
conflict with the version in <net/ethernet.h>
1996-12-19 19:33:10 +00:00
Garrett Wollman
628d2ac1b0 Fix up programs which expect <net/if.h> to include <sys/time.h> to instead
do it themselves.  (Some of these programs actually depended on this
beyond compiling the definition of struct ifinfo!)  Also fix up some
other #include messes while we're at it.
1996-12-10 17:11:53 +00:00
Poul-Henning Kamp
a42a667de1 Clean up warnings.
fix return/exit codes in some cases.
Add -S which will delete any old entry first.
Add "auto" in proxy case, so it finds the right interface automatically.
1996-02-08 21:05:52 +00:00
Jordan K. Hubbard
95319e1733 Make arp command actually behave as documented with the addition of a -f
flag.  The getopt handling in here is actually pretty bogus (not Phil's
fault - it's original sin) but the general approach is working so I'm not
going to break it.  Some small tweaks of my own to add error checking to what
was originally submitted.  Strange how nobody noticed that the flag was
documented but completely missing from the code before! [jkh].
Submitted by:	Phil Taylor <phil@zipmail.co.uk>
1995-08-03 03:56:48 +00:00
Rodney W. Grimes
709e8f9ae1 Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
Rodney W. Grimes
dea673e932 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00