freebsd-skq/sys
melifaro c0fd3127f0 Handle IPV6_PATHMTU option by spliting ip6_getpmtu_ctl() from ip6_getpmtu().
Add ro_mtu field to 'struct route' to be able to pass lookup MTU back to
  the caller.

Currently, ip6_getpmtu() has 2 totally different use cases:
1) control plane (IPV6_PATHMTU req), where we just need to calculate MTU
  and return it, w/o any reusability.
2) Actual ip6_output() data path where we (nearly) always use the provided
  route lookup data. If this data is not 'valid' we need to perform another
  lookup and save the result (which cannot be re-used by ip6_output()).

Given that, handle 1) by calling separate function doing rte lookup itself.
  Resulting MTU is calculated by (newly-added) ip6_calcmtu() used by both
  ip6_getpmtu_ctl() and ip6_getpmtu().
For 2) instead of storing ref'ed rte, store mtu (the only needed data
  from the lookup result) inside newly-added ro_mtu field.
  'struct route' was shrinked by 8(or 4 bytes) in r292978. Grow it again
  by 4 bytes. New ro_mtu field will be used in other places like
  ip/tcp_output (EMSGSIZE handling from output routines).

Reviewed by:	ae
2016-01-03 09:54:03 +00:00
..
amd64 Make the 'env' directive described in config(5) work on all architectures, 2016-01-02 02:53:48 +00:00
arm Reword the comment to better describe what I found while researching the 2016-01-02 23:14:52 +00:00
arm64 Fix the arm64 build by adding an all-important '&' to get a pointer. 2016-01-02 21:13:14 +00:00
boot Cast pointer through uintptr_t on the way to uint64_t to squelch a warning. 2016-01-02 22:55:59 +00:00
bsm Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
cam Fix style issues around existing SDT probes. 2015-12-16 23:39:27 +00:00
cddl Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c 2015-12-27 17:33:59 +00:00
compat Handle when filedescriptors are closed before initialized. An early 2015-12-31 14:47:45 +00:00
conf Revert r293070 2016-01-03 08:48:23 +00:00
contrib [rtwn] add rtwn firmware. 2015-12-31 22:31:43 +00:00
crypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
ddb Add helper to catch single step debug event and distinguish it from bkpt 2015-11-27 19:03:59 +00:00
dev Make using the #address-cells property on the interrupt parent in device 2016-01-02 19:28:35 +00:00
fs Hide transient EBADF errors caused by the parallel revoke(2) or forced 2016-01-02 20:29:28 +00:00
gdb
geom Add some additional GPT partition types 2015-12-27 18:12:13 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 Make the 'env' directive described in config(5) work on all architectures, 2016-01-02 02:53:48 +00:00
isa
kern Make the 'env' directive described in config(5) work on all architectures, 2016-01-02 02:53:48 +00:00
kgssapi Unset the gss kernel state when gssd exits 2016-01-01 17:06:16 +00:00
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Make the 'env' directive described in config(5) work on all architectures, 2016-01-02 02:53:48 +00:00
modules 17 years and change after I wrote warp_saver, here's a simple plasma effect 2016-01-01 04:04:40 +00:00
net Handle IPV6_PATHMTU option by spliting ip6_getpmtu_ctl() from ip6_getpmtu(). 2016-01-03 09:54:03 +00:00
net80211 [net80211] document the (not completely complete) set of places where 2016-01-01 00:21:07 +00:00
netgraph - grab ng_btsocket_l2cap_sockets_mtx lock in 2015-12-23 16:32:04 +00:00
netinet Remove second EVENTHANDLER_REGISTER slipped in r292978. 2016-01-01 10:15:06 +00:00
netinet6 Handle IPV6_PATHMTU option by spliting ip6_getpmtu_ctl() from ip6_getpmtu(). 2016-01-03 09:54:03 +00:00
netipsec Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netnatm
netpfil Properly drain callouts in the IPFW subsystem to avoid use after free 2015-12-15 09:02:05 +00:00
netsmb The problem report was for a crash that happened when smbfs was 2015-11-18 23:04:01 +00:00
nfs Add kernel support to the NFS server for the "-manage-gids" 2015-11-30 21:54:27 +00:00
nfsclient
nfsserver
nlm
ofed Implement interface link header precomputation API. 2015-12-31 05:03:27 +00:00
opencrypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
pc98 Add asynchronous command support to the pass(4) driver, and the new 2015-12-03 20:54:55 +00:00
powerpc Fix booting of 32-bit kernels on 64-bit G5 hardware. 2016-01-02 22:04:37 +00:00
riscv/include Import RISC-V machine headers. This is a minimal set required to compile 2015-12-17 18:44:30 +00:00
rpc Improve locking of sg_threadcount. 2015-11-19 08:04:05 +00:00
security Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
sparc64 Make using the #address-cells property on the interrupt parent in device 2016-01-02 19:28:35 +00:00
sys Bump copyright year. 2015-12-31 11:21:45 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Recheck curthread->td_su after the VFS_SYNC() call, and re-sync if the 2015-12-21 11:50:32 +00:00
vm Add missed relpbuf() for a smallfs page-in. 2015-12-27 14:42:39 +00:00
x86 Make the 'env' directive described in config(5) work on all architectures, 2016-01-02 02:53:48 +00:00
xdr
xen Clean up unused-but-set-variable spotted by gcc-4.9. 2015-12-31 01:54:07 +00:00
Makefile