/kernel/linux/linux-5.10/net/ipv4/ |
H A D | ip_output.c | 970 struct inet_cork *cork, in __ip_append_data() 981 struct ip_options *opt = cork->opt; in __ip_append_data() 990 struct rtable *rt = (struct rtable *)cork->dst; in __ip_append_data() 998 mtu = cork->gso_size ? IP_MAX_MTU : cork->fragsize; in __ip_append_data() 999 paged = !!cork->gso_size; in __ip_append_data() 1001 if (cork->tx_flags & SKBTX_ANY_SW_TSTAMP && in __ip_append_data() 1011 if (cork->length + length > maxnonfragsize - fragheaderlen) { in __ip_append_data() 1024 (!(flags & MSG_MORE) || cork->gso_size) && in __ip_append_data() 1042 cork in __ip_append_data() 967 __ip_append_data(struct sock *sk, struct flowi4 *fl4, struct sk_buff_head *queue, struct inet_cork *cork, struct page_frag *pfrag, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, unsigned int flags) __ip_append_data() argument 1253 ip_setup_cork(struct sock *sk, struct inet_cork *cork, struct ipcm_cookie *ipc, struct rtable **rtp) ip_setup_cork() argument 1347 struct inet_cork *cork; ip_append_page() local 1470 ip_cork_release(struct inet_cork *cork) ip_cork_release() argument 1483 __ip_make_skb(struct sock *sk, struct flowi4 *fl4, struct sk_buff_head *queue, struct inet_cork *cork) __ip_make_skb() argument 1616 __ip_flush_pending_frames(struct sock *sk, struct sk_buff_head *queue, struct inet_cork *cork) __ip_flush_pending_frames() argument 1633 ip_make_skb(struct sock *sk, struct flowi4 *fl4, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, struct ipcm_cookie *ipc, struct rtable **rtp, struct inet_cork *cork, unsigned int flags) ip_make_skb() argument [all...] |
H A D | tcp_bpf.c | 320 bool cork = false, enospc = sk_msg_full(msg); in tcp_bpf_send_verdict() local 341 if (!psock->cork) { in tcp_bpf_send_verdict() 342 psock->cork = kzalloc(sizeof(*psock->cork), in tcp_bpf_send_verdict() 344 if (!psock->cork) in tcp_bpf_send_verdict() 347 memcpy(psock->cork, msg, sizeof(*msg)); in tcp_bpf_send_verdict() 374 if (psock->cork) { in tcp_bpf_send_verdict() 375 cork = true; in tcp_bpf_send_verdict() 376 psock->cork = NULL; in tcp_bpf_send_verdict() 392 if (!cork) in tcp_bpf_send_verdict() [all...] |
H A D | udp.c | 898 struct inet_cork *cork) in udp_send_skb() 919 if (cork->gso_size) { in udp_send_skb() 923 if (hlen + cork->gso_size > cork->fragsize) { in udp_send_skb() 927 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_send_skb() 941 if (datalen > cork->gso_size) { in udp_send_skb() 942 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_send_skb() 945 cork->gso_size); in udp_send_skb() 994 struct flowi4 *fl4 = &inet->cork.fl.u.ip4; in udp_push_pending_frames() 1002 err = udp_send_skb(skb, fl4, &inet->cork in udp_push_pending_frames() 897 udp_send_skb(struct sk_buff *skb, struct flowi4 *fl4, struct inet_cork *cork) udp_send_skb() argument 1254 struct inet_cork cork; udp_sendmsg() local [all...] |
H A D | datagram.c | 47 fl4 = &inet->cork.fl.u.ip4; in __ip4_datagram_connect()
|
/kernel/linux/linux-6.6/net/ipv4/ |
H A D | ip_output.c | 952 struct inet_cork *cork, in __ip_append_data() 962 struct ip_options *opt = cork->opt; in __ip_append_data() 972 struct rtable *rt = (struct rtable *)cork->dst; in __ip_append_data() 980 mtu = cork->gso_size ? IP_MAX_MTU : cork->fragsize; in __ip_append_data() 981 paged = !!cork->gso_size; in __ip_append_data() 983 if (cork->tx_flags & SKBTX_ANY_TSTAMP && in __ip_append_data() 993 if (cork->length + length > maxnonfragsize - fragheaderlen) { in __ip_append_data() 1006 (!(flags & MSG_MORE) || cork->gso_size) && in __ip_append_data() 1051 cork in __ip_append_data() 949 __ip_append_data(struct sock *sk, struct flowi4 *fl4, struct sk_buff_head *queue, struct inet_cork *cork, struct page_frag *pfrag, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, unsigned int flags) __ip_append_data() argument 1278 ip_setup_cork(struct sock *sk, struct inet_cork *cork, struct ipcm_cookie *ipc, struct rtable **rtp) ip_setup_cork() argument 1365 ip_cork_release(struct inet_cork *cork) ip_cork_release() argument 1378 __ip_make_skb(struct sock *sk, struct flowi4 *fl4, struct sk_buff_head *queue, struct inet_cork *cork) __ip_make_skb() argument 1512 __ip_flush_pending_frames(struct sock *sk, struct sk_buff_head *queue, struct inet_cork *cork) __ip_flush_pending_frames() argument 1529 ip_make_skb(struct sock *sk, struct flowi4 *fl4, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, struct ipcm_cookie *ipc, struct rtable **rtp, struct inet_cork *cork, unsigned int flags) ip_make_skb() argument [all...] |
H A D | tcp_bpf.c | 384 bool cork = false, enospc = sk_msg_full(msg), redir_ingress; in tcp_bpf_send_verdict() local 405 if (!psock->cork) { in tcp_bpf_send_verdict() 406 psock->cork = kzalloc(sizeof(*psock->cork), in tcp_bpf_send_verdict() 408 if (!psock->cork) in tcp_bpf_send_verdict() 411 memcpy(psock->cork, msg, sizeof(*msg)); in tcp_bpf_send_verdict() 439 if (psock->cork) { in tcp_bpf_send_verdict() 440 cork = true; in tcp_bpf_send_verdict() 441 psock->cork = NULL; in tcp_bpf_send_verdict() 458 if (!cork) in tcp_bpf_send_verdict() [all...] |
H A D | udp.c | 887 struct inet_cork *cork) in udp_send_skb() 908 if (cork->gso_size) { in udp_send_skb() 912 if (hlen + cork->gso_size > cork->fragsize) { in udp_send_skb() 916 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_send_skb() 930 if (datalen > cork->gso_size) { in udp_send_skb() 931 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_send_skb() 934 cork->gso_size); in udp_send_skb() 984 struct flowi4 *fl4 = &inet->cork.fl.u.ip4; in udp_push_pending_frames() 992 err = udp_send_skb(skb, fl4, &inet->cork in udp_push_pending_frames() 886 udp_send_skb(struct sk_buff *skb, struct flowi4 *fl4, struct inet_cork *cork) udp_send_skb() argument 1241 struct inet_cork cork; udp_sendmsg() local [all...] |
H A D | datagram.c | 48 fl4 = &inet->cork.fl.u.ip4; in __ip4_datagram_connect()
|
/kernel/linux/linux-6.6/net/ipv6/ |
H A D | ip6_output.c | 1396 static int ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork, in ip6_setup_cork() argument 1407 cork->base.dst = &rt->dst; in ip6_setup_cork() 1454 cork->base.fragsize = mtu; in ip6_setup_cork() 1455 cork->base.gso_size = ipc6->gso_size; in ip6_setup_cork() 1456 cork->base.tx_flags = 0; in ip6_setup_cork() 1457 cork->base.mark = ipc6->sockc.mark; in ip6_setup_cork() 1458 sock_tx_timestamp(sk, ipc6->sockc.tsflags, &cork->base.tx_flags); in ip6_setup_cork() 1461 cork->base.flags |= IPCORK_ALLFRAG; in ip6_setup_cork() 1462 cork->base.length = 0; in ip6_setup_cork() 1464 cork in ip6_setup_cork() 1480 struct inet_cork *cork = &cork_full->base; __ip6_append_data() local 1906 ip6_cork_steal_dst(struct sk_buff *skb, struct inet_cork_full *cork) ip6_cork_steal_dst() argument 1915 ip6_cork_release(struct inet_cork_full *cork, struct inet6_cork *v6_cork) ip6_cork_release() argument 1936 __ip6_make_skb(struct sock *sk, struct sk_buff_head *queue, struct inet_cork_full *cork, struct inet6_cork *v6_cork) __ip6_make_skb() argument 2047 __ip6_flush_pending_frames(struct sock *sk, struct sk_buff_head *queue, struct inet_cork_full *cork, struct inet6_cork *v6_cork) __ip6_flush_pending_frames() argument 2071 ip6_make_skb(struct sock *sk, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, size_t length, int transhdrlen, struct ipcm6_cookie *ipc6, struct rt6_info *rt, unsigned int flags, struct inet_cork_full *cork) ip6_make_skb() argument [all...] |
H A D | udp.c | 1215 struct inet_cork *cork) in udp_v6_send_skb() 1235 if (cork->gso_size) { in udp_v6_send_skb() 1239 if (hlen + cork->gso_size > cork->fragsize) { in udp_v6_send_skb() 1243 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_v6_send_skb() 1257 if (datalen > cork->gso_size) { in udp_v6_send_skb() 1258 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_v6_send_skb() 1261 cork->gso_size); in udp_v6_send_skb() 1312 err = udp_v6_send_skb(skb, &inet_sk(sk)->cork.fl.u.ip6, in udp_v6_push_pending_frames() 1313 &inet_sk(sk)->cork in udp_v6_push_pending_frames() 1214 udp_v6_send_skb(struct sk_buff *skb, struct flowi6 *fl6, struct inet_cork *cork) udp_v6_send_skb() argument 1331 struct inet_cork_full cork; udpv6_sendmsg() local [all...] |
/kernel/linux/linux-5.10/net/ipv6/ |
H A D | ip6_output.c | 1385 static int ip6_setup_cork(struct sock *sk, struct inet_cork_full *cork, in ip6_setup_cork() argument 1431 cork->base.dst = &rt->dst; in ip6_setup_cork() 1432 cork->fl.u.ip6 = *fl6; in ip6_setup_cork() 1445 cork->base.fragsize = mtu; in ip6_setup_cork() 1446 cork->base.gso_size = ipc6->gso_size; in ip6_setup_cork() 1447 cork->base.tx_flags = 0; in ip6_setup_cork() 1448 cork->base.mark = ipc6->sockc.mark; in ip6_setup_cork() 1449 sock_tx_timestamp(sk, ipc6->sockc.tsflags, &cork->base.tx_flags); in ip6_setup_cork() 1452 cork->base.flags |= IPCORK_ALLFRAG; in ip6_setup_cork() 1453 cork in ip6_setup_cork() 1460 __ip6_append_data(struct sock *sk, struct flowi6 *fl6, struct sk_buff_head *queue, struct inet_cork *cork, struct inet6_cork *v6_cork, struct page_frag *pfrag, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, unsigned int flags, struct ipcm6_cookie *ipc6) __ip6_append_data() argument 1848 ip6_cork_release(struct inet_cork_full *cork, struct inet6_cork *v6_cork) ip6_cork_release() argument 1868 __ip6_make_skb(struct sock *sk, struct sk_buff_head *queue, struct inet_cork_full *cork, struct inet6_cork *v6_cork) __ip6_make_skb() argument 1982 __ip6_flush_pending_frames(struct sock *sk, struct sk_buff_head *queue, struct inet_cork_full *cork, struct inet6_cork *v6_cork) __ip6_flush_pending_frames() argument 2006 ip6_make_skb(struct sock *sk, int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb), void *from, int length, int transhdrlen, struct ipcm6_cookie *ipc6, struct flowi6 *fl6, struct rt6_info *rt, unsigned int flags, struct inet_cork_full *cork) ip6_make_skb() argument [all...] |
H A D | udp.c | 1186 struct inet_cork *cork) in udp_v6_send_skb() 1206 if (cork->gso_size) { in udp_v6_send_skb() 1210 if (hlen + cork->gso_size > cork->fragsize) { in udp_v6_send_skb() 1214 if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) { in udp_v6_send_skb() 1228 if (datalen > cork->gso_size) { in udp_v6_send_skb() 1229 skb_shinfo(skb)->gso_size = cork->gso_size; in udp_v6_send_skb() 1232 cork->gso_size); in udp_v6_send_skb() 1280 /* ip6_finish_skb will release the cork, so make a copy of in udp_v6_push_pending_frames() 1283 fl6 = inet_sk(sk)->cork in udp_v6_push_pending_frames() 1185 udp_v6_send_skb(struct sk_buff *skb, struct flowi6 *fl6, struct inet_cork *cork) udp_v6_send_skb() argument 1547 struct inet_cork_full cork; udpv6_sendmsg() local [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | skmsg.h | 91 struct sk_msg *cork; member 335 if (psock->cork) { in sk_psock_cork_free() 336 sk_msg_free(psock->sk, psock->cork); in sk_psock_cork_free() 337 kfree(psock->cork); in sk_psock_cork_free() 338 psock->cork = NULL; in sk_psock_cork_free()
|
H A D | ipv6.h | 291 struct inet6_cork cork; member
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | skmsg.h | 86 struct sk_msg *cork; member 423 if (psock->cork) { in sk_psock_cork_free() 424 sk_msg_free(psock->sk, psock->cork); in sk_psock_cork_free() 425 kfree(psock->cork); in sk_psock_cork_free() 426 psock->cork = NULL; in sk_psock_cork_free()
|
H A D | ipv6.h | 293 struct inet6_cork cork; member
|
/kernel/linux/linux-6.6/net/l2tp/ |
H A D | l2tp_ip.c | 460 fl4 = &inet->cork.fl.u.ip4; in l2tp_ip_sendmsg() 500 rc = ip_queue_xmit(sk, skb, &inet->cork.fl); in l2tp_ip_sendmsg()
|
/kernel/linux/linux-5.10/include/net/ |
H A D | ip.h | 229 struct inet_cork *cork); 238 struct inet_cork *cork, unsigned int flags); 244 return __ip_make_skb(sk, fl4, &sk->sk_write_queue, &inet_sk(sk)->cork.base); in ip_finish_skb()
|
H A D | ipv6.h | 1005 struct inet_cork_full *cork, 1013 struct inet_cork_full *cork); 1017 return __ip6_make_skb(sk, &sk->sk_write_queue, &inet_sk(sk)->cork, in ip6_finish_skb() 1018 &inet6_sk(sk)->cork); in ip6_finish_skb()
|
H A D | inet_sock.h | 206 * @cork - info to build ip hdr on each ip frag while socket is corked 252 struct inet_cork_full cork; member
|
/kernel/linux/linux-6.6/include/net/ |
H A D | ip.h | 228 struct inet_cork *cork); 237 struct inet_cork *cork, unsigned int flags); 243 return __ip_make_skb(sk, fl4, &sk->sk_write_queue, &inet_sk(sk)->cork.base); in ip_finish_skb()
|
H A D | ipv6.h | 1113 struct inet_cork_full *cork, 1121 struct inet_cork_full *cork); 1125 return __ip6_make_skb(sk, &sk->sk_write_queue, &inet_sk(sk)->cork, in ip6_finish_skb() 1126 &inet6_sk(sk)->cork); in ip6_finish_skb()
|
H A D | inet_sock.h | 207 * @cork - info to build ip hdr on each ip frag while socket is corked 243 struct inet_cork_full cork; member
|
/kernel/linux/linux-5.10/net/l2tp/ |
H A D | l2tp_ip.c | 458 fl4 = &inet->cork.fl.u.ip4; in l2tp_ip_sendmsg() 498 rc = ip_queue_xmit(sk, skb, &inet->cork.fl); in l2tp_ip_sendmsg()
|
/kernel/linux/linux-5.10/net/sctp/ |
H A D | outqueue.c | 312 if (!q->cork) in sctp_outq_tail() 758 if (q->cork) in sctp_outq_uncork() 759 q->cork = 0; in sctp_outq_uncork()
|