Lines Matching defs:cork

1396 static int ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork,
1407 cork->base.dst = &rt->dst;
1454 cork->base.fragsize = mtu;
1455 cork->base.gso_size = ipc6->gso_size;
1456 cork->base.tx_flags = 0;
1457 cork->base.mark = ipc6->sockc.mark;
1458 sock_tx_timestamp(sk, ipc6->sockc.tsflags, &cork->base.tx_flags);
1461 cork->base.flags |= IPCORK_ALLFRAG;
1462 cork->base.length = 0;
1464 cork->base.transmit_time = ipc6->sockc.transmit_time;
1480 struct inet_cork *cork = &cork_full->base;
1492 struct rt6_info *rt = (struct rt6_info *)cork->dst;
1505 paged = !!cork->gso_size;
1506 mtu = cork->gso_size ? IP6_MAX_MTU : cork->fragsize;
1509 if (cork->tx_flags & SKBTX_ANY_TSTAMP &&
1537 if (cork->length + length > mtu - headersize && ipc6->dontfrag &&
1551 if (cork->length + length > maxnonfragsize - headersize) {
1564 (!(flags & MSG_MORE) || cork->gso_size) &&
1625 cork->length += length;
1631 copy = (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - skb->len;
1662 if (datalen > (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - fragheaderlen)
1766 skb_shinfo(skb)->tx_flags = cork->tx_flags;
1767 cork->tx_flags = 0;
1862 cork->length -= length;
1887 err = ip6_setup_cork(sk, &inet->cork, &np->cork,
1892 inet->cork.fl.u.ip6 = *fl6;
1900 return __ip6_append_data(sk, &sk->sk_write_queue, &inet->cork,
1901 &np->cork, sk_page_frag(sk), getfrag,
1906 static void ip6_cork_steal_dst(struct sk_buff *skb, struct inet_cork_full *cork)
1908 struct dst_entry *dst = cork->base.dst;
1910 cork->base.dst = NULL;
1911 cork->base.flags &= ~IPCORK_ALLFRAG;
1915 static void ip6_cork_release(struct inet_cork_full *cork,
1929 if (cork->base.dst) {
1930 dst_release(cork->base.dst);
1931 cork->base.dst = NULL;
1932 cork->base.flags &= ~IPCORK_ALLFRAG;
1938 struct inet_cork_full *cork,
1948 struct rt6_info *rt = (struct rt6_info *)cork->base.dst;
1949 struct flowi6 *fl6 = &cork->fl.u.ip6;
1994 skb->mark = cork->base.mark;
1995 skb->tstamp = cork->base.transmit_time;
1997 ip6_cork_steal_dst(skb, cork);
2012 ip6_cork_release(cork, v6_cork);
2049 struct inet_cork_full *cork,
2061 ip6_cork_release(cork, v6_cork);
2067 &inet_sk(sk)->cork, &inet6_sk(sk)->cork);
2076 unsigned int flags, struct inet_cork_full *cork)
2090 cork->base.flags = 0;
2091 cork->base.addr = 0;
2092 cork->base.opt = NULL;
2094 err = ip6_setup_cork(sk, cork, &v6_cork, ipc6, rt);
2096 ip6_cork_release(cork, &v6_cork);
2102 err = __ip6_append_data(sk, &queue, cork, &v6_cork,
2107 __ip6_flush_pending_frames(sk, &queue, cork, &v6_cork);
2111 return __ip6_make_skb(sk, &queue, cork, &v6_cork);