Revision tags: vendor/libc++/libc++-release_38-r258549, vendor/clang/clang-release_38-r258549, vendor/llvm/llvm-release_38-r258549, vendor/ntp/4.2.8p6, vendor/bind9/9.9.8-P3, vendor/openssh/7.1p2, vendor/lldb/lldb-release_38-r257836, vendor/libc++/libc++-release_38-r257836, vendor/clang/clang-release_38-r257836, vendor/llvm/llvm-release_38-r257836, vendor/mandoc/20160116 |
|
#
10e0e235 |
| 14-Jan-2016 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Remove now-unused wrappers for various routing functions.
|
Revision tags: vendor/lldb/lldb-trunk-r257626, vendor/lld/lld-trunk-r257626, vendor/libc++/r257626, vendor/compiler-rt/compiler-rt-trunk-r257626, vendor/clang/clang-trunk-r257626, vendor/llvm/llvm-trunk-r257626, vendor/acpica/20160108, vendor/ntp/4.2.8p5, vendor/lldb/lldb-trunk-r256945, vendor/lld/lld-trunk-r256945, vendor/libc++/r256945, vendor/compiler-rt/compiler-rt-trunk-r256945, vendor/clang/clang-trunk-r256945, vendor/llvm/llvm-trunk-r256945, vendor/llvm-libunwind/libunwind-r256779, vendor/less/v481, vendor/lldb/lldb-trunk-r256633, vendor/llvm/llvm-trunk-r256633, vendor/lld/lld-trunk-r256633, vendor/libc++/r256633, vendor/compiler-rt/compiler-rt-trunk-r256633, vendor/clang/clang-trunk-r256633, vendor/clang/clang-release_371-r255217, vendor/llvm/llvm-release_371-r255217, vendor/NetBSD/bmake/20151220 |
|
#
0a03cf8c |
| 22-Dec-2015 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Since r256624 we've been leaking routing table allocations on vnet enabled jail shutdown. Call the provided cleanup routines for IP versions 4 and 6 to plug these leaks.
Sponsored by: The FreeBSD F
Since r256624 we've been leaking routing table allocations on vnet enabled jail shutdown. Call the provided cleanup routines for IP versions 4 and 6 to plug these leaks.
Sponsored by: The FreeBSD Foundation MFC atfer: 2 weeks Reviewed by: gnn Differential Revision: https://reviews.freebsd.org/D4530
show more ...
|
Revision tags: vendor/acpica/20151218, vendor/bind9/9.9.8-P2, vendor/unbound/1.5.7, vendor/unbound/1.5.6, vendor/elftoolchain/elftoolchain-r3272, vendor/openbsm/1.2-ALPHA-4, vendor/NetBSD/bmake/20151201, vendor/openssl/0.9.8zh, vendor/openssl/1.0.1q, vendor/openssl/1.0.2e |
|
#
c00c4e46 |
| 30-Nov-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Remove in_setifarnh definition.
|
#
e8b0643e |
| 30-Nov-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add new rt_foreach_fib_walk_del() function for deleting route entries by filter function instead of picking into routing table details in each consumer. Remove now-unused rt_expunge() (eliminatin
Add new rt_foreach_fib_walk_del() function for deleting route entries by filter function instead of picking into routing table details in each consumer. Remove now-unused rt_expunge() (eliminating last external RTF_RNH_LOCKED user). This simplifies future nexthops/mulitipath changes and rtrequest1_fib() locking refactoring.
Actual changes: Add "rt_chain" field to permit rte grouping while doing batched delete from routing table (thus growing rte 200->208 on amd64). Add "rti_filter" / "rti_filterdata" / "rti_spare" fields to rt_addrinfo to pass filter function to various routing subsystems in standard way. Convert all rt_expunge() customers to new rt_addinfo-based api and eliminate rt_expunge().
show more ...
|
Revision tags: vendor/acpica/20151124, vendor/xz/5.2.2, vendor/tzdata/tzdata2015g, vendor/libucl/20151027, vendor/openssl/1.0.2d, vendor/NetBSD/bmake/20151020, vendor/ntp/4.2.8p4 |
|
#
f221bcaa |
| 17-Oct-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Remove several compat functions from pre-fib era.
|
Revision tags: vendor/wpa/2.5, vendor/subversion/subversion-1.9.2, vendor/dma/0.10, vendor/elftoolchain/elftoolchain-r3250, vendor/unbound/1.5.5, vendor/bind9/9.9.8, vendor/acpica/20150930, vendor/netcat/5.8, vendor/llvm-libunwind/libunwind-r246528, vendor/file/5.25, vendor/unbound/1.5.4, zfs-0.6.5, vendor/libc++/libc++-release_370-r246257, vendor/compiler-rt/compiler-rt-release_370-r246257, vendor/lldb/lldb-release_370-r246257, vendor/clang/clang-release_370-r246257, vendor/llvm/llvm-release_370-r246257, vendor/lldb/lldb-trunk-r242221, vendor/file/5.24, vendor/openssh/7.1p1, vendor/openssh/7.0p1, vendor/acpica/20150818, vendor/pciids/pciids-20150815, vendor/tzdata/tzdata2015f, release/10.2.0, upstream/10.2.0 |
|
#
2caee4be |
| 10-Aug-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Rename rt_foreach_fib() to rt_foreach_fib_walk().
Suggested by: julian
|
Revision tags: vendor/sqlite3/sqlite-3081101, vendor/subversion/subversion-1.8.14, vendor/serf/serf-1.3.8, vendor/apr/apr-1.5.2 |
|
#
d2b5ade3 |
| 08-Aug-2015 |
Marius Strobl <marius@FreeBSD.org> |
Fix compilation after r286458.
|
#
4bdf0b6a |
| 08-Aug-2015 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
MFP r274295:
* Move interface route cleanup to route.c:rt_flushifroutes() * Convert most of "for (fibnum = 0; fibnum < rt_numfibs; fibnum++)" users to use new rt_foreach_fib() instead of hand-roll
MFP r274295:
* Move interface route cleanup to route.c:rt_flushifroutes() * Convert most of "for (fibnum = 0; fibnum < rt_numfibs; fibnum++)" users to use new rt_foreach_fib() instead of hand-rolling cycles.
show more ...
|
Revision tags: vendor/clang/clang-trunk-r242221, vendor/llvm/llvm-trunk-r242221, vendor/bind9/9.9.7-P2, vendor/acpica/20150717, vendor/openssl/1.0.1p, vendor/sendmail/8.15.2, vendor/tcpdump/4.7.4, vendor/clang/clang-trunk-r241361, vendor/llvm/llvm-trunk-r241361, vendor/lldb/lldb-r241361, vendor/openssh/6.9p1, vendor/openssh/6.8p1, vendor/ntp/4.2.8p3, vendor/clang/clang-trunk-r240225, vendor/llvm/llvm-trunk-r240225, vendor/acpica/20150619, vendor/libcxxrt/2015-06-18-e64e93fe5bba67a6d52cbe5a97f8770c054bfa65, vendor/acpica/20150616, vendor/tzdata/tzdata2015e, vendor/openssl/1.0.1o, vendor/openssl/0.9.8zg, vendor/openssl/1.0.1n, vendor/NetBSD/bmake/20150606, vendor/file/5.23, vendor/clang/clang-trunk-r239412, vendor/llvm/llvm-trunk-r239412, vendor/clang/clang-trunk-r238337, vendor/llvm/llvm-trunk-r238337, vendor/elftoolchain/elftoolchain-r3223, vendor/clang/clang-3.6.x, vendor/clang/clang-release_361-r237755, vendor/llvm/llvm-3.6.x, vendor/llvm/llvm-release_361-r237755, vendor/acpica/20150515, vendor/tzdata/tzdata2015d, vendor/tzdata/tzdata2015c, vendor/elftoolchain/elftoolchain-r3197, vendor/ficl/4.1.0, vendor/ficl/3.0.3, vendor/NetBSD/bmake/20150505, vendor/netcat/5.7, vendor/openresolv/3.7.0, vendor/sqlite3/sqlite-3080900, vendor/unbound/1.5.3, vendor/unbound/1.5.2, vendor/NetBSD/bmake/20150418, vendor/wpa/2.4, vendor/acpica/20150410, vendor/nvi/2.1.3, vendor/ntp/4.2.8p2, vendor/acpica/20150408, zfs-0.6.4, vendor/xz/5.2.1, vendor/bind9/9.9.7, vendor/elftoolchain/elftoolchain-r3179, vendor/lld/lld-trunk-r233088, vendor/tzdata/tzdata2015b, vendor/lua/5.3.0, vendor/openssl/0.9.8zf, vendor/openssl/1.0.1m, vendor/mandoc/1.13.3, vendor/tzdata/tzdata2015a, vendor/libucl/20150302, vendor/mandoc/20150302, vendor/device-tree/ian-c8c1b3a7, vendor/clang/clang-release_360-r230434, vendor/llvm/llvm-release_360-r230434, vendor/compiler-rt/compiler-rt-r230183, vendor/clang/clang-release_360-r229772, vendor/llvm/llvm-release_360-r229772, vendor/elftoolchain/elftoolchain-r3163, vendor/clang/clang-release_360-r229040, vendor/llvm/llvm-release_360-r229040, vendor/compiler-rt/compiler-rt-r228651, vendor/lldb/lldb-r228549, vendor/lldb/lldb-r225923, vendor/xz/5.2.0, vendor/ntp/4.2.8p1, vendor/acpica/20150204, vendor/libcxxrt/2014-12-31-1cb607e89f6135bbc10f3d3b6fba1f983e258dcc, vendor/clang/clang-release_360-r227651, vendor/llvm/llvm-release_360-r227651, vendor/clang/clang-release_360-r226102, vendor/llvm/llvm-release_360-r226102, vendor/openssl/0.9.8ze, vendor/openssl/1.0.1l, vendor/clang/clang-release_351-r225668, vendor/llvm/llvm-release_351-r225668, vendor/NetBSD/libedit/2014-01-07, vendor/openssl/0.9.8zd, vendor/openssl/1.0.1k, vendor/libc++/r224926, vendor/compiler-rt/compiler-rt-r224034, vendor/tcpdump/4.6.2, vendor/libpcap/1.6.2, vendor/openssh/6.7p1, vendor/file/5.22, vendor/unbound/1.5.1, vendor/unbound/1.5.0, vendor/elftoolchain/elftoolchain-r3136, vendor/libcxxrt/2014-12-06-00bc29eb6513624824a6d7db2ebc768a4216a604, vendor/mandoc/1.13.2, vendor/elftoolchain/elftoolchain-r3130, vendor/ntp/4.2.8, vendor/bind9/9.9.6-P1, vendor/sendmail/8.15.1, vendor/file/5.21, vendor/tnftp/20141104, vendor/tnftp/20141031, vendor/mandoc/20141201 |
|
#
5d14e4cd |
| 29-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Provide rte_<get|set> methods to access rtentry for external consumers.
|
Revision tags: vendor/libucl/20141129, vendor/lldb/lldb-r216948, vendor/clang/clang-release_350-r216957, vendor/llvm/llvm-release_350-r216957, vendor/sqlite3/sqlite-3080702, vendor/mandoc/1.13.1, vendor/tzdata/tzdata2014j, release/10.1.0, upstream/10.1.0 |
|
#
670e8b3b |
| 11-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Kill custom in_matroute() radix mathing function removing one rte mutex lock.
Initially in_matrote() in_clsroute() in their current state was introduced by r4105 20 years ago. Instead of deleting in
Kill custom in_matroute() radix mathing function removing one rte mutex lock.
Initially in_matrote() in_clsroute() in their current state was introduced by r4105 20 years ago. Instead of deleting inactive routes immediately, we kept them in route table, setting RTPRF_OURS flag and some expire time. After that, either GC came or RTPRF_OURS got removed on first-packet. It was a good solution in that days (and probably another decade after that) to keep TCP metrics. However, after moving metrics to TCP hostcache in r122922, most of in_rmx functionality became unused. It might had been used for flushing icmp-originated routes before rte mutexes/refcounting, but I'm not sure about that.
So it looks like this is nearly impossible to make GC do its work nowadays:
in_rtkill() ignores non-RTPRF_OURS routes. route can only become RTPRF_OURS after dropping last reference via rtfree() which calls in_clsroute(), which, it turn, ignores UP and non-RTF_DYNAMIC routes.
Dynamic routes can still be installed via received redirect, but they have default lifetime (no specific rt_expire) and no one has another trie walker to call RTFREE() on them.
So, the changelist: * remove custom rnh_match / rnh_close matching function. * remove all GC functions * partially revert r256695 (proto3 is no more used inside kernel, it is not possible to use rt_expire from user point of view, proto3 support is not complete) * Finish r241884 (similar to this commit) and remove remaining IPv6 parts
MFC after: 1 month
show more ...
|
Revision tags: vendor/acpica/20141107 |
|
#
f7bab8d0 |
| 10-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Switch route radix to dual-lock model: use rmlock for data patch access, and config rwlock for conrol plane processing. Route table changes require bock locks held.
|
#
55e5eda6 |
| 09-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Separate radix and routing: use different structures for route and for other customers.
Introduce new 'struct rib_head' for routing purposes and make all routing api use it.
|
#
1398ffe5 |
| 08-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Convert most of "for (fibnum = 0; fibnum < rt_numfibs; fibnum++)" users to use new rt_foreach_fib() instead of hand-rolling cycles.
|
#
2c498ee6 |
| 08-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Finish r274290: arg.nextstop / arg.updating are not used anymore.
|
#
9c83df7d |
| 08-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Retire rtq_timeout altering code. This code was initially introduced by r6399 to enhance expiring large number of host cache routes. Since we don't have route cloning anymore and no one altered V_rtq
Retire rtq_timeout altering code. This code was initially introduced by r6399 to enhance expiring large number of host cache routes. Since we don't have route cloning anymore and no one altered V_rtq_toomany default (which is 128) in nearly 20 years, I assume this can be safely deleted.
show more ...
|
#
22b08fd8 |
| 07-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Split radix implementation and system route table structure: use new 'struct radix_head' for radix.
|
#
6df8a710 |
| 07-Nov-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Remove SYSCTL_VNET_* macros, and simply put CTLFLAG_VNET where needed.
Sponsored by: Nginx, Inc.
|
#
930d2a42 |
| 07-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Remove legacy inet lookup functions.
|
Revision tags: vendor/compiler-rt/compiler-rt-r197381 |
|
#
1a75e3b2 |
| 06-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Make checks for rt_mtu generic:
Some virtual if drivers has (ab)used ifa ifa_rtrequest hook to enforce route MTU to be not bigger that interface MTU. While ifa_rtrequest hooking might be an option i
Make checks for rt_mtu generic:
Some virtual if drivers has (ab)used ifa ifa_rtrequest hook to enforce route MTU to be not bigger that interface MTU. While ifa_rtrequest hooking might be an option in some situation, it is not feasible to do MTU checks there: generic (or per-domain) routing code is perfectly capable of doing this.
We currrently have 3 places where MTU is altered:
1) route addition. In this case domain overrides radix _addroute callback (in[6]_addroute) and all necessary checks/fixes are/can be done there.
2) route change (especially, GW change). In this case, there are no explicit per-domain calls, but one can override rte by setting ifa_rtrequest hook to domain handler (inet6 does this).
3) ifconfig ifaceX mtu YYYY In this case, we have no callbacks, but ip[6]_output performes runtime checks and decreases rt_mtu if necessary.
Generally, the goals are to be able to handle all MTU changes in control plane, not in runtime part, and properly deal with increased interface MTU.
This commit changes the following: * removes hooks setting MTU from drivers side * adds proper per-doman MTU checks for case 1) * adds generic MTU check for case 2)
* The latter is done by using new dom_ifmtu callback since if_mtu denotes L3 interface MTU, e.g. maximum trasmitted _packet_ size. However, IPv6 mtu might be different from if_mtu one (e.g. default 1280) for some cases, so we need an abstract way to know maximum MTU size for given interface and domain. * moves rt_setmetrics() before MTU/ifa_rtrequest hooks since it copies user-supplied data which must be checked. * removes RT_LOCK_ASSERT() from other ifa_rtrequest hooks to be able to use this functions on new non-inserted rte.
More changes will follow soon.
MFC after: 1 month Sponsored by: Yandex LLC
show more ...
|
#
9f25cbe4 |
| 05-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Remove old hack abusing domattach from NFS code.
According to IANA RPC uaddr registry, there are no AFs except IPv4 and IPv6, so it's not worth being too abstract here.
Remove ne_rtable[AF_MAX+1] a
Remove old hack abusing domattach from NFS code.
According to IANA RPC uaddr registry, there are no AFs except IPv4 and IPv6, so it's not worth being too abstract here.
Remove ne_rtable[AF_MAX+1] and use explicit per-AF radix tries. Use own initialization without relying on domattach code.
While I admit that this was one of the rare places in kernel networking code which really was capable of doing multi-AF without any AF-depended code, it is not possible anymore to rely on dom* code.
While here, change terrifying "Invalid radix node head, rn:" message, to different non-understandable "netcred already exists for given addr/mask", but less terrifying. Since we know that rn_addaddr() returns NULL if the same record already exists, we should provide more friendly error.
MFC after: 1 month
show more ...
|
#
8c3cfe0b |
| 04-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Hide 'struct rtentry' and all its macro inside new header: net/route_internal.h The goal is to make its opaque for all code except route/rtsock and proto domain _rmx.
|
Revision tags: vendor/atf/atf-0.21, vendor/NetBSD/mtree/20141028, vendor/netcat/5.6, vendor/tzdata/tzdata2014i, vendor/xz/5.0.7, vendor/openssl/0.9.8zc, vendor/openssl/1.0.1j, vendor/byacc/20141006, vendor/byacc/20141005 |
|
#
31f0d081 |
| 01-Oct-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Remove lock init from radix.c. Radix has never managed its locking itself. The only consumer using radix with embeded rwlock is system routing table. Move per-AF lock inits there.
|
Revision tags: vendor/NetBSD/tests/09.30.2014_20.45, vendor/acpica/20140926, vendor/apr-util/apr-util-1.5.4, vendor/openpam/OUROUPARIA, vendor/acpica/20140828, vendor/pjdfstest/abf03c3a47745d4521b0e4aa141317553ca48f91, vendor/NetBSD/libc-vis/20140908, vendor/device-tree/ianc-b78b6b80, vendor/tzdata/tzdata2014f, vendor/sqlite3/sqlite-3080500, vendor/serf/serf-1.3.7, vendor/subversion/subversion-1.8.10, vendor/resolver/9.5.0, vendor/openssl/0.9.8zb, vendor/openssl/1.0.1i, vendor/serf/serf-1.3.6, vendor/libucl/20140718, vendor/libucl/20140716, vendor/byacc/20140715, release/9.3.0, vendor/NetBSD/bmake/20140620, vendor/acpica/20140627, vendor/file/5.19, vendor/tzdata/tzdata2014e, zfs-0.6.3, vendor/openssl/0.9.8za, vendor/openssl/1.0.1h, vendor/apr/apr-1.5.1, vendor/subversion/subversion-1.8.9, vendor/serf/serf-1.3.5, vendor/byacc/20140422, vendor/libucl/20140514, vendor/sendmail/8.14.9, vendor/unbound/1.4.22, vendor/unbound/1.4.21, vendor/ldns/1.6.17, vendor/tzdata/tzdata2014c, vendor/clang/clang-release_34-r208032, vendor/llvm/llvm-release_34-r208032 |
|
#
a32603a5 |
| 03-May-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Fix panic on IPv4 address removal introduced in r265279.
Reported by: Trond Endrestøl MFC with: r265279
|
#
b980262e |
| 03-May-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Pass radix head ptr along with rte to rtexpunge(). Rename rtexpunge to rt_expunge().
|
Revision tags: vendor/acpica/20140424, vendor/byacc/20140409, vendor/libucl/0.4.0, vendor/netcat/5.5, vendor/openssl/1.0.1g, vendor/tzdata/tzdata2014b, vendor/acpica/20140325, vendor/libucl/20140321, vendor/openssh/6.6p1, vendor/tzdata/tzdata2014a, vendor/libucl/20140302 |
|
#
e3a7aa6f |
| 05-Mar-2014 |
Gleb Smirnoff <glebius@FreeBSD.org> |
- Remove rt_metrics_lite and simply put its members into rtentry. - Use counter(9) for rt_pksent (former rt_rmx.rmx_pksent). This removes another cache trashing ++ from packet forwarding path. - Cr
- Remove rt_metrics_lite and simply put its members into rtentry. - Use counter(9) for rt_pksent (former rt_rmx.rmx_pksent). This removes another cache trashing ++ from packet forwarding path. - Create zini/fini methods for the rtentry UMA zone. Via initialize mutex and counter in them. - Fix reporting of rmx_pksent to routing socket. - Fix netstat(1) to report "Use" both in kvm(3) and sysctl(3) mode.
The change is mostly targeted for stable/10 merge. For head, rt_pksent is expected to just disappear.
Discussed with: melifaro Sponsored by: Netflix Sponsored by: Nginx, Inc.
show more ...
|