Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet6/nd6_rtr.c
Show First 20 Lines • Show All 402 Lines • ▼ Show 20 Lines | if (ndopts.nd_opts_mtu && ndopts.nd_opts_mtu->nd_opt_mtu_len == 1) { | ||||
/* upper bound */ | /* upper bound */ | ||||
maxmtu = (ndi->maxmtu && ndi->maxmtu < ifp->if_mtu) | maxmtu = (ndi->maxmtu && ndi->maxmtu < ifp->if_mtu) | ||||
? ndi->maxmtu : ifp->if_mtu; | ? ndi->maxmtu : ifp->if_mtu; | ||||
if (mtu <= maxmtu) { | if (mtu <= maxmtu) { | ||||
int change = (ndi->linkmtu != mtu); | int change = (ndi->linkmtu != mtu); | ||||
ndi->linkmtu = mtu; | ndi->linkmtu = mtu; | ||||
if (change) /* in6_maxmtu may change */ | if (change) { | ||||
/* in6_maxmtu may change */ | |||||
in6_setmaxmtu(); | in6_setmaxmtu(); | ||||
rt_updatemtu(ifp); | |||||
} | |||||
} else { | } else { | ||||
nd6log((LOG_INFO, "nd6_ra_input: bogus mtu " | nd6log((LOG_INFO, "nd6_ra_input: bogus mtu " | ||||
"mtu=%lu sent from %s; " | "mtu=%lu sent from %s; " | ||||
"exceeds maxmtu %lu, ignoring\n", | "exceeds maxmtu %lu, ignoring\n", | ||||
mtu, ip6_sprintf(ip6bufs, &ip6->ip6_src), maxmtu)); | mtu, ip6_sprintf(ip6bufs, &ip6->ip6_src), maxmtu)); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,985 Lines • Show Last 20 Lines |