summaryrefslogtreecommitdiff
path: root/sys/net/route.c
AgeCommit message (Collapse)Author
2004-09-16handle route labels on RTM_CHANGE, ok mcbride, prodded my markus some time agoHenning Brauer
2004-08-09Change static functions to be non-static, for better backtraces.Otto Moerbeek
ok krw@ henning@
2004-08-08Zero route info structure in rtredirect(), avoiding a panic on labelOtto Moerbeek
copy. ok millert@ deraadt@ henning@
2004-08-03introduce route labels, allowing for up to 32 bytes of info to be attachedHenning Brauer
to a route. the label is sent over the routing socket wrapped into a new struct sockaddr_rtlabel, allowing for handling it like any other sockaddr. struct rtentry only contains a (16 bit) label-ID, with the actual labels kept outside the routing table. ID allocator code inspired by my own code for altq and pf tags. mostly hacked at the c2k4 hackathon, markus ok
2004-07-28pool(9) for rtentry and rttimer; similar to netbsd; ok mcbride, henning, pbMarkus Friedl
2004-07-20KASSERT instead of assert. Gives smaller RAMDISKS.Artur Grabowski
2004-06-22Pull the plug on source-based routing until remaining bugs are eradicated.Cedric Berger
No need to reconfig kernel or rebuild userland stuff. requested deraadt@, help beck@
2004-06-21First step towards more sane time handling in the kernel -- this changesThorsten Lockert
things such that code that only need a second-resolution uptime or wall time, and used to get that from time.tv_secs or mono_time.tv_secs now get this from separate time_t globals time_second and time_uptime. ok art@ niklas@ nordin@
2004-06-19require RTF_MPATH to enter a multipath route with RTM_ADD.Cedric Berger
route(8) takes a new -mpath modifier to enter a multipath route. requested deraadt@, ok itojun@ mcbride@ millert@
2004-06-06extend routing table to be able to match and route packets based onCedric Berger
their *source* IP address in addition to their destination address. routing table "destination" now contains a "struct sockaddr_rtin" for IPv4 instead of a "struct sockaddr_in". the routing socket has been extended in a backward-compatible way. todo: PMTU enhancements, IPv6. ok deraadt@ mcbride@
2004-04-25radix tree with multipath support. from kame. deraadt okJun-ichiro itojun Hagino
user visible changes: - you can add multiple routes with same key (route add A B then route add A C) - you have to specify gateway address if there are multiple entries on the table (route delete A B, instead of route delete A) kernel change: - radix_node_head has an extra entry - rnh_deladdr takes extra argument TODO: - actually take advantage of multipath (rtalloc -> rtalloc_mpath)
2003-12-10de-register. deraadt okJun-ichiro itojun Hagino
2003-08-27cut-and-paste error; henricJun-ichiro itojun Hagino
2003-08-26mark cloned route with RTF_CLONED. remove RTF_CLONED route when clone parentJun-ichiro itojun Hagino
disappers. deraadt ok
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-02-12Remove commons; inspired by netbsd.Jason Wright
2002-09-11KNF - return is not a function.Jun-ichiro itojun Hagino
2002-07-11KNF.Artur Grabowski
From Lurene Angela Grenier <lurene@daemonkitty.net>
2002-06-11sprinkle splasserts where function comments tell us to.Artur Grabowski
2002-06-07There is absolutely no need to protect a reference to mono_time.tv_sec with ↵Artur Grabowski
splclock.
2002-05-31revert incorrect rmx_mtu handling in 1.16 and 1.24.Jun-ichiro itojun Hagino
do not try to copy if_mtu to rmx_mtu, as if_mtu can change via SIOCSIFMTU. (as a result, rmx_mtu will be 0 most of the time)
2002-03-14First round of __P removal in sysTodd C. Miller
2002-01-23Pool deals fairly well with physical memory shortage, but it doesn't dealArtur Grabowski
well (not at all) with shortages of the vm_map where the pages are mapped (usually kmem_map). Try to deal with it: - group all information the backend allocator for a pool in a separate struct. The pool will only have a pointer to that struct. - change the pool_init API to reflect that. - link all pools allocating from the same allocator on a linked list. - Since an allocator is responsible to wait for physical memory it will only fail (waitok) when it runs out of its backing vm_map, carefully drain pools using the same allocator so that va space is freed. (see comments in code for caveats and details). - change pool_reclaim to return if it actually succeeded to free some memory, use that information to make draining easier and more efficient. - get rid of PR_URGENT, noone uses it.
2001-12-18NRL license cleaningTheo de Raadt
2001-12-10use queue.h macros for TAILQ operationsJason Wright
2001-07-20make equal() macro to check sa_len match, otherwise we will touchJun-ichiro itojun Hagino
the content of a2 beyond a2->sa_len mistakenly. sync with kame
2001-01-29cleanup rmx_mtu handling (no #ifdef INET6). from netbsd.Jun-ichiro itojun Hagino
(same change is in kame)
2001-01-19pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted).Jun-ichiro itojun Hagino
have sys/net/route.c:rtrequest1(), which takes rt_addrinfo * as the argument. pass rt_addrinfo all the way down to rtrequest, and ifa->ifa_rtrequest. 3rd arg of ifa->ifa_rtrequest is now rt_addrinfo * instead of sockaddr * (almost noone is using it anyways). benefit: the follwoing command now works. previously we need two route(8) invocations, "add" then "change". # route add -inet6 default ::1 -ifp gif0 remove unsafe typecast in rtrequest(), from rtentry * to sockaddr *. it was introduced by 4.3BSD-reno and never corrected. XXX is eon_rtrequest() change correct regarding to 3rd arg? eon_rtrequest() and rtrequest() were incorrect since 4.3BSD-reno, so i do not have correct answer in the source code. someone with more clue about netiso-over-ip, please help.
2000-12-11do not touch region after freeJun-ichiro itojun Hagino
2000-12-09drop support for RTF_TUNNEL, which has no effect (NRL IPv6)Jun-ichiro itojun Hagino
2000-12-09supply counter for # of routing table timer entries.Jun-ichiro itojun Hagino
(preparation for ICMPv6 too big dos prevention) sync with kame
2000-05-21deleting some routes created by imcp redirects could result in panicNiels Provos
fix from NetBSD: Delay clearing of RTF_UP until after deleting rt_gwroute.
2000-03-23New timeout code.Artur Grabowski
2000-03-22remove bogus commentJun-ichiro itojun Hagino
1999-12-08bring in KAME IPv6 code, dated 19991208.Jun-ichiro itojun Hagino
replaces NRL IPv6 layer. reuses NRL pcb layer. no IPsec-on-v6 support. see sys/netinet6/{TODO,IMPLEMENTATION} for more details. GENERIC configuration should work fine as before. GENERIC.v6 works fine as well, but you'll need KAME userland tools to play with IPv6 (will be bringed into soon).
1999-09-13enc0 not encap0Niklas Hallqvist
1999-07-05remove bogus entry from if_enc address list; and rename enc_softc to encifTheo de Raadt
1999-02-25missing ifdef IPSECAngelos D. Keromytis
1999-02-24Work with pfkey instead of pfencapAngelos D. Keromytis
1999-02-05Don't count IPsec-related "route misses", as we're not really findingAngelos D. Keromytis
unreachable hosts/networks.
1999-02-04deal with rts_* members being u_int32_ now; cmetzTheo de Raadt
1999-01-08INET6 support; NRL/cmetzTheo de Raadt
1999-01-07in ifa_ifwithroute(), ensure we have a route to our gateway, for tunnels; cmetzTheo de Raadt
1997-12-31use NULL for pointers, not (cast)(0); clandestine onesMichael Shalayeff
1997-12-31NULL is not 0Michael Shalayeff
1997-09-21Do not report RTM_MISS up on IP encapsulation implicit lookups. This shouldNiklas Hallqvist
fix RARP as well as improving performance. Chances are that it will fix an error having to do with renumbering net interfaces too. Thanks to Angelos and Theo for help with the fix, and Martin and Phil for reassuring it was a general bug.
1997-07-27expiration messages, fixes, updates, all sorts of thingsNiklas Hallqvist
1997-02-20IPSEC package by John Ioannidis and Angelos D. Keromytis. Written inTheo de Raadt
Greece. From ftp.funet.fi:/pub/unix/security/net/ip/BSDipsec.tar.gz
1996-03-03From NetBSD: 960217 mergeNiklas Hallqvist
1995-10-18initial import of NetBSD treeTheo de Raadt