History log of /freebsd-11-stable/usr.sbin/arp/arp.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 369818 17-May-2021 avatar

arp(8): fixing the deletion failure of IEEE1394 associated addresses

Without this, 'arp -d ${IEEE1394_ADDRESS}' gives the following error:

arp: delete: cannot locate 10.0.0.71

Reviewed by: glebius
MFC after: 2 weeks

(cherry picked from commit a0d6d0d0b9aba6d4c025b2f2807e7c4b4c4b2415)

Git Hash: 5e4388126aac3c3065a8c64518130eeba856409d
Git Author: avatar@FreeBSD.org


# 356779 16-Jan-2020 eugen

MFC r356551: arp(8): avoid segfaulting due to out-of-bounds memory access

Fix obvious mistake that sometimes results in reading memory
past end of an array.

PR: 242784


# 331722 29-Mar-2018 eadler

Revert r330897:

This was intended to be a non-functional change. It wasn't. The commit
message was thus wrong. In addition it broke arm, and merged crypto
related code.

Revert with prejudice.

This revert skips files touched in r316370 since that commit was since
MFCed. This revert also skips files that require $FreeBSD$ property
changes.

Thank you to those who helped me get out of this mess including but not
limited to gonzo, kevans, rgrimes.

Requested by: gjb (re)


# 330897 14-Mar-2018 eadler

Partial merge of the SPDX changes

These changes are incomplete but are making it difficult
to determine what other changes can/should be merged.

No objections from: pfg


# 317048 17-Apr-2017 garga

MFC r316592:

Introduce libxo support to arp(8)

Reviewed by: wblock, gnn, allanjude, phil
Approved by: allanjude
Sponsored by: Rubicon Communications (Netgate)
Differential Revision: https://reviews.freebsd.org/D9563


# 313802 16-Feb-2017 garga

MFC r313477:

Cleanup on usr.sbin/arp/arp.c

* 'blackhole' and 'reject' are mutually exclusive, replace printf() by errx()
when both are selected.
* 'trail' option is no longer supported since first import of arp from 4.4BSD.
XXX message was added 13 years ago in r128192. I believe it's time to remove
it.
* Use warnx() to print some informative messages instead of printf()
* Replace strncmp() by strcmp() when validating parameters and exit when invalid
parameter is found

Reviewed by: allanjude, vangyzen, cem
Approved by: allanjude
MFC after: 1 week
Sponsored by: Rubicon Communications (Netgate)
Differential Revision: https://reviews.freebsd.org/D9504


# 313763 15-Feb-2017 garga

MFC r313457:

Fix style(9)

Reviewed by: vangyzen, allanjude, cem
Approved by: allanjude
MFC after: 1 week
Sponsored by: Rubicon Communications (Netgate)
Differential Revision: https://reviews.freebsd.org/D9494


# 302408 07-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
# 288297 27-Sep-2015 melifaro

rtsock requests for deleting interface address lles started to return EPERM
instead of old "ignore-and-return 0" in r287789. This broke arp -da /
ndp -cn behavior (they exit on rtsock command failure). Fix this by
translating LLE_IFADDR to RTM_PINNED flag, passing it to userland and
making arp/ndp ignore these entries in batched delete.

MFC after: 2 weeks


# 280998 02-Apr-2015 markj

arp(8): add support for printing and deleting entries of type
IFT_INFINIBAND, used in IPoIB.

PR: 151594
Submitted by: Anthony Cornehl <accornehl@gmail.com>
Reviewed by: hselasky
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 264174 05-Apr-2014 gnn

Speed up the lookup of interfaces when there are a large number
of them, such in a system with a large number of VLANs.

Submitted by: Nick Rogers
MFC after: 2 weeks


# 255821 23-Sep-2013 glebius

Fix coredump on 'arp -d'.

Submitted by: az
Approved by: re (kib)


# 246143 31-Jan-2013 glebius

Retire struct sockaddr_inarp.

Since ARP and routing are separated, "proxy only" entries
don't have any meaning, thus we don't need additional field
in sockaddr to pass SIN_PROXY flag.

