Commit Graph

470 Commits

Author SHA1 Message Date
christos
21c3ca2d5c use sysctl to print multicast addresses 2016-07-14 18:19:11 +00:00
christos
143eb5c5cf fix sysctl based interface printing, and annotate where we should add the
missing multicast printing code.
2016-07-13 22:01:12 +00:00
christos
543b506e7c Use sysctl for interface printing (-i), leave on for multicast address printing
(-ia) and comment in the code where this is missing?
XXX: should that be an ioctl or sysctl? provide getifmultiaddrs() via the
routing socket? I guess since this is just for netstat a simple sysctl or
ioctl would suffice. I lean towards sysctl.
2016-07-13 21:57:01 +00:00
ozaki-r
278a4a7caa Remove duplicate routing flag list
We alreay have it in route(8) and shouldn't have another one.
(Actually the removed list is forgot to be updated.)
2016-05-12 03:44:11 +00:00
ozaki-r
09973b35ac Separate nexthop caches from the routing table
By this change, nexthop caches (IP-MAC address pair) are not stored
in the routing table anymore. Instead nexthop caches are stored in
each network interface; we already have lltable/llentry data structure
for this purpose. This change also obsoletes the concept of cloning/cloned
routes. Cloned routes no longer exist while cloning routes still exist
with renamed to connected routes.

Noticeable changes are:
- Nexthop caches aren't listed in route show/netstat -r
  - sysctl(NET_RT_DUMP) doesn't return them
  - If RTF_LLDATA is specified, it returns nexthop caches
- Several definitions of routing flags and messages are removed
  - RTF_CLONING, RTF_XRESOLVE, RTF_LLINFO, RTF_CLONED and RTM_RESOLVE
- RTF_CONNECTED is added
  - It has the same value of RTF_CLONING for backward compatibility
- route's -xresolve, -[no]cloned and -llinfo options are removed
  - -[no]cloning remains because it seems there are users
  - -[no]connected is introduced and recommended
    to be used instead of -[no]cloning
- route show/netstat -r drops some flags
  - 'L' and 'c' are not seen anymore
  - 'C' now indicates a connected route
- Gateway value of a route of an interface address is now not
  a L2 address but "link#N" like a connected (cloning) route
- Proxy ARP: "arp -s ... pub" doesn't create a route

You can know details of behavior changes by seeing diffs under tests/.

Proposed on tech-net and tech-kern:
  http://mail-index.netbsd.org/tech-net/2016/03/11/msg005701.html
2016-04-04 07:37:07 +00:00
christos
bad095e351 PR/50872: David Binderman: Use logical and instead of arithmetic 2016-02-29 18:21:15 +00:00
christos
bfc1db599b PR/50873: David Binderman: use logical or instead of arithmetic 2016-02-29 18:19:46 +00:00
mrg
5f8222cdb9 query the window size and use it instead of assuming 24 lines.
now the header isn't re-printed a lot of times in tall windows.
2015-09-20 00:30:04 +00:00
christos
8d365aaee5 revert previous, will fix differently. 2015-07-28 19:46:42 +00:00
christos
9495115b2a fix build (stdbool lossage) 2015-07-28 19:32:07 +00:00
christos
ff53269704 fix some error handling. 2015-06-16 22:54:10 +00:00
joerg
fc207b9190 Format-string related warnings work fine now with both GCC 4.8 and
Clang.
2015-06-06 13:48:37 +00:00
joerg
d88f290a56 Drop assignment from uninitialized and otherwise unused variable. 2015-06-06 13:08:31 +00:00
manu
cbae0e6269 Make sure netstat builds with -DSMALL
src/usr.bin/netstat relies on code from src/sbin/route. WHen building
with -DSMALL, some functions such as mpls_ntoa() or p_rtrmx() are not
built in src/sbin/route. We therefore have to make sure they are not
used in src/usr.bin/netstat.
2015-05-25 03:56:20 +00:00
ozaki-r
6011d36bd6 Fix rump.{netstat,route} shows host's interface names in link local addresses
Interface names of IPv6 link local addresses are resolved
by getnameinfo(3). So we need to rump-ify it as well as
if_indextoname and getifaddrs.
2015-05-15 06:58:59 +00:00
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
81601736f6 Document RTF_LOCAL 2015-02-26 09:58:12 +00:00
christos
3934378a65 Allocate the right size for pcb blocks.
XXX: pullup-7!
2015-02-08 15:09:45 +00:00
christos
b0698f50d1 print the timer flags. 2015-02-07 19:36:06 +00:00
christos
f8128537a0 adjust to the netname4 prototype. 2015-01-07 22:43:01 +00:00
christos
df51b41a7f PR/47704: Takahiro HAYASHI: Fix -L flag 2014-11-12 03:34:59 +00:00
christos
e2c137d286 fix A,v,T with route display. 2014-11-07 12:42:27 +00:00
christos
34cb342199 use the common code from route.c 2014-11-06 21:30:09 +00:00
wiz
9ff8e27788 Give flag argument in description. Add two articles. 2014-10-11 09:23:32 +00:00
enami
2858bdfe72 - Explicitly describe that kvm(3) is used when -M/-N option is used since
nowadays sysctl(3) is the default information retrieval method.
- Fix description about default value for -N; it is no longer a single value
  these days, so just say see kvm_openfiles(3) rahter than repeating
  several lines description here.
