Commit Graph

151 Commits

Author SHA1 Message Date
roy
a37502b2b6 Add RTF_BROADCAST to mark routes used for the broadcast address when
they are created on the fly. This makes it clear what the route is for
and allows an optimisation in ip_output() by avoiding a call to
in_broadcast() because most of the time we do talk to a host.
It also avoids a needless allocation for the storage of llinfo_arp and
thus vanishes from arp(8) - it showed as incomplete anyway so this
is a nice side effect.

Guard against this and routes marked with RTF_BLACKHOLE in
ip_fastforward().
While here, guard against routes marked with RTF_BLACKHOLE in
ip6_fastforward().
RTF_BROADCAST is IPv4 only, so don't bother checking that here.
2015-03-23 18:33:17 +00:00
roy
43800a7e73 Teach route(8) about RTF_LOCAL. 2015-02-26 09:56:11 +00:00
prlw1
f44489f8dc MKINET6=no build fixes
http://mail-index.netbsd.org/tech-net/2014/12/13/msg004898.html
2014-12-20 13:15:48 +00:00
roy
62cbe5902e Note that RTM_CHANGE can also change the gateway 2014-12-17 10:56:09 +00:00
christos
2bd97efc9a PR/47704: Takahiro HAYASHI: Add -L flag 2014-11-12 03:34:08 +00:00
christos
74d147444a Now that the code can support tags and verbose route printing, enable them.
Also document previously undocumented flags.
2014-11-07 14:57:08 +00:00
christos
30f4c8e6f6 Factor out the netstat route printing code and use it here. There is no
point in having 2 different copies; fixes PR/49371
2014-11-06 21:29:32 +00:00
christos
740c6aa538 use correct function 2013-10-19 15:59:15 +00:00
christos
730b60ec52 use symbolic flags 2013-10-19 15:50:26 +00:00
christos
f304780793 use scopeid functions 2013-10-19 00:39:39 +00:00
christos
77f96119f9 avoid pointer gymnastics 2013-10-18 21:01:00 +00:00
joerg
e240adbd0b Retire OSI network stack. OK core@ 2013-03-01 18:25:13 +00:00
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
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
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
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
christos
c69676936c PR/40455: Mihai Chelaru: Add noreject noblackhole options 2010-05-12 17:56:13 +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
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
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
dyoung
07474a8f36 Use the symbol AF_UNSPEC instead of 0 as appropriate. 2006-09-23 21:51:05 +00:00