New kernel is binary compatible with old tools, since sizes
of sockaddr_inarp and sockaddr_in match, and sa_family are
filled with same value.

The structure declaration is left for compatibility with
third party software, but in tree code no longer use it.

Reviewed by: ru, andre, net@


# 233773 02-Apr-2012 glebius

Historically arp(8) did a route lookup for the entry it is
about to add, and failed if it exist and had invalid data
link type.

Later on, in r201282, this check morphed to other code, but
message "proxy entry exists for non 802 device" still left,
and now it is printed in a case if route prefix found is
equal to current address being added. In other words, when
we are trying to add ARP entry for a network address. The
message is absolutely unrelated and disappointing in this
case.

I don't see anything bad with setting ARP entries for
network addresses. While useless in usual network,
in a /31 RFC3021 it may be necessary. This, remove this code.


# 216078 30-Nov-2010 glebius

Do not hardcode (20*60), but use current ARP timeout value configured
in kernel.


# 216076 30-Nov-2010 glebius

That should belong to r216075. Pointy hat on me.


# 216075 30-Nov-2010 glebius

Use time_uptime instead of non-monotonic time_second to drive ARP
timeouts.

Suggested by: bde


# 209063 11-Jun-2010 mlaier

Cache the last result from if_indextoname for printing. This speeds up
"arp -an" when using a lot of aliases (on a single interface).

A better fix would include a better interface for if_indextoname than
getting the whole address list from the kernel just to find the one
index->name mapping.

Reported & analyzed by: Nick Rogers
MFC after: 3 days


# 203919 15-Feb-2010 ru

Show when an ARP entry expires.

MFC after: 1 week


# 201282 30-Dec-2009 qingli

The proxy arp entries could not be added into the system over the
IFF_POINTOPOINT link types. The reason was due to the routing
entry returned from the kernel covering the remote end is of an
interface type that does not support ARP. This patch fixes this
problem by providing a hint to the kernel routing code, which
indicates the prefix route instead of the PPP host route should
be returned to the caller. Since a host route to the local end
point is also added into the routing table, and there could be
multiple such instantiations due to multiple PPP links can be
created with the same local end IP address, this patch also fixes
the loopback route installation failure problem observed prior to
this patch. The reference count of loopback route to local end would
be either incremented or decremented. The first instantiation would
create the entry and the last removal would delete the route entry.

MFC after: 5 days


# 201202 29-Dec-2009 jhb

Use reallocf() to simplify some logic.

MFC after: 2 weeks


# 196216 14-Aug-2009 remko

Remove bogus char cast.

PR: 118014
Submitted by: Gardner Bell <gbell72 at rogers dot com>
Approved by: re (rwatson), imp (mentor, implicit)
MFC after: immediate


# 193976 11-Jun-2009 des

As of sam's r175206, arp builds cleanly at WARNS level 6, but the Makefile
was never updated. Also, clean up the macro that caused the warning in the
first place (no functional changes, just wrapped and reindented).


# 186500 26-Dec-2008 qingli

This checkin addresses a couple of issues:
1. The "route" command allows route insertion through the interface-direct
option "-iface". During if_attach(), an sockaddr_dl{} entry is created
for the interface and is part of the interface address list. This
sockaddr_dl{} entry describes the interface in detail. The "route"
command selects this entry as the "gateway" object when the "-iface"
option is present. The "arp" and "ndp" commands also interact with the
kernel through the routing socket when adding and removing static L2
entries. The static L2 information is also provided through the
"gateway" object with an AF_LINK family type, similar to what is
provided by the "route" command. In order to differentiate between
these two types of operations, a RTF_LLDATA flag is introduced. This
flag is set by the "arp" and "ndp" commands when issuing the add and
delete commands. This flag is also set in each L2 entry returned by the
kernel. The "arp" and "ndp" command follows a convention where a RTM_GET
is issued first followed by a RTM_ADD/DELETE. This RTM_GET request fills
in the fields for a "rtm" object, which is reinjected into the kernel by
a subsequent RTM_ADD/DELETE command. The entry returend from RTM_GET
is a prefix route, so the RTF_LLDATA flag must be specified when issuing
the RTM_ADD/DELETE messages.