2014-10-11 06:25:32 +00:00
enami
7bed5ae0f8 As described in kvm_openfiles(3), default core file is not /dev/kmem
but /dev/mem.  Actually, passing /dev/kmem to -M doesn't work.
2014-10-09 23:52:47 +00:00
enami
e36fe94f89 Fix a bug introduced in rev. 1.62; it fails to negate (a && b). 2014-10-09 23:45:47 +00:00
dholland
0858ed9253 Fix snprintf usage; from Henning Petersen in PR 47976. 2014-07-27 04:26:23 +00:00
rmind
2286cc983b netstat(1) and ifmcstat(8): ifnet was renamed to ifnet_list, PR/48850. 2014-05-30 01:44:21 +00:00
christos
12014f31d7 use the same for the route metrics part, both in the sysctl and kmem paths.
From Takahiro HAYASHI
2014-04-28 15:41:15 +00:00
christos
a2dd64f9b4 The sysctl code does not support verbose route printing that prints the
internal route statistics. Restore the old kmem route printing code that
was not just used for post-mortem displays. Reported by kardel@, test by
netstat -nrvf inet
2014-04-24 14:56:29 +00:00
christos
7cdbcec7f5 un __P 2014-04-24 14:54:51 +00:00
christos
30107bf0d8 Update for new pcb tailq's.
While here fix ipv6 pcb printing by making tcp6_dump with tcp.
XXX: Merge the inet and the inet6 code. It is silly to need to specify
-p tcp6 to print a tcp6 pcb, we already know what it is.
2013-11-23 22:01:12 +00:00
christos
04908d82dd use correct function and symbolic constants 2013-10-19 15:56:05 +00:00
christos
35be7e66a7 use new scopeid functions 2013-10-19 00:28:38 +00:00
bad
87c60cd65e Make the -f option accept multiple address families.
Bump man page date.
2013-10-18 22:18:14 +00:00
christos
15a5bba97c - avoid pointer gymnastics
- remove unused variables
2013-10-18 20:26:45 +00:00
martin
a4110c4cbe Not all pointers are 64bit - use uintptr_t instead of uint64_t. 2013-06-20 10:43:18 +00:00
christos
08c3d981c5 Don't use -P as a kmem printer, verify that the address points to a pcb first! 2013-06-19 21:12:03 +00:00
christos
7ed35ab90d PR/47744: Frank Kardel: netstat -s stops output prematurely when ipsec is not
compiled.
If the first sysctl fails return silently.
XXX: pullup-6
2013-04-15 21:20:39 +00:00
joerg
e240adbd0b Retire OSI network stack. OK core@ 2013-03-01 18:25:13 +00:00
joerg
438eb8acb3 Use sysctl based code netstat -r. Remove support for post-mortem
analysis.
2013-01-28 13:49:08 +00:00
msaitoh
fd52732c92 Fix memory leak. 2012-12-14 08:15:44 +00:00
msaitoh
79efc68e80 Add -t flag. 2012-10-19 20:46:06 +00:00
msaitoh
c370a471ff Add note about -l option. Fixes PR#47085 reported by Julian Fagir. 2012-10-19 20:43:31 +00:00
msaitoh
fe467d4df9 Line up total numbers again (for -b case and -X case). 2012-10-19 19:50:19 +00:00
pgoyette
000a3dc38f Sort -h option properly (not between -I and -i)
XXX Should the date be updated?
2012-09-25 14:16:27 +00:00
drochner
364a06bb29 remove KAME IPSEC, replaced by FAST_IPSEC 2012-03-22 20:34:37 +00:00
matt
d34c2845b8 Use C89 function definitions 2012-03-20 20:34:57 +00:00
christos
0cdb0b2663 PR/44889: Yamamoto Takashi: netstat -d option is broken (from Elad) 2012-02-12 19:11:33 +00:00