summaryrefslogtreecommitdiffstats
path: root/usr.sbin/arp
Commit message (Collapse)AuthorAgeFilesLines
* MFC r288297 (userland part).melifaro2016-01-171-1/+4
| | | | | | | | | | | If ever MFC is done for the new lltable code, this change will miminise ABI breakage. 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 r280998:markj2015-04-121-0/+4
| | | | | | | arp(8): add support for printing and deleting entries of type IFT_INFINIBAND, used in IPoIB. PR: 151594
* MFC: 264174gnn2014-04-201-8/+19
| | | | | | | 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
* Fix coredump on 'arp -d'.glebius2013-09-231-1/+4
| | | | | Submitted by: az Approved by: re (kib)
* Rate limit the number of remotely triggered ARP log messagesglebius2013-05-111-1/+5
| | | | to 1 log message per second.
* Retire struct sockaddr_inarp.glebius2013-01-312-56/+37
| | | | | | | | | | | | | | | 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@
* Provide a sysctl switch that allows to install ARP entriesglebius2012-09-031-0/+11
| | | | | | | | with multicast bit set. FreeBSD refuses to install such entries since 9.0, and this broke installations running Microsoft NLB, which are violating standards. Tested by: Tarasov Oleg <oleg_tarasov sg-tea.com>
* Explicitly document all variables in the net.link.ether.inet MIB.glebius2012-09-031-5/+38
|
* Minor spelling fixes.joel2012-06-031-1/+1
|
* mdoc: add missing width argument to Bl -tag.joel2012-06-031-1/+1
|
* Historically arp(8) did a route lookup for the entry it isglebius2012-04-021-4/+0
| | | | | | | | | | | | | | | | | 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.
* mdoc: terminate quoted strings.joel2012-03-261-1/+1
| | | | Reviewed by: brueffer
* Do not hardcode (20*60), but use current ARP timeout value configuredglebius2010-11-301-1/+7
| | | | in kernel.
* That should belong to r216075. Pointy hat on me.glebius2010-11-301-3/+3
|
* Use time_uptime instead of non-monotonic time_second to drive ARPglebius2010-11-301-4/+4
| | | | | | timeouts. Suggested by: bde
* Cache the last result from if_indextoname for printing. This speeds upmlaier2010-06-111-3/+9
| | | | | | | | | | | "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
* Show when an ARP entry expires.ru2010-02-151-1/+11
| | | | MFC after: 1 week
* The proxy arp entries could not be added into the system over theqingli2009-12-301-29/+35
| | | | | | | | | | | | | | | | | | 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
* Use reallocf() to simplify some logic.jhb2009-12-291-7/+3
| | | | MFC after: 2 weeks
* Remove bogus char cast.remko2009-08-141-1/+1
| | | | | | | PR: 118014 Submitted by: Gardner Bell <gbell72 at rogers dot com> Approved by: re (rwatson), imp (mentor, implicit) MFC after: immediate
* Lower WARNS due to alignment issues on sparc64.des2009-06-111-1/+1
|
* As of sam's r175206, arp builds cleanly at WARNS level 6, but the Makefiledes2009-06-112-4/+8
| | | | | was never updated. Also, clean up the macro that caused the warning in the first place (no functional changes, just wrapped and reindented).
* - xref ndp(8)danger2009-04-281-1/+2
| | | | | | PR: docs/134053 Submitted by: Bob Van Zant <bob@veznat.com> MFC after: 1 week
* This checkin addresses a couple of issues:qingli2008-12-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Print a warning when blackhole and reject are used together.trhodes2008-12-252-8/+13
| | | | | | | | Update arp.8 manual page syntax. PR: 125896 Submitted by: Marc Olzheim <marcolz@stack.nl> Approved by: sam
* This main goals of this project are:qingli2008-12-151-16/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Spell "blackhole" correctly and fix one grammar nit.ru2008-03-241-4/+4
|
* add reject+blackhole keywords to install entries with RTF_BLACKHOLEsam2008-03-182-4/+23
| | | | | | | | and RTF_REJECT, respectively PR: bin/79228 Submitted by: Dan Lukes <dan@obluda.cz> MFC after: 2 weeks
* quiet compiler complaint about comparing &v against NULLsam2008-01-101-2/+2
|
* Reduce the WARNS levels in a couple of places so that we can enablejb2007-11-181-1/+1
| | | | -Werror at higher WARNS levels like we did before gcc4 was imported.
* net.link.ether.inet.prune_intvl no longer exists.glebius2007-03-281-3/+1
|
* Use sizeof() for calculating the buffer size instead of hard-coded values.kevlo2007-03-061-1/+1
|
* - Before doing ioctl(SIOCGIFNETMASK) put the proper IP address into the ifreq,glebius2006-10-131-1/+1
| | | | | | | | 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>
* Markup fixes.ru2006-09-291-13/+10
|
* Sync utility's usage() with manpage's SYNOPSIS.ru2006-09-291-2/+2
|
* Enumerate all cases where -i is applicable.yar2006-08-171-2/+3
| | | | MFC after: 3 days
* Refuse to install invalid ARP entries.glebius2006-02-091-2/+3
| | | | Submitted by: Vitaliy Ovsyannikov <V.Ovsyannikov kr.ru>
* Update usage to reflect the fact that the -d -a now accepts -i <interface>.brooks2006-01-101-1/+1
| | | | | Reminded by: ru Pointy hat: brooks
* Allow the -i <interface> option with -d -a to allow all arp entries forbrooks2006-01-102-1/+2
| | | | a given interface to be removed.
* Add a knob to suppress logging of attempts to modifyglebius2005-12-181-1/+8
| | | | | | permanent ARP entries. Submitted by: Andrew Alcheyev <buddy telenet.ru>
* Improve the documentation of "proxyall" knob, somewhat: we do notru2005-11-241-2/+3
| | | | | | proxy for hosts that are reachable through the same interface the request came in from. This feature is mainly for hosts reachable through some P2P link, e.g. the gif(4) tunnel.
* Some fixes for last commit.glebius2005-11-111-8/+7
| | | | Submitted by: ru
* - Document last change to ARP behavior.glebius2005-11-101-11/+28
| | | | | - Document several undocumented sysctl variables. - Fix spelling of few diagnostics.
* List IFT_BRIDGE as a valid type so that arp entries can be properly deleted.thompsa2005-11-031-1/+6
| | | | Submitted by: Michal Mertl <mime^traveller.cz>
* Commit some cosmetic fixes I developed some time ago, mostly style butru2005-06-091-26/+31
| | | | one functional change (fixed exit status from the "get" operation).
* Fix exit status. In rev. 1.48 return logic of rtmsg() was confused. Thisglebius2005-06-091-1/+1
| | | | | | | made arp(8) command exit status reversed for -s and -S. Reported by: sem MFC after: 2 weeks
* o Reorganize the previous delta to make it more style(9) compliant.maxim2005-01-241-3/+5
| | | | | | Submitted by: ru o Reduce an amount of memory we ask in advance.
* o Try hard to guess a buffer size for a fast growing routing table.maxim2005-01-241-5/+15
| | | | | | | | An approach taken from killall/killall.c. PR: bin/76075 Submitted by: Dmitrij Tejblum MFC after: 3 weeks
* For VLAN interfaces, print MAC addresses properly.ru2004-12-241-1/+2
| | | | | | | | (Broken in rev. 1.52.) PR: 75471 Submitted by: Jon Simola MFC after: 3 days
* Per letter dated July 22, 1999, delete clause 3 from code directlyimp2004-08-073-12/+0
| | | | from Berkeley.
OpenPOWER on IntegriCloud