2. Enforce the convention that NET_RT_FLAGS with a 0 w_arg is the
specification for retrieving L2 information. Also optimized the
code logic.

Reviewed by: julian


# 186485 25-Dec-2008 trhodes

Print a warning when blackhole and reject are used together.
Update arp.8 manual page syntax.

PR: 125896
Submitted by: Marc Olzheim <marcolz@stack.nl>
Approved by: sam


# 186119 15-Dec-2008 qingli

This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
the last piece of the puzzle, Kip has also been conducting
active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
me maintaining that branch before the svn conversion


# 177362 18-Mar-2008 sam

add reject+blackhole keywords to install entries with RTF_BLACKHOLE
and RTF_REJECT, respectively

PR: bin/79228
Submitted by: Dan Lukes <dan@obluda.cz>
MFC after: 2 weeks


# 175206 10-Jan-2008 sam

quiet compiler complaint about comparing &v against NULL


# 167260 06-Mar-2007 kevlo

Use sizeof() for calculating the buffer size instead of hard-coded values.


# 163305 13-Oct-2006 glebius

- Before doing ioctl(SIOCGIFNETMASK) put the proper IP address into the ifreq,
to obtain correct netmask in case of interface with multiple aliases.
- While here, remove a comment with a bad idea.

PR: bin/42120
Submitted by: Dmitry Frolov <frolov riss-telecom.ru>


# 162795 29-Sep-2006 ru

Sync utility's usage() with manpage's SYNOPSIS.


# 155471 09-Feb-2006 glebius

Refuse to install invalid ARP entries.

Submitted by: Vitaliy Ovsyannikov <V.Ovsyannikov kr.ru>


# 154191 10-Jan-2006 brooks

Update usage to reflect the fact that the -d -a now accepts -i <interface>.

Reminded by: ru
Pointy hat: brooks


# 154162 10-Jan-2006 brooks

Allow the -i <interface> option with -d -a to allow all arp entries for
a given interface to be removed.


# 151989 02-Nov-2005 thompsa

List IFT_BRIDGE as a valid type so that arp entries can be properly deleted.

Submitted by: Michal Mertl <mime^traveller.cz>


# 147172 09-Jun-2005 ru

Commit some cosmetic fixes I developed some time ago, mostly style but
one functional change (fixed exit status from the "get" operation).


# 147170 09-Jun-2005 glebius

Fix exit status. In rev. 1.48 return logic of rtmsg() was confused. This
made arp(8) command exit status reversed for -s and -S.

Reported by: sem
MFC after: 2 weeks


# 140748 24-Jan-2005 maxim

o Reorganize the previous delta to make it more style(9) compliant.

Submitted by: ru

o Reduce an amount of memory we ask in advance.


# 140735 24-Jan-2005 maxim

o Try hard to guess a buffer size for a fast growing routing table.
An approach taken from killall/killall.c.

PR: bin/76075
Submitted by: Dmitrij Tejblum
MFC after: 3 weeks


# 139270 24-Dec-2004 ru

For VLAN interfaces, print MAC addresses properly.
(Broken in rev. 1.52.)

PR: 75471
Submitted by: Jon Simola
MFC after: 3 days


# 133248 07-Aug-2004 imp

Per letter dated July 22, 1999, delete clause 3 from code directly
from Berkeley.


# 130408 13-Jun-2004 dfr

Be smarter about printing non-ethernet link-level addresses.


# 130246 08-Jun-2004 stefanf

Avoid assignments to cast expressions.

Reviewed by: md5
Approved by: das (mentor)


# 128192 13-Apr-2004 luigi

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.


# 128186 13-Apr-2004 luigi

Replace ROUNDUP/ADVANCE with SA_SIZE


# 128181 13-Apr-2004 luigi

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.


# 128054 09-Apr-2004 mux

- 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.


# 117729 18-Jul-2003 yar

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


# 114601 03-May-2003 obrien

Use __FBSDID over rcsid[]. Protect copyright[] where needed.


# 111910 05-Mar-2003 ru

