1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/sys/netinet6
Alexander V. Chernikov 7f948f12f6 Finish r274175: do control plane MTU tracking.
Update route MTU in case of ifnet MTU change.
Add new RTF_FIXEDMTU to track explicitly specified MTU.

Old behavior:
ifconfig em0 mtu 1500->9000 -> all routes traversing em0 do not change MTU.
User has to manually update all routes.
ifconfig em0 mtu 9000->1500 -> all routes traversing em0 do not change MTU.
However, if ip[6]_output finds route with rt_mtu > interface mtu, rt_mtu
gets updated.

New behavior:
ifconfig em0 mtu 1500->9000 -> all interface routes in all fibs gets updated
with new MTU unless RTF_FIXEDMTU flag set on them.
ifconfig em0 mtu 9000->1500 -> all routes in all fibs gets updated with new
MTU unless RTF_FIXEDMTU flag set on them AND rt_mtu is less than ifp mtu.

route add ... -mtu XXX automatically sets RTF_FIXEDMTU flag.
route change .. -mtu 0 automatically removes RTF_FIXEDMTU flag.

PR:		194238
MFC after:	1 month
CR:		D1125
2014-11-17 01:05:29 +00:00
..
dest6.c
frag6.c Remove ip6_getdstifaddr() and all functions to work with auxiliary data. 2014-11-08 19:38:34 +00:00
icmp6.c Consistently use if_link. 2014-11-10 15:56:30 +00:00
icmp6.h
in6_cksum.c Fix the checksum computation for UDPLite/IPv6. This requires the 2014-10-02 10:32:24 +00:00
in6_gif.c Remove SYSCTL_VNET_* macros, and simply put CTLFLAG_VNET where needed. 2014-11-07 09:39:05 +00:00
in6_gif.h Overhaul if_gif(4): 2014-10-14 13:31:47 +00:00
in6_ifattach.c Consistently use if_link. 2014-11-10 15:56:30 +00:00
in6_ifattach.h
in6_mcast.c Move ifq drain into in6m_purge(). 2014-10-30 11:34:07 +00:00
in6_pcb.c Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
in6_pcb.h Make in6_pcblookup_hash_locked and in6_pcbladdr static. 2014-09-10 13:17:35 +00:00
in6_pcbgroup.c When it's time to do 4-tuple UDP IPv6 hashing, make sure this is a known 2014-07-20 07:39:54 +00:00
in6_proto.c Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
in6_rmx.c Kill custom in_matroute() radix mathing function removing one rte mutex lock. 2014-11-11 02:52:40 +00:00
in6_src.c For now handle only multicast addresses, we still use routes to 2014-11-10 10:59:08 +00:00
in6_var.h Make checks for rt_mtu generic: 2014-11-06 13:13:09 +00:00
in6.c Remove link-local multicast routes remnants from in6_purgeaddr. 2014-11-10 16:01:31 +00:00
in6.h Kill custom in_matroute() radix mathing function removing one rte mutex lock. 2014-11-11 02:52:40 +00:00
ip6_ecn.h
ip6_forward.c Remove redundant call to ipsec_getpolicybyaddr(). 2014-09-30 13:15:19 +00:00
ip6_gre.c Overhaul if_gre(4). 2014-11-07 19:13:19 +00:00
ip6_id.c
ip6_input.c Remove ip6_getdstifaddr() and all functions to work with auxiliary data. 2014-11-08 19:38:34 +00:00
ip6_ipsec.c We don't return sp pointer, thus NULL assignment isn't needed. 2014-11-12 22:58:52 +00:00
ip6_ipsec.h
ip6_mroute.c When deciding whether to call m_pullup() even though there is adequate 2014-10-12 15:49:52 +00:00
ip6_mroute.h
ip6_output.c Finish r274175: do control plane MTU tracking. 2014-11-17 01:05:29 +00:00
ip6_var.h Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
ip6.h
ip6protosw.h Merge 'struct ip6protosw' and 'struct protosw' into one. Now we have 2014-08-08 01:57:15 +00:00
mld6_var.h
mld6.c Remove SYSCTL_VNET_* macros, and simply put CTLFLAG_VNET where needed. 2014-11-07 09:39:05 +00:00
mld6.h
nd6_nbr.c * Make nd6_dad_duplicated() constant. 2014-11-10 16:01:39 +00:00
nd6_rtr.c
nd6.c Consistently use if_link. 2014-11-10 15:56:30 +00:00
nd6.h * Make nd6_dad_duplicated() constant. 2014-11-10 16:01:39 +00:00
pim6_var.h
pim6.h
raw_ip6.c Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
raw_ip6.h
route6.c
scope6_var.h Add sa6_checkzone_ifp() function. It checks correctness of struct 2014-11-10 16:12:51 +00:00
scope6.c Add sa6_checkzone_ifp() function. It checks correctness of struct 2014-11-10 16:12:51 +00:00
sctp6_usrreq.c Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
sctp6_var.h
send.c
send.h
tcp6_var.h
udp6_usrreq.c Renove faith(4) and faithd(8) from base. It looks like industry 2014-11-09 21:33:01 +00:00
udp6_var.h