Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_subr.c
Show First 20 Lines • Show All 2,859 Lines • ▼ Show 20 Lines | tcp_maxmtu6(struct in_conninfo *inc, struct tcp_ifcap *cap) | ||||
struct nhop6_extended nh6; | struct nhop6_extended nh6; | ||||
struct in6_addr dst6; | struct in6_addr dst6; | ||||
uint32_t scopeid; | uint32_t scopeid; | ||||
struct ifnet *ifp; | struct ifnet *ifp; | ||||
uint32_t maxmtu = 0; | uint32_t maxmtu = 0; | ||||
KASSERT(inc != NULL, ("tcp_maxmtu6 with NULL in_conninfo pointer")); | KASSERT(inc != NULL, ("tcp_maxmtu6 with NULL in_conninfo pointer")); | ||||
if (inc->inc_flags & INC_IPV6MINMTU) | |||||
return (IPV6_MMTU); | |||||
if (!IN6_IS_ADDR_UNSPECIFIED(&inc->inc6_faddr)) { | if (!IN6_IS_ADDR_UNSPECIFIED(&inc->inc6_faddr)) { | ||||
in6_splitscope(&inc->inc6_faddr, &dst6, &scopeid); | in6_splitscope(&inc->inc6_faddr, &dst6, &scopeid); | ||||
if (fib6_lookup_nh_ext(inc->inc_fibnum, &dst6, scopeid, 0, | if (fib6_lookup_nh_ext(inc->inc_fibnum, &dst6, scopeid, 0, | ||||
0, &nh6) != 0) | 0, &nh6) != 0) | ||||
return (0); | return (0); | ||||
ifp = nh6.nh_ifp; | ifp = nh6.nh_ifp; | ||||
maxmtu = nh6.nh_mtu; | maxmtu = nh6.nh_mtu; | ||||
▲ Show 20 Lines • Show All 375 Lines • Show Last 20 Lines |