• Home
  • Raw
  • Download

Lines Matching refs:cork

1235 static int ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork,  in ip6_setup_cork()  argument
1281 cork->base.dst = &rt->dst; in ip6_setup_cork()
1282 cork->fl.u.ip6 = *fl6; in ip6_setup_cork()
1297 cork->base.fragsize = mtu; in ip6_setup_cork()
1298 cork->base.gso_size = ipc6->gso_size; in ip6_setup_cork()
1299 cork->base.tx_flags = 0; in ip6_setup_cork()
1300 cork->base.mark = ipc6->sockc.mark; in ip6_setup_cork()
1301 sock_tx_timestamp(sk, ipc6->sockc.tsflags, &cork->base.tx_flags); in ip6_setup_cork()
1304 cork->base.flags |= IPCORK_ALLFRAG; in ip6_setup_cork()
1305 cork->base.length = 0; in ip6_setup_cork()
1307 cork->base.transmit_time = ipc6->sockc.transmit_time; in ip6_setup_cork()
1315 struct inet_cork *cork, in __ip6_append_data() argument
1333 struct rt6_info *rt = (struct rt6_info *)cork->dst; in __ip6_append_data()
1346 paged = !!cork->gso_size; in __ip6_append_data()
1347 mtu = cork->gso_size ? IP6_MAX_MTU : cork->fragsize; in __ip6_append_data()
1350 if (cork->tx_flags & SKBTX_ANY_SW_TSTAMP && in __ip6_append_data()
1373 if (cork->length + length > mtu - headersize && ipc6->dontfrag && in __ip6_append_data()
1386 if (cork->length + length > maxnonfragsize - headersize) { in __ip6_append_data()
1399 (!(flags & MSG_MORE) || cork->gso_size) && in __ip6_append_data()
1433 cork->length += length; in __ip6_append_data()
1439 copy = (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - skb->len; in __ip6_append_data()
1470 …if (datalen > (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - fraghe… in __ip6_append_data()
1567 skb_shinfo(skb)->tx_flags = cork->tx_flags; in __ip6_append_data()
1568 cork->tx_flags = 0; in __ip6_append_data()
1650 cork->length -= length; in __ip6_append_data()
1674 err = ip6_setup_cork(sk, &inet->cork, &np->cork, in ip6_append_data()
1683 fl6 = &inet->cork.fl.u.ip6; in ip6_append_data()
1687 return __ip6_append_data(sk, fl6, &sk->sk_write_queue, &inet->cork.base, in ip6_append_data()
1688 &np->cork, sk_page_frag(sk), getfrag, in ip6_append_data()
1693 static void ip6_cork_release(struct inet_cork_full *cork, in ip6_cork_release() argument
1705 if (cork->base.dst) { in ip6_cork_release()
1706 dst_release(cork->base.dst); in ip6_cork_release()
1707 cork->base.dst = NULL; in ip6_cork_release()
1708 cork->base.flags &= ~IPCORK_ALLFRAG; in ip6_cork_release()
1710 memset(&cork->fl, 0, sizeof(cork->fl)); in ip6_cork_release()
1715 struct inet_cork_full *cork, in __ip6_make_skb() argument
1725 struct rt6_info *rt = (struct rt6_info *)cork->base.dst; in __ip6_make_skb()
1726 struct flowi6 *fl6 = &cork->fl.u.ip6; in __ip6_make_skb()
1771 skb->mark = cork->base.mark; in __ip6_make_skb()
1773 skb->tstamp = cork->base.transmit_time; in __ip6_make_skb()
1784 ip6_cork_release(cork, v6_cork); in __ip6_make_skb()
1821 struct inet_cork_full *cork, in __ip6_flush_pending_frames() argument
1833 ip6_cork_release(cork, v6_cork); in __ip6_flush_pending_frames()
1839 &inet_sk(sk)->cork, &inet6_sk(sk)->cork); in ip6_flush_pending_frames()
1849 struct inet_cork_full *cork) in ip6_make_skb() argument
1861 cork->base.flags = 0; in ip6_make_skb()
1862 cork->base.addr = 0; in ip6_make_skb()
1863 cork->base.opt = NULL; in ip6_make_skb()
1864 cork->base.dst = NULL; in ip6_make_skb()
1866 err = ip6_setup_cork(sk, cork, &v6_cork, ipc6, rt, fl6); in ip6_make_skb()
1868 ip6_cork_release(cork, &v6_cork); in ip6_make_skb()
1874 err = __ip6_append_data(sk, fl6, &queue, &cork->base, &v6_cork, in ip6_make_skb()
1879 __ip6_flush_pending_frames(sk, &queue, cork, &v6_cork); in ip6_make_skb()
1883 return __ip6_make_skb(sk, &queue, cork, &v6_cork); in ip6_make_skb()