Further fix the syntax by ignoring empty and whitespace-only lines.

Prompted by: Eugene Grosbein <eugen@kuzbass.ru>


# 109413 17-Jan-2003 ru

Don't hide global `s'.


# 108314 27-Dec-2002 ru

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


# 100650 24-Jul-2002 jmallett

Change 'int pid' to 'pid_t pid'

Submitted by: Bruce "Allah" Dang <bruce@research.teamxor.org>


# 96235 08-May-2002 wpaul

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


# 96202 07-May-2002 kbyanc

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


# 94075 07-Apr-2002 murray

GCC 3.1 cleanup - add a break after default: at the end of a switch
statement.


# 93952 06-Apr-2002 ru

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


# 93590 01-Apr-2002 mike

Include <string.h> for some prototypes, rather than depending on
pollution from <strings.h>.


# 92735 19-Mar-2002 mikeh

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


# 87598 10-Dec-2001 mikeh

WARNS=2 cleanup.

Submitted by: Maxime Henrion <mux@qualys.com>
MFC after: 2 weeks


# 85123 18-Oct-2001 mdodd

Print [fddi] or [atm] tags for ARP addresses on interfaces of that type.


# 84666 08-Oct-2001 ru

Print interface name for each ARP entry.

Prodded by: Igor Podlesny <poige@morning.ru>
MFC after: 1 week


# 77870 07-Jun-2001 ru

- 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


# 76216 02-May-2001 yar

Add a missing free(3).

PR: bin/27001
Submitted by: alex <ml-freebsd-net@phobgate.de>,
Matthew Emmerton <matt@gsicomp.on.ca>


# 75180 04-Apr-2001 yar

Add the VLAN interface type to the list of ARP-capable interface types.


# 73973 07-Mar-2001 billf

zeropad mac address ouput

PR: bin/25584
Submitted by: David Xu <davidx@viasoft.com.cn>
Reviewed by: wollman, billf


# 73266 01-Mar-2001 imp

h_errno is declared in netdb.h.


# 73135 27-Feb-2001 ru

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>


# 72051 05-Feb-2001 ru

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.


# 71905 01-Feb-2001 archie

Revert previous checkin ("proxy" is required in some instances).
Add a note to that effect to the man page.


# 71854 30-Jan-2001 archie

Fix documentation: "proxy" is not a keyword for the arp(8) command line.


# 57727 03-Mar-2000 shin

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


# 56134 16-Jan-2000 jkh

Fix syntax error in previous commit.


# 56127 16-Jan-2000 kris

Don't overflow buffers.

Reviewed by: audit@freebsd.org


# 51456 20-Sep-1999 ru

Yet another align.
It will be required if sizeof(struct sockaddr_in) changes in the future.

Not objected to by: wollman


# 51250 13-Sep-1999 ru

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


# 50479 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 47753 05-Jun-1999 archie

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.


# 44627 10-Mar-1999 julian

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.


# 32570 16-Jan-1998 bde

Removed most unused includes of <net/if_var.h> outside the kernel.


# 31145 12-Nov-1997 julian

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.


# 29060 03-Sep-1997 charnier

Use err(3). Document -n flag from OpenBSD.
Obtained from: OpenBSD.


# 25103 23-Apr-1997 bde

Removed inconsistent declaration of malloc(). `make world' with DESTDIR
set to something other than "/" now actually works.


# 24428 31-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# 22997 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


# 21673 14-Jan-1997 jkh

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.


# 21264 03-Jan-1997 wollman

Update to match changes in <net/if.h>.


# 20690 19-Dec-1996 nate

Renamed private copy of ether_aton to my_ether_aton so as to not
conflict with the version in <net/ethernet.h>


# 20287 10-Dec-1996 wollman

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.


# 13977 08-Feb-1996 phk

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.


# 9874 03-Aug-1995 jkh

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>


# 8857 30-May-1995 rgrimes

Remove trailing whitespace.


# 1554 26-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1553,
which included commits to RCS files with non-trunk default branches.


# 1553 26-May-1994 rgrimes

BSD 4.4 Lite usr.sbin Sources