Commit Graph

202 Commits

Author SHA1 Message Date
uwe a855fb9e85 Fix fallout from 1.129 that converted sou::so_foo from unions to
pointers but missed (char *)&soup->so_foo => (char *)soup->so_foo in
mask_addr().  It worked by luck - unless it didn't: due to pointer
numerology on amd64 route add -net ClassC without explicit /24 prefix
length specification would result into /16 destination instead of /24.
2012-10-04 00:01:48 +00:00
christos 1e5d8920de remove useless rump headers. 2012-08-08 14:04:26 +00:00
christos e101c08658 PR/42179: Christoph Badura: Be a little friendlier about missing args. 2012-03-17 02:13:44 +00:00
christos 76898fae15 Off by one and clarity improvement from Christian Biere 2011-12-26 00:20:43 +00:00
christos 9feffc5f5a PR/45661: Henning Petersen: Overlapping buffer in route.c. 2011-12-24 23:48:17 +00:00
gdt c9bfbf1142 Move RTF_ANNOUNCE flag so that it no longer conflicts with RTF_PROTO2.
RTF_ANNOUNCE was defined as RTF_PROTO2.  The flag is used to indicated
that host should act as a proxy for a link level arp or ndp request.
(If RTF_PROTO2 is used as an experimental flag (as advertised),
various problems can occur.)

This commit provides a first-class definition with its own bit for
RTF_ANNOUNCE, removes the old aliasing definitions, and adds support
for the new RTF_ANNOUNCE flag to netstat(8) and route(8).,

Also, remove unused RTF_ flags that collide with RTF_PROTO1:
  netinet/icmp6.h defined RTF_PROBEMTU as RTF_PROTO1
  netinet/if_inarp.h defined RTF_USETRAILERS as RTF_PROTO1
  (Neither of these flags are used anywhere.  Both have been removed
  to reduce chances of collision with RTF_PROTO1.)

Figuring this out and the diff are the work of Beverly Schwartz of
BBN.

(Passed release build, boot in VM, with no apparently related atf
failures.)

