Lines Matching defs:sock

33 #include <net/sock.h>
343 static bool vhost_sock_zcopy(struct socket *sock)
346 sock_flag(sock->sk, SOCK_ZEROCOPY);
349 static bool vhost_sock_xdp(struct socket *sock)
351 return sock_flag(sock->sk, SOCK_XDP);
441 struct socket *sock;
443 sock = vhost_vq_get_backend(vq);
444 if (!sock)
447 return vhost_poll_start(poll, sock->file);
464 struct socket *sock,
479 err = sock->ops->sendmsg(sock, msghdr, 0);
499 static int sock_has_rx_data(struct socket *sock)
501 if (unlikely(!sock))
504 if (sock->ops->peek_len)
505 return sock->ops->peek_len(sock);
507 return skb_queue_empty(&sock->sk->sk_receive_queue);
529 struct socket *sock;
540 sock = vhost_vq_get_backend(rvq);
554 if ((sock_has_rx_data(sock) &&
564 if (poll_rx || sock_has_rx_data(sock))
566 else if (!poll_rx) /* On tx here, sock has no rx data. */
701 struct socket *sock = vhost_vq_get_backend(vq);
707 int headroom = vhost_sock_xdp(sock) ? XDP_PACKET_HEADROOM : 0;
769 static void handle_tx_copy(struct vhost_net *net, struct socket *sock)
785 bool sock_can_batch = (sock->sk->sk_sndbuf == INT_MAX);
791 vhost_tx_batch(net, nvq, sock, &msg);
820 vhost_tx_batch(net, nvq, sock, &msg);
830 vhost_tx_batch(net, nvq, sock, &msg);
839 err = sock->ops->sendmsg(sock, &msg, len);
856 vhost_tx_batch(net, nvq, sock, &msg);
859 static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock)
936 err = sock->ops->sendmsg(sock, &msg, len);
972 struct socket *sock;
975 sock = vhost_vq_get_backend(vq);
976 if (!sock)
985 if (vhost_sock_zcopy(sock))
986 handle_tx_zerocopy(net, sock);
988 handle_tx_copy(net, sock);
994 static int peek_head_len(struct vhost_net_virtqueue *rvq, struct sock *sk)
1015 static int vhost_net_rx_peek_head_len(struct vhost_net *net, struct sock *sk,
1138 struct socket *sock;
1144 sock = vhost_vq_get_backend(vq);
1145 if (!sock)
1162 sock_len = vhost_net_rx_peek_head_len(net, sock->sk,
1194 err = sock->ops->recvmsg(sock, &msg,
1208 err = sock->ops->recvmsg(sock, &msg,
1365 struct socket *sock;
1370 sock = vhost_vq_get_backend(vq);
1376 return sock;
1434 struct socket *sock = sockfd_lookup(fd, &r);
1436 if (!sock)
1440 if (sock->sk->sk_type != SOCK_RAW) {
1445 if (sock->sk->sk_family != AF_PACKET) {
1449 return sock;
1451 sockfd_put(sock);
1472 struct socket *sock;
1476 sock = tun_get_socket(file);
1477 if (!IS_ERR(sock))
1478 return sock;
1479 sock = tap_get_socket(file);
1480 if (IS_ERR(sock))
1482 return sock;
1487 struct socket *sock;
1492 sock = get_raw_socket(fd);
1493 if (!IS_ERR(sock))
1494 return sock;
1495 sock = get_tap_socket(fd);
1496 if (!IS_ERR(sock))
1497 return sock;
1503 struct socket *sock, *oldsock;
1530 sock = get_socket(fd);
1531 if (IS_ERR(sock)) {
1532 r = PTR_ERR(sock);
1538 if (sock != oldsock) {
1540 sock && vhost_sock_zcopy(sock));
1547 vhost_vq_set_backend(vq, sock);
1556 if (sock)
1557 nvq->rx_ring = get_tap_ptr_ring(sock->file);
1593 if (sock)
1594 sockfd_put(sock);