Lines Matching refs:cork

1180 static int ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork,  in ip6_setup_cork()  argument
1226 cork->base.dst = &rt->dst; in ip6_setup_cork()
1227 cork->fl.u.ip6 = *fl6; in ip6_setup_cork()
1240 cork->base.fragsize = mtu; in ip6_setup_cork()
1242 cork->base.flags |= IPCORK_ALLFRAG; in ip6_setup_cork()
1243 cork->base.length = 0; in ip6_setup_cork()
1251 struct inet_cork *cork, in __ip6_append_data() argument
1269 struct rt6_info *rt = (struct rt6_info *)cork->dst; in __ip6_append_data()
1280 mtu = cork->fragsize; in __ip6_append_data()
1296 if (cork->length + length > mtu - headersize && dontfrag && in __ip6_append_data()
1309 if (cork->length + length > maxnonfragsize - headersize) { in __ip6_append_data()
1350 cork->length += length; in __ip6_append_data()
1369 copy = (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - skb->len; in __ip6_append_data()
1399 …if (datalen > (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - fraghe… in __ip6_append_data()
1554 cork->length -= length; in __ip6_append_data()
1577 err = ip6_setup_cork(sk, &inet->cork, &np->cork, hlimit, in ip6_append_data()
1586 fl6 = &inet->cork.fl.u.ip6; in ip6_append_data()
1590 return __ip6_append_data(sk, fl6, &sk->sk_write_queue, &inet->cork.base, in ip6_append_data()
1591 &np->cork, sk_page_frag(sk), getfrag, in ip6_append_data()
1596 static void ip6_cork_release(struct inet_cork_full *cork, in ip6_cork_release() argument
1608 if (cork->base.dst) { in ip6_cork_release()
1609 dst_release(cork->base.dst); in ip6_cork_release()
1610 cork->base.dst = NULL; in ip6_cork_release()
1611 cork->base.flags &= ~IPCORK_ALLFRAG; in ip6_cork_release()
1613 memset(&cork->fl, 0, sizeof(cork->fl)); in ip6_cork_release()
1618 struct inet_cork_full *cork, in __ip6_make_skb() argument
1628 struct rt6_info *rt = (struct rt6_info *)cork->base.dst; in __ip6_make_skb()
1629 struct flowi6 *fl6 = &cork->fl.u.ip6; in __ip6_make_skb()
1685 ip6_cork_release(cork, v6_cork); in __ip6_make_skb()
1722 struct inet_cork_full *cork, in __ip6_flush_pending_frames() argument
1734 ip6_cork_release(cork, v6_cork); in __ip6_flush_pending_frames()
1740 &inet_sk(sk)->cork, &inet6_sk(sk)->cork); in ip6_flush_pending_frames()
1753 struct inet_cork_full cork; in ip6_make_skb() local
1764 cork.base.flags = 0; in ip6_make_skb()
1765 cork.base.addr = 0; in ip6_make_skb()
1766 cork.base.opt = NULL; in ip6_make_skb()
1768 err = ip6_setup_cork(sk, &cork, &v6_cork, hlimit, tclass, opt, rt, fl6); in ip6_make_skb()
1775 err = __ip6_append_data(sk, fl6, &queue, &cork.base, &v6_cork, in ip6_make_skb()
1780 __ip6_flush_pending_frames(sk, &queue, &cork, &v6_cork); in ip6_make_skb()
1784 return __ip6_make_skb(sk, &queue, &cork, &v6_cork); in ip6_make_skb()