Approved for Public Release, Distribution Unlimited
This material is based upon work supported by the Defense Advanced
Research Projects Agency and Space and Naval Warfare Systems Center,
Pacific, under Contract No. N66001-09-C-2073.
2011-11-11 15:09:32 +00:00
joerg f843de8680 Simplify. 2011-10-07 09:56:15 +00:00
joerg baa8e84b6f Use __dead 2011-08-29 14:34:58 +00:00
dholland 99f3bafa7f prune stray commas 2011-07-17 23:46:53 +00:00
wiz 3fa42aac82 Whitespace nit. 2011-07-03 09:15:20 +00:00
kefren 008758606b Mention -mpls and -tag and xref mpls(4)
bin/45071
2011-07-03 07:20:37 +00:00
joerg 017dd250ef Fix memset usage. 2011-07-01 02:46:24 +00:00
kefren 2715676450 don't compile tag functions if SMALL is defined. Should fix the build 2011-06-22 04:57:28 +00:00
kefren 0c463ade62 Alloc dynamically sockunions in sou.
Teach route(8) about multiple tags. E.G.: -tag 100,20,33
XXX: needs documentation
2011-06-21 14:33:14 +00:00
yamt 26f4e9f9b1 xref link_addr for -link. 2011-06-16 23:35:35 +00:00
martin 82fe9809af Use RT_ROUNDUP() and friends from sys/route.h instead of homegrown
variants.
2011-02-04 14:31:23 +00:00
matt 4d5d6d9aa5 Add a new AF/PF_ROUTE which is 64-bit clean which makes the routing socket
interface (and its associated sysctls) act identically for both 32 and 64 bit
programs.  The old unclean one remains for backward compatibility.
2011-02-01 01:39:19 +00:00
pooka e8de1d91d0 be a happy crunch build 2010-12-13 19:19:10 +00:00
pooka e3d9b779d8 Convert from RUMP_ACTION to RUMPPRG. 2010-12-13 17:39:47 +00:00
roy 50de1251a3 Support the new RTM_IFINFO and RTM_CHGADDR messages. 2010-11-12 16:32:18 +00:00
pooka 7d1c54af24 adapt to new rumpclient_init() signature 2010-11-05 13:52:41 +00:00
pooka b10965b180 #ifdef variable correctly 2010-11-04 23:38:18 +00:00
pooka 243f716534 be consistent in what to leave outside of SMALL 2010-11-04 23:37:27 +00:00
pooka ddce2e059a Support RUMP_ACTION to compile a rump kernel client. 2010-11-04 23:36:10 +00:00
kefren a7449c28c6 add MPLS clue - mpls and tag keywords 2010-06-26 14:29:36 +00:00
kefren c890d3f5e0 Update also keywords.{c,h} generator in order to reflect latest changes. 2010-05-12 19:26:33 +00:00
christos c69676936c PR/40455: Mihai Chelaru: Add noreject noblackhole options 2010-05-12 17:56:13 +00:00
is 000fbf6b41 Add AF_APPLETALK support to getnameinfo(); make "route show" use it.
Doesn't print "ranges" yet (should it be done here?); only numeric
output.
2010-01-26 21:27:54 +00:00
snj 550147bd6a Remove 3rd and 4th clauses in christos' license. OK christos. 2009-10-21 01:07:44 +00:00
lukem be0c43535f fix sign-compare issues 2009-03-17 00:52:47 +00:00
christos b09dc428f4 parse unsigned long with strtoul not atoi 2008-12-28 20:12:31 +00:00
dyoung 6a9236b124 Get the socket addresses for dst/gateway/netmask/interface/ifaddr
out of the global namespace.
2008-09-10 01:56:22 +00:00
dyoung 5e93382467 Don't cast a sockunion * to sockaddr *. Instead, reference the
sockaddr inside of the sockunion.
2008-09-10 01:14:59 +00:00
dyoung 0a77d3df40 Delete superfluous casts to void *. 2008-09-10 01:08:39 +00:00
dyoung f791b67f11 Constify. 2008-09-10 01:06:58 +00:00
dyoung cfe9ef5ba6 Constify. 2008-09-10 01:00:02 +00:00
dyoung 36aee9b2c9 Constify.
For clarity's sake, do not assign a new value to inet_makenetandmask()'s
argument, `inet'.
2008-09-10 00:57:57 +00:00
dyoung f65fccd290 Extract subroutine extract_addrs() for reuse, later.
Replace the anonymous constant, 0, with AF_UNSPEC.
2008-09-09 19:58:46 +00:00
dyoung 081a2b518e Constify. 2008-09-09 16:55:28 +00:00
dyoung 51731102ff Shorten a staircase. Remove superfluous parentheses from return
statements.  Constify.
2008-09-09 16:50:52 +00:00
dyoung acf567a730 Use EXIT_FAILURE instead of anonymous constant '1'. 2008-09-09 16:35:15 +00:00
dyoung c08d63b5ad Use a union and sizeof() to avoid a cast and an anonymous constant
buffer length, respectively.
2008-09-09 16:23:33 +00:00
dyoung a26d1ce8fc Use bool. 2008-09-09 16:18:17 +00:00
lukem 6543a91fea Remove the \n and tabs from the __COPYRIGHT() strings.
(Tweak some to use a consistent format.)
2008-07-20 01:20:21 +00:00
hubertf 6eb43c8c6d TSEL() is const char* now 2007-02-18 01:48:37 +00:00
apb e81d0de4e0 Fix a bug that caused 0.0.0.0/0 to be treated like 0.0.0.0/32.
foo << 32 is undefined per section 6.5.7 of the C99 standard
if foo is (or is promoted to) a 32-bit type.
2006-11-11 21:50:19 +00:00
christos 9b005038ce add missing initializer 2006-10-16 02:55:10 +00:00
pooka 4df78a97d5 print the L flag for routes with llinfo. makes you not wonder why
non-llinfo routes are being printed for route show -llinfo
2006-09-23 23:01:01 +00:00
dyoung 6333e1495e Let us qualify 'route flush' and 'route show' commands with -llinfo
and -host flags, which is useful for displaying/flushing ARP entries:

# route -n show -inet -llinfo -host
Routing table

Internet:
Destination        Gateway            Flags
169.254.1.119      link#1             UH
169.254.230.110    00:02:6f:21:e6:6e  UH
# route -n flush -inet -llinfo -host
169.254.1.119                             done
169.254.230.110      0.2.6f.21.e6.6e      done
169.254.237.70                            done
# route -n show -inet -llinfo -host
Routing table
#

This will help me address bin/11079, "dhclient may require arp and sed".

Extract common code from flushroutes() and show(), creating
parse_show_opts().

While I'm here, make small cosmetic changes to flushroutes().
2006-09-23 22:41:25 +00:00
dyoung 29655a0cbb Move the #ifndef SMALL code together. 2006-09-23 21:55:47 +00:00