Commit Graph

115 Commits

Author SHA1 Message Date
remko
09dea8ffe1 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
2009-08-14 18:18:51 +00:00
des
771b7e0e18 Lower WARNS due to alignment issues on sparc64. 2009-06-11 10:30:30 +00:00
des
17835ecb12 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).
2009-06-11 07:50:36 +00:00
danger
107018980f - xref ndp(8)
PR:		docs/134053
Submitted by:	Bob Van Zant <bob@veznat.com>
MFC after:	1 week
2009-04-28 20:23:58 +00:00
qingli
1d851edfc0 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
2008-12-26 19:45:24 +00:00
trhodes
1f8fc18328 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
2008-12-25 06:44:19 +00:00
qingli
ec826ad5c7 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
2008-12-15 06:10:57 +00:00
ru
6c91c9345d Spell "blackhole" correctly and fix one grammar nit. 2008-03-24 22:57:55 +00:00
sam
f5c289e7a8 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
2008-03-18 21:45:27 +00:00
sam
575808ccee quiet compiler complaint about comparing &v against NULL 2008-01-10 04:26:44 +00:00
jb
218b125e30 Reduce the WARNS levels in a couple of places so that we can enable
-Werror at higher WARNS levels like we did before gcc4 was imported.
2007-11-18 00:29:36 +00:00
glebius
41ebb7b07c net.link.ether.inet.prune_intvl no longer exists. 2007-03-28 11:06:50 +00:00
kevlo
8c9d3c018a Use sizeof() for calculating the buffer size instead of hard-coded values. 2007-03-06 09:32:41 +00:00
glebius
57eda29ce5 - 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>
2006-10-13 12:38:43 +00:00
ru
081fcce9b9 Markup fixes. 2006-09-29 17:57:04 +00:00
ru
21f20d2ad5 Sync utility's usage() with manpage's SYNOPSIS. 2006-09-29 16:07:44 +00:00
yar
f6a5a99700 Enumerate all cases where -i is applicable.
MFC after:	3 days
2006-08-17 07:14:01 +00:00
glebius
642125c198 Refuse to install invalid ARP entries.
Submitted by:	Vitaliy Ovsyannikov <V.Ovsyannikov kr.ru>
2006-02-09 12:49:39 +00:00
brooks
9d25f80654 Update usage to reflect the fact that the -d -a now accepts -i <interface>.
Reminded by:	ru
Pointy hat:	brooks
2006-01-10 16:15:58 +00:00
brooks
54cd334f64 Allow the -i <interface> option with -d -a to allow all arp entries for
a given interface to be removed.
2006-01-10 05:17:16 +00:00
glebius
cfbe2fd3f7 Add a knob to suppress logging of attempts to modify
permanent ARP entries.

Submitted by:	Andrew Alcheyev <buddy telenet.ru>
2005-12-18 19:11:56 +00:00
ru
f6e0fe2653 Improve the documentation of "proxyall" knob, somewhat: we do not
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.
2005-11-24 13:44:42 +00:00
glebius
83acb8a84c Some fixes for last commit.
Submitted by:	ru
2005-11-11 09:31:23 +00:00
glebius
d654293ebd - Document last change to ARP behavior.
- Document several undocumented sysctl variables.
- Fix spelling of few diagnostics.
2005-11-10 11:35:53 +00:00
thompsa
2e1794dfe5 List IFT_BRIDGE as a valid type so that arp entries can be properly deleted.
Submitted by:	Michal Mertl <mime^traveller.cz>
2005-11-03 00:56:43 +00:00
ru
e8d7a14e23 Commit some cosmetic fixes I developed some time ago, mostly style but
one functional change (fixed exit status from the "get" operation).
2005-06-09 15:27:46 +00:00
glebius
9eaca7f4b5 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
2005-06-09 15:00:31 +00:00
maxim
688ee30636 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.
2005-01-24 17:01:48 +00:00
maxim
85237d203b 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
2005-01-24 13:27:24 +00:00
ru
1f0b9e958a For VLAN interfaces, print MAC addresses properly.
(Broken in rev. 1.52.)

PR:		75471
Submitted by:	Jon Simola
MFC after:	3 days
2004-12-24 22:16:38 +00:00
imp
9c9b6e3045 Per letter dated July 22, 1999, delete clause 3 from code directly
from Berkeley.
2004-08-07 04:19:37 +00:00
ru
6294018a20 Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
bms
77e7007644 mdoc(7) police
Submitted by:	ru
2004-06-16 07:03:54 +00:00
bms
bb7d871dd0 Document the behaviour of the net.link.ether.inet.proxyall sysctl MIB
variable.

PR:		docs/21826
Reviewed by:	ru
Requested by:	Bernd Luevelsmeyer
2004-06-16 06:16:29 +00:00
dfr
f670e3d9a8 Be smarter about printing non-ethernet link-level addresses. 2004-06-13 10:57:10 +00:00
stefanf
d7af95e868 Avoid assignments to cast expressions.
Reviewed by:	md5
Approved by:	das (mentor)
2004-06-08 13:08:19 +00:00
luigi
7a125692f3 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
d4f4d3d662 Back out previous commit, it was unintentional.
Keep WARNS at 3 though the code does compile with WARNS=5 at least on i386

Noticed by: ru
2004-04-13 11:45:28 +00:00
luigi
ce58934c26 Replace ROUNDUP/ADVANCE with SA_SIZE 2004-04-13 11:24:43 +00:00
luigi
1321dcb1f2 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
mux
c13d7ea5a0 - 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
bms
672a34781c mdoc(7) cleanups (use .Va, not .Dv, for sysctls.)
Reviewed by:	ru
2003-10-03 07:48:56 +00:00
bms
76f31b1f55 mdoc(7) cleanup: Break up sentences so that they start on new lines. 2003-10-03 01:20:33 +00:00
bms
5daeffef76 Point out the existence of net.link.ether.inet.log_arp_movements.
Add sysctl(8) to the list of cross-referenced manual pages.
2003-10-03 01:18:21 +00:00
bms
15fe99c2f8 Update arp(4) to document the 'arp: foo is on if0 but got reply from
bar on if1' message.

PR:		bin/48489
Requested by:	ru
2003-10-03 01:15:40 +00:00
yar
e91a5a8a8f 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
obrien
7293a24a2b Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
obrien
a920d12f89 style.Makefile(5) 2003-04-04 17:49:21 +00:00
ru
45fb378af9 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
ru
4a0e0ebdff Don't hide global `s'. 2003-01-17 08:10:43 +00:00