freebsd-skq/sys
glebius 418a04b467 When ip_output()/ip6_output() is supplied a struct route *ro argument,
it skips FLOWTABLE lookup. However, the non-NULL ro has dual meaning
here: it may be supplied to provide route, and it may be supplied to
store and return to caller the route that ip_output()/ip6_output()
finds. In the latter case skipping FLOWTABLE lookup is pessimisation.

The difference between struct route filled by FLOWTABLE and filled
by rtalloc() family is that the former doesn't hold a reference on
its rtentry. Reference is hold by flow entry, and it is about to
be released in future. Thus, route filled by FLOWTABLE shouldn't
be passed to RTFREE() macro.

- Introduce new flag for struct route/route_in6, that marks route
  not holding a reference on rtentry.
- Introduce new macro RO_RTFREE() that cleans up a struct route
  depending on its kind.
- All callers to ip_output()/ip6_output() that do supply non-NULL
  but empty route should use RO_RTFREE() to free results of
  lookup.
- ip_output()/ip6_output() now do FLOWTABLE lookup always when
  ro->ro_rt == NULL.

Tested by:	tuexen (SCTP part)
2012-07-04 07:37:53 +00:00
..
amd64 tws(4) is interfaced with CAM so move it to the same section. 2012-07-01 08:10:49 +00:00
arm Create a pseudo-lint kernel for all at91 SoCs. This kernel will not 2012-07-01 06:56:41 +00:00
boot MFV: Update zlib to 1.2.7. 2012-06-21 21:47:08 +00:00
bsm
cam Add a loader tunable, kern.cam.ctl.disable, that will disable 2012-06-28 19:39:30 +00:00
cddl Expose scrub and resilver tunables. 2012-07-02 07:27:14 +00:00
compat Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
conf Link in the new RX EDMA routines. 2012-07-03 07:01:12 +00:00
contrib MFV: r237650 2012-06-27 16:15:13 +00:00
crypto Add support for the extended FPU states on amd64, both for native 2012-01-21 17:45:27 +00:00
ddb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
dev Add new USB device ID. 2012-07-03 16:32:47 +00:00
fs Fix a typo 2012-07-03 08:03:07 +00:00
gdb Update the ddb and gdb backends for the new 'trace_thread' hook. 2012-04-12 21:34:58 +00:00
geom Make geom_mirror more friendly to SSDs. To properly support TRIM, 2012-07-01 15:43:52 +00:00
gnu/fs Fix build: 2012-05-23 06:49:50 +00:00
i386 Fix XEN build, broken in r237924. 2012-07-02 14:03:19 +00:00
ia64 Make the wchar_t type machine dependent. 2012-06-24 04:15:58 +00:00
isa
kern Fix KASSERT message. 2012-07-03 19:08:02 +00:00
kgssapi
libkern Fix unloading of libiconv module. 2012-06-11 17:42:39 +00:00
mips octeon_uart_class was removed some time ago everywhere but here. 2012-06-28 06:49:04 +00:00
modules Link in the new RX EDMA routines. 2012-07-03 07:01:12 +00:00
net When ip_output()/ip6_output() is supplied a struct route *ro argument, 2012-07-04 07:37:53 +00:00
net80211 Add a check for dynamic OFDM/CCK channel types. 2012-07-01 04:25:49 +00:00
netatalk Fix typos 2012-02-28 15:07:05 +00:00
netgraph Make radix lookup on src and dst flow addresses optional 2012-06-18 13:56:36 +00:00
netinet When ip_output()/ip6_output() is supplied a struct route *ro argument, 2012-07-04 07:37:53 +00:00
netinet6 When ip_output()/ip6_output() is supplied a struct route *ro argument, 2012-07-04 07:37:53 +00:00
netipsec Merge multi-FIB IPv6 support from projects/multi-fibv6/head/: 2012-02-17 02:39:58 +00:00
netipx Convert all users of IF_ADDR_LOCK to use new locking macros that specify 2012-01-05 19:00:36 +00:00
netnatm
netncp Add characters mapping for codepages used in Germany. 2012-06-01 03:59:08 +00:00
netsmb When checking if file descriptor number is valid, explicitely check for 'fd' 2012-06-13 22:12:10 +00:00
nfs Merge multi-FIB IPv6 support from projects/multi-fibv6/head/: 2012-02-17 02:39:58 +00:00
nfsclient PR# 165923 reported intermittent write failures for dirty 2012-05-12 12:02:51 +00:00
nfsserver
nlm jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011 2012-01-31 02:11:05 +00:00
ofed Fix clang warning when compiling iw_cxgb. 2012-06-25 16:52:27 +00:00
opencrypto
pc98 Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
pci intpm: add ATI IXP400 pci id 2012-04-16 10:33:46 +00:00
powerpc Support lbc interrupts: 2012-07-03 00:06:14 +00:00
rpc
security Check vplabel for NULL before dereferencing it. Fixes a panic 2012-05-03 15:51:34 +00:00
sparc64 Switch back to the 4BSD scheduler for now. There is some more or less 2012-06-30 14:55:36 +00:00
sys Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
teken
tools Make vnode_if.awk parse vnode operations with underscores, like VOP_FOO_BAR. 2012-02-21 19:35:59 +00:00
ufs Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
vm Honor db_pager_quit in 'show uma' and 'show malloc'. 2012-07-02 16:14:52 +00:00
x86 Make the wchar_t type machine dependent. 2012-06-24 04:15:58 +00:00
xdr
xen blkif interface comment cleanups. No functional changes 2012-02-29 17:47:01 +00:00
Makefile Add sys/ofed to the 'make cscope' target. 2012-03-20 18:05:15 +00:00