Lines Matching refs:mtu

167 	u32 mtu;  in ip6_xmit()  local
223 mtu = dst_mtu(dst); in ip6_xmit()
224 if ((skb->len <= mtu) || skb->ignore_df || skb_is_gso(skb)) { in ip6_xmit()
232 ipv6_local_error(sk, EMSGSIZE, fl6, mtu); in ip6_xmit()
328 unsigned int mtu; in ip6_dst_mtu_forward() local
332 mtu = dst_metric_raw(dst, RTAX_MTU); in ip6_dst_mtu_forward()
333 if (mtu) in ip6_dst_mtu_forward()
334 return mtu; in ip6_dst_mtu_forward()
337 mtu = IPV6_MIN_MTU; in ip6_dst_mtu_forward()
341 mtu = idev->cnf.mtu6; in ip6_dst_mtu_forward()
344 return mtu; in ip6_dst_mtu_forward()
347 static bool ip6_pkt_too_big(const struct sk_buff *skb, unsigned int mtu) in ip6_pkt_too_big() argument
349 if (skb->len <= mtu) in ip6_pkt_too_big()
353 if (IP6CB(skb)->frag_max_size && IP6CB(skb)->frag_max_size > mtu) in ip6_pkt_too_big()
359 if (skb_is_gso(skb) && skb_gso_network_seglen(skb) <= mtu) in ip6_pkt_too_big()
371 u32 mtu; in ip6_forward() local
488 mtu = ip6_dst_mtu_forward(dst); in ip6_forward()
489 if (mtu < IPV6_MIN_MTU) in ip6_forward()
490 mtu = IPV6_MIN_MTU; in ip6_forward()
492 if (ip6_pkt_too_big(skb, mtu)) { in ip6_forward()
495 icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); in ip6_forward()
555 unsigned int mtu, hlen, left, len; in ip6_fragment() local
565 mtu = ip6_skb_dst_mtu(skb); in ip6_fragment()
570 if (unlikely(!skb->ignore_df && skb->len > mtu) || in ip6_fragment()
572 IP6CB(skb)->frag_max_size > mtu)) { in ip6_fragment()
577 icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); in ip6_fragment()
584 if (np && np->frag_size < mtu) { in ip6_fragment()
586 mtu = np->frag_size; in ip6_fragment()
588 mtu -= hlen + sizeof(struct frag_hdr); in ip6_fragment()
594 if (first_len - hlen > mtu || in ip6_fragment()
601 if (frag->len > mtu || in ip6_fragment()
737 if (len > mtu) in ip6_fragment()
738 len = mtu; in ip6_fragment()
1069 int transhdrlen, int mtu, unsigned int flags, in ip6_ufo_append_data() argument
1113 skb_shinfo(skb)->gso_size = (mtu - fragheaderlen - in ip6_ufo_append_data()
1136 static void ip6_append_data_mtu(unsigned int *mtu, in ip6_append_data_mtu() argument
1146 *mtu = orig_mtu - rt->dst.header_len; in ip6_append_data_mtu()
1153 *mtu = orig_mtu; in ip6_append_data_mtu()
1155 *maxfraglen = ((*mtu - fragheaderlen) & ~7) in ip6_append_data_mtu()
1166 unsigned int mtu; in ip6_setup_cork() local
1211 mtu = np->pmtudisc >= IPV6_PMTUDISC_PROBE ? in ip6_setup_cork()
1212 rt->dst.dev->mtu : dst_mtu(&rt->dst); in ip6_setup_cork()
1214 mtu = np->pmtudisc >= IPV6_PMTUDISC_PROBE ? in ip6_setup_cork()
1215 rt->dst.dev->mtu : dst_mtu(rt->dst.path); in ip6_setup_cork()
1216 if (np->frag_size < mtu) { in ip6_setup_cork()
1218 mtu = np->frag_size; in ip6_setup_cork()
1220 cork->base.fragsize = mtu; in ip6_setup_cork()
1240 unsigned int maxfraglen, fragheaderlen, mtu, orig_mtu; in __ip6_append_data() local
1259 mtu = cork->fragsize; in __ip6_append_data()
1260 orig_mtu = mtu; in __ip6_append_data()
1266 maxfraglen = ((mtu - fragheaderlen) & ~7) + fragheaderlen - in __ip6_append_data()
1269 if (mtu <= sizeof(struct ipv6hdr) + IPV6_MAXPLEN) { in __ip6_append_data()
1281 maxnonfragsize = mtu; in __ip6_append_data()
1284 if ((cork->length + length > mtu - headersize) && dontfrag && in __ip6_append_data()
1287 ipv6_local_rxpmtu(sk, fl6, mtu - headersize + in __ip6_append_data()
1295 mtu - headersize + in __ip6_append_data()
1314 length + fragheaderlen < mtu && in __ip6_append_data()
1335 if (((length > mtu) || in __ip6_append_data()
1342 transhdrlen, mtu, flags, rt); in __ip6_append_data()
1353 copy = (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - skb->len; in __ip6_append_data()
1371 ip6_append_data_mtu(&mtu, &maxfraglen, in __ip6_append_data()
1383 …if (datalen > (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - fraghe… in __ip6_append_data()
1387 alloclen = mtu; in __ip6_append_data()