Commit Graph

37 Commits

Author SHA1 Message Date
Qing Li
6e6b3f7cbc 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
Kevin Lo
784bddbc5b Cleanup of userland __P use 2007-11-07 10:53:41 +00:00
SUZUKI Shinsuke
5e5792a887 implemented more validation checks about incoming responses per RFC2080, and one additional heuristic check for safer operation.
Obtained from: KAME
MFC after: 1 week
2006-11-16 19:03:03 +00:00
Hajimu UMEMOTO
cd8ce96d58 - need_trigger/idx should be u_int, not ssize_t.
- realloc pedant.
- set sin6_scope_id before sending (link-local/multicast) packets
- removed an incorrect comment
- don't age non-gateway host routes.
- not remove global addresses on loopback interface from routing table
  by route aging.

Obtained from:	KAME
2003-11-14 17:16:50 +00:00
SUZUKI Shinsuke
7a1413f972 fixe remote panic on short packet
Obtained from: KAME
2003-10-31 03:18:45 +00:00
Sam Leffler
d6bb3ab6ff remove unused variable
Supported by:	FreeBSD Foundation
2003-10-03 21:06:17 +00:00
Hajimu UMEMOTO
3b24803f01 rtm_seq is int, so seq/myseq should be int.
Obtained from:	KAME
MFC after:	1 week
2003-08-18 16:20:30 +00:00
Hajimu UMEMOTO
0d30357ff6 suppress outpt on dump request if -q is specified.
Obtained from:	KAME
MFC after:	1 week
2003-08-18 16:15:30 +00:00
Hajimu UMEMOTO
8ecfc219e1 atoi -> strtoul
Obtained from:	KAME
MFC after:	1 week
2003-08-18 16:09:59 +00:00
Hajimu UMEMOTO
c706c1cddc - port numbers are unsigned. use %u.
- %d is not 10 chars, but 12 chars.

Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:58:23 +00:00
Hajimu UMEMOTO
651555cc54 explicitly specify IPPROTO_UDP when calling getaddrinfo().
Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:54:08 +00:00
Hajimu UMEMOTO
16dd7c128d remove a variable that is never used.
Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:47:17 +00:00
Hajimu UMEMOTO
7b01856526 support poll(2).
Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:35:33 +00:00
Hajimu UMEMOTO
ed7ac91c5f - don't select with FD_SETSIZE.
- avoid fd_set overrun.

Obtained from:	KAME
MFC after:	1 week
2003-08-18 15:24:32 +00:00
Hajimu UMEMOTO
b18ac9358c - don't print strerror() if errno == 0 on fatal().
- va_start/end audit.
- can't use vfprintf() twice.  need va_start/end pair every time.

Obtained from:	KAME
MFC after:	1 week
2003-08-17 18:35:56 +00:00
Hajimu UMEMOTO
4776b349ce - do not SEGV on IFF_UP.
- recover rrt_gw setting for non-p2p case.  otherwise, we will not
  be able to recover interface route on interface down -> up
  transition.
- clarify loop exit condition

Obtained from:	KAME
MFC after:	1 week
2003-08-17 18:12:11 +00:00
Hajimu UMEMOTO
6b036f549c do not send dump request on -N
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:51:30 +00:00
Hajimu UMEMOTO
ceb128190f macro pedant
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:47:22 +00:00
Hajimu UMEMOTO
70aff8bf47 minor cleanup; no need for extra variable here
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:40:47 +00:00
Hajimu UMEMOTO
691ab711fb use strchr(3).
Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:34:09 +00:00
Hajimu UMEMOTO
532ba48e39 daemon() has to be called prior to file descriptor setups
(otherwise file descriptors could be closed mistakenly)

Obtained from:	KAME
MFC after:	1 week
2003-08-17 17:29:54 +00:00
Hajimu UMEMOTO
05d7208ae7 knf, typo, space.
Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:26:35 +00:00
Hajimu UMEMOTO
65033d4fcb set IPV6_V6ONLY.
Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:08:56 +00:00
Hajimu UMEMOTO
1dd7cfc46f - die if malloc fails.
- use strlcpy.

Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:07:57 +00:00
Hajimu UMEMOTO
be71e4ad8a use strncpy
Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:06:52 +00:00
Hajimu UMEMOTO
4c4ac8c03d "sin" is a reserved C library function name. use sin6
Obtained from:	KAME
MFC after:	1 week
2003-08-17 16:05:49 +00:00
Andrey A. Chernov
0f77478694 Add missing srand() (sranddev() for FreeBSD) 2003-02-11 02:09:05 +00:00
Jens Schweikhardt
9d5abbddbf Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
Hajimu UMEMOTO
3384154590 Sync with recent KAME.
This work was based on kame-20010528-freebsd43-snap.tgz and some
critical problem after the snap was out were fixed.
There are many many changes since last KAME merge.

TODO:
  - The definitions of SADB_* in sys/net/pfkeyv2.h are still different
    from RFC2407/IANA assignment because of binary compatibility
    issue.  It should be fixed under 5-CURRENT.
  - ip6po_m member of struct ip6_pktopts is no longer used.  But, it
    is still there because of binary compatibility issue.  It should
    be removed under 5-CURRENT.

Reviewed by:	itojun
Obtained from:	KAME
MFC after:	3 weeks
2001-06-11 12:39:29 +00:00
Hajimu UMEMOTO
bcfb36405d - do not check/advertise cloned routes, nor dynamic routes
- cast size_t on printing (be friendly with alpha)

Obtained from:	KAME
2000-11-27 17:44:53 +00:00
Kris Kennaway
f08606a0aa Sync with KAME. Format string auditing and manpage cleanups.
Obtained from:	KAME
Submitted by:	Bill Sommerfeld <sommerfeld@netbsd.org>
2000-10-08 07:43:38 +00:00
Jun-ichiro itojun Hagino
7ec2457fd9 fix LP64 issue in routing socket manipulation.
make behavior of -A safer.
(sync with kame)
2000-08-14 04:54:58 +00:00
Hajimu UMEMOTO
6da1b6ebda removed 'ifndef ADVAPI' parts
Obtained from:	KAME
2000-07-10 18:27:55 +00:00
Jun-ichiro itojun Hagino
20cecd0f50 sync with latest kame tree. more stable, p2p advert is corrected 2000-07-05 02:14:16 +00:00
Yoshinobu Inoue
824e77d792 When unexpected rtmsg was received, route6d was dying.
So change it just to log it.
(Merge from recent KAME bug fix.)

Submitted by: itojun
Obtained from: KAME project
2000-03-14 18:17:55 +00:00
Yoshinobu Inoue
04e8772051 remove redundant ifdef's.
some part is specified by: phantom
2000-01-07 10:02:43 +00:00
Yoshinobu Inoue
7d56d3747c Getaddrinfo(), getnameinfo(), and etc support in libc/net.
Several udp and raw apps IPv6 support.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-28 02:37:14 +00:00