• Home
  • Raw
  • Download

Lines Matching +full:short +full:- +full:ping

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
15 #include <keys/rxrpc-type.h>
35 * Mark applied to socket buffers in skb->mark. skb->priority is used
43 RXRPC_SKB_MARK_REJECT_ABORT, /* Reject with ABORT (code in skb->priority) */
61 * Per-network namespace data.
65 u32 epoch; /* Local epoch for detecting local-end reset */
67 spinlock_t call_lock; /* Lock for ->calls */
73 rwlock_t conn_lock; /* Lock for ->conn_proc_list, ->service_conns */
82 struct mutex local_mutex; /* Lock for ->local_endpoints */
85 spinlock_t peer_hash_lock; /* Lock for ->peer_hash */
126 unsigned short peer_backlog_head;
127 unsigned short peer_backlog_tail;
128 unsigned short conn_backlog_head;
129 unsigned short conn_backlog_tail;
130 unsigned short call_backlog_head;
131 unsigned short call_backlog_tail;
155 struct rb_root calls; /* User ID -> call mapping */
176 * CPU-byteorder normalised Rx packet header.
181 u32 callNumber; /* call ID (0 for connection-level packets) */
186 u8 userStatus; /* app-layer defined status */
197 * - max 48 bytes (struct sk_buff::cb)
217 #define rxrpc_skb(__skb) ((struct rxrpc_skb_priv *) &(__skb)->cb)
281 * - owned by a single AF_RXRPC socket
282 * - pointed to by transport socket struct sk_user_data
317 spinlock_t client_call_lock; /* Lock for ->new_client_calls */
323 * - matched by local endpoint, remote port, address and protocol type
333 struct list_head keepalive_link; /* Link in net->peer_keepalive[] */
339 unsigned int maxdata; /* data size (MTU - hdrsize) */
340 unsigned short hdrsize; /* header size (IP + UDP + RxRPC) */
357 u8 cong_ssthresh; /* Congestion slow-start threshold */
386 RXRPC_CALL_SUCCEEDED, /* - Normal termination */
387 RXRPC_CALL_REMOTELY_ABORTED, /* - call aborted by peer */
388 RXRPC_CALL_LOCALLY_ABORTED, /* - call aborted locally on error or close */
389 RXRPC_CALL_LOCAL_ERROR, /* - call failed due to local error */
390 RXRPC_CALL_NETWORK_ERROR, /* - call terminated by network error */
398 RXRPC_CONN_IN_SERVICE_CONNS, /* Conn is in peer->service_conns */
451 unsigned short alloc_error; /* Error from last conn allocation */
452 struct rb_node local_node; /* Node in local->client_conns */
460 * - matched by { local, peer, epoch, conn_id, direction }
461 * - each connection can only handle four simultaneous calls
469 struct list_head attend_link; /* Link in local->conn_attend_q */
480 unsigned int call_debug_id; /* call->debug_id */
493 struct work_struct destructor; /* In-process-context destroyer */
495 struct rb_node service_node; /* Node in peer->service_conns */
498 struct sk_buff_head rx_queue; /* received conn-level packets */
506 u32 nonce; /* response re-use preventer */
512 spinlock_t state_lock; /* state-change lock */
523 u8 bundle_shift; /* Index into bundle->avail_chans */
527 short error; /* Local error code */
532 return sp->hdr.flags & RXRPC_CLIENT_INITIATED; in rxrpc_to_server()
541 * Flags in call->flags.
544 RXRPC_CALL_RELEASED, /* call has been released - no more message to userspace */
550 RXRPC_CALL_TX_ALL_ACKED, /* Last packet has been hard-acked */
551 RXRPC_CALL_SEND_PING, /* A ping will need to be sent */
558 RXRPC_CALL_EXCLUSIVE, /* The call uses a once-only connection */
559 RXRPC_CALL_RX_IS_IDLE, /* recvmsg() is idle - send an ACK */
568 RXRPC_CALL_EV_ACK_LOST, /* ACK may be lost, send ping */
569 RXRPC_CALL_EV_INITIAL_PING, /* Send initial ping for a new service call */
577 RXRPC_CALL_CLIENT_AWAIT_CONN, /* - client waiting for connection to become available */
578 RXRPC_CALL_CLIENT_SEND_REQUEST, /* - client sending request phase */
579 RXRPC_CALL_CLIENT_AWAIT_REPLY, /* - client awaiting reply */
580 RXRPC_CALL_CLIENT_RECV_REPLY, /* - client receiving reply phase */
581 RXRPC_CALL_SERVER_PREALLOC, /* - service preallocation */
582 RXRPC_CALL_SERVER_RECV_REQUEST, /* - server receiving request */
583 RXRPC_CALL_SERVER_ACK_REQUEST, /* - server pending ACK of request */
584 RXRPC_CALL_SERVER_SEND_REPLY, /* - server sending reply */
585 RXRPC_CALL_SERVER_AWAIT_ACK, /* - server awaiting final ACK */
586 RXRPC_CALL_COMPLETE, /* - call complete */
603 * - matched by { connection, call_id }
620 unsigned long ping_at; /* When next to send a ping */
621 unsigned long keepalive_at; /* When next to send a keepalive ping */
629 struct work_struct destroyer; /* In-process-context destroyer */
632 struct list_head wait_link; /* Link in local->new_client_calls */
634 struct list_head accept_link; /* Link in rx->acceptq */
635 struct list_head recvmsg_link; /* Link in rx->recvmsg_q */
636 struct list_head sock_link; /* Link in rx->sock_calls */
637 struct rb_node sock_node; /* Node in rx->calls */
638 struct list_head attend_link; /* Link in local->call_attend_q */
641 s64 tx_total_len; /* Total length left to be transmitted (or -1) */
642 unsigned long user_call_ID; /* user-defined call ID */
648 short send_abort_err; /* Error to be associated with the abort */
661 unsigned short rx_pkt_offset; /* Current recvmsg packet offset */
662 unsigned short rx_pkt_len; /* Current recvmsg packet len */
686 /* TCP-style slow-start congestion control [RFC5681]. Since the SMSS
694 u8 cong_ssthresh; /* Slow-start threshold */
701 /* Receive-phase ACK management (ACKs we send). */
710 /* SACK table for soft-acked packets */
715 rxrpc_serial_t rtt_serial[4]; /* Serial number of DATA or PING sent */
717 unsigned long rtt_avail; /* Mask of available slots in bits 0-3,
718 * Mask of pending samples in 8-11 */
722 /* Transmission-phase ACK management (ACKs we've received). */
726 rxrpc_seq_t acks_hard_ack; /* Latest hard-ack point */
753 * sendmsg() cmsg-specified parameters.
788 struct list_head call_link; /* Link in call->tx_sendmsg/tx_buffer */
806 u8 pad[64 - sizeof(struct rxrpc_wire_header)];
807 struct rxrpc_wire_header wire; /* Network-ready header */
820 return txb->wire.flags & RXRPC_CLIENT_INITIATED; in rxrpc_sending_to_server()
837 serial = conn->tx_serial; in rxrpc_get_next_serial()
840 conn->tx_serial = serial + 1; in rxrpc_get_next_serial()
910 return test_bit(RXRPC_CALL_IS_SERVICE, &call->flags); in rxrpc_is_service_call()
934 /* Order write of completion info before write of ->state. */ in rxrpc_set_call_state()
935 smp_store_release(&call->_state, state); in rxrpc_set_call_state()
936 wake_up(&call->waitq); in rxrpc_set_call_state()
941 return call->_state; /* Only inside I/O thread */ in __rxrpc_call_state()
951 /* Order read ->state before read of completion info. */ in rxrpc_call_state()
952 return smp_load_acquire(&call->_state); in rxrpc_call_state()
962 return rxrpc_call_is_complete(call) && call->completion != RXRPC_CALL_SUCCEEDED; in rxrpc_call_has_failed()
999 return smp_load_acquire(&conn->state) == RXRPC_CONN_ABORTED; in rxrpc_is_conn_aborted()
1028 return conn->out_clientflag; in rxrpc_conn_is_client()
1039 timer_reduce(&conn->timer, expire_at); in rxrpc_reduce_conn_timer()
1069 wake_up_process(READ_ONCE(local->io_thread)); in rxrpc_wake_up_io_thread()
1074 return rxrpc_direct_abort(skb, why, RX_PROTOCOL_ERROR, -EPROTO); in rxrpc_protocol_error()
1117 r = refcount_read(&local->ref); in __rxrpc_use_local()
1118 u = atomic_fetch_add_unless(&local->active_users, 1, 0); in __rxrpc_use_local()
1119 trace_rxrpc_local(local->debug_id, why, r, u); in __rxrpc_use_local()
1128 r = refcount_read(&local->ref); in rxrpc_see_local()
1129 u = atomic_read(&local->active_users); in rxrpc_see_local()
1130 trace_rxrpc_local(local->debug_id, why, r, u); in rxrpc_see_local()
1213 rxrpc_abort_call(call, sp->hdr.seq, abort_code, -EPROTO, why); in rxrpc_abort_eproto()
1214 return -EPROTO; in rxrpc_abort_eproto()
1276 #define rxrpc_inc_stat(rxnet, s) atomic_inc(&(rxnet)->s)
1277 #define rxrpc_dec_stat(rxnet, s) atomic_dec(&(rxnet)->s)
1307 return (s32)(seq1 - seq2) < 0; in before()
1311 return (s32)(seq1 - seq2) <= 0; in before_eq()
1315 return (s32)(seq1 - seq2) > 0; in after()
1319 return (s32)(seq1 - seq2) >= 0; in after_eq()
1328 printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__)
1387 pr_err("Assertion failed - %lu(0x%lx) %s %lu(0x%lx) is false\n", \
1407 pr_err("Assertion failed - %lu(0x%lx) %s %lu(0x%lx) is false\n", \