Lines Matching full:mtu

396  * Type of "mtu": rt_mtu is u_long, ifnet.ifr_mtu is int, and nd_ifinfo.linkmtu
419 u_long mtu; in ip6_output() local
660 mtu = 0; in ip6_output()
709 mtu = ifp->if_mtu; in ip6_output()
782 * mtu can be 0 and will be refined later. in ip6_output()
794 if ((error = IPSEC_OUTPUT(ipv6, ifp, m, inp, mtu == 0 ? in ip6_output()
795 ifp->if_mtu : mtu)) != 0) { in ip6_output()
940 /* Determine path MTU. */ in ip6_output()
941 ip6_getpmtu(ro_pmtu, ro != ro_pmtu, ifp, &ip6->ip6_dst, &mtu, fibnum, in ip6_output()
943 KASSERT(mtu > 0, ("%s:%d: mtu %ld, ro_pmtu %p ro %p ifp %p fibnum %u", in ip6_output()
944 __func__, __LINE__, mtu, ro_pmtu, ro, ifp, fibnum)); in ip6_output()
947 * The caller of this function may specify to use the minimum MTU in ip6_output()
949 * An advanced API option (IPV6_USE_MIN_MTU) can also override MTU in ip6_output()
951 * packets will follow path MTU while multicast packets will be sent at in ip6_output()
952 * the minimum MTU. If IP6PO_MINMTU_ALL is specified, all packets in ip6_output()
953 * including unicast ones will be sent at the minimum MTU. Multicast in ip6_output()
954 * packets will always be sent at the minimum MTU unless in ip6_output()
958 if (mtu > IPV6_MMTU) { in ip6_output()
960 mtu = IPV6_MMTU; in ip6_output()
962 mtu = IPV6_MMTU; in ip6_output()
966 mtu = IPV6_MMTU; in ip6_output()
1122 * 1-a: send as is if tlen <= path mtu in ip6_output()
1123 * 1-b: fragment if tlen > path mtu in ip6_output()
1126 * 2-a: send as is if tlen <= interface mtu in ip6_output()
1127 * 2-b: error if tlen > interface mtu in ip6_output()
1153 * packet when the data length is larger than the MTU of the in ip6_output()
1156 * application wanted to know the MTU value. Also return an in ip6_output()
1160 ip6_notify_pmtu(inp, &dst_sa, (u_int32_t)mtu); in ip6_output()
1166 if (dontfrag || tlen <= mtu) { /* Cases 1-a and 2-a. */ in ip6_output()
1183 if (mtu < IPV6_MMTU) { in ip6_output()
1184 /* Path MTU cannot be less than IPV6_MMTU. */ in ip6_output()
1201 if (mtu > IPV6_MAXPACKET) in ip6_output()
1202 mtu = IPV6_MAXPACKET; in ip6_output()
1204 len = (mtu - unfragpartlen - sizeof(struct ip6_frag)) & ~7; in ip6_output()
1448 * Calculates IPv6 path mtu for destination @dst.
1449 * Resulting MTU is stored in @mtup.
1477 * Calculates IPv6 path MTU for @dst based on transmit @ifp,
1479 * MTU from (successful) route lookup is saved (along with dst)
1483 * Stores mtu into @mtup.
1494 u_long mtu; in ip6_getpmtu() local
1498 mtu = 0; in ip6_getpmtu()
1503 * Use ro_pmtu destination since mtu might differ. in ip6_getpmtu()
1521 mtu = nh->nh_mtu; in ip6_getpmtu()
1523 ro_pmtu->ro_mtu = mtu; in ip6_getpmtu()
1526 mtu = ro_pmtu->ro_mtu; in ip6_getpmtu()
1530 mtu = ro_pmtu->ro_nh->nh_mtu; in ip6_getpmtu()
1532 ip6_calcmtu(ifp, dst, mtu, mtup, proto); in ip6_getpmtu()
1536 * Calculate MTU based on transmit @ifp, route mtu @rt_mtu and
1538 * Stores mtu into @mtup.
1544 u_long mtu = 0; in ip6_calcmtu() local
1554 mtu = tcp_hc_getmtu(&inc); in ip6_calcmtu()
1557 if (mtu) in ip6_calcmtu()
1558 mtu = min(mtu, rt_mtu); in ip6_calcmtu()
1560 mtu = rt_mtu; in ip6_calcmtu()
1563 if (mtu == 0) in ip6_calcmtu()
1564 mtu = IN6_LINKMTU(ifp); in ip6_calcmtu()
1566 *mtup = mtu; in ip6_calcmtu()