Lines Matching defs:rxrpc_call
640 struct rxrpc_call { struct
641 struct rcu_head rcu;
642 struct rxrpc_connection *conn; /* connection carrying call */
643 struct rxrpc_bundle *bundle; /* Connection bundle to use */
644 struct rxrpc_peer *peer; /* Peer record for remote address */
645 struct rxrpc_local *local; /* Representation of local endpoint */
646 struct rxrpc_sock __rcu *socket; /* socket responsible */
647 struct rxrpc_net *rxnet; /* Network namespace to which call belongs */
648 struct key *key; /* Security details */
649 const struct rxrpc_security *security; /* applied security module */
650 struct mutex user_mutex; /* User access mutex */
651 struct sockaddr_rxrpc dest_srx; /* Destination address */
652 ktime_t delay_ack_at; /* When DELAY ACK needs to happen */
653 ktime_t rack_timo_at; /* When ACK is figured as lost */
654 ktime_t ping_at; /* When next to send a ping */
655 ktime_t keepalive_at; /* When next to send a keepalive ping */
656 ktime_t expect_rx_by; /* When we expect to get a packet by */
657 ktime_t expect_req_by; /* When we expect to get a request DATA packet by */
658 ktime_t expect_term_by; /* When we expect call termination by */
659 u32 next_rx_timo; /* Timeout for next Rx packet (ms) */
660 u32 next_req_timo; /* Timeout for next Rx request packet (ms) */
661 u32 hard_timo; /* Maximum lifetime or 0 (s) */
662 struct timer_list timer; /* Combined event timer */
686 enum rxrpc_call_state _state; /* Current state of call (needs barrier) */ argument
687 enum rxrpc_call_completion completion; /* Call completion condition */ argument
688 refcount_t ref;
689 u8 security_ix; /* Security type */
690 enum rxrpc_interruptibility interruptibility; /* At what point call may be interrupted */
691 u32 call_id; /* call ID on connection */
692 u32 cid; /* connection ID plus channel index */
693 u32 security_level; /* Security level selected */
694 int debug_id; /* debug ID for printks */
695 unsigned short rx_pkt_offset; /* Current recvmsg packet offset */
696 unsigned short rx_pkt_len; /* Current recvmsg packet len */
699 rxrpc_seq_t send_top; /* Highest Tx slot filled by sendmsg. */
700 struct rxrpc_txqueue *send_queue; /* Queue that sendmsg is writing into */
703 struct rxrpc_txqueue *tx_queue; /* Start of transmission buffers */
704 struct rxrpc_txqueue *tx_qtail; /* End of transmission buffers */
705 rxrpc_seq_t tx_qbase; /* First slot in tx_queue */
706 rxrpc_seq_t tx_bottom; /* First packet in buffer */
707 rxrpc_seq_t tx_transmitted; /* Highest packet transmitted */
708 rxrpc_seq_t tx_top; /* Highest Tx slot allocated. */
709 rxrpc_serial_t tx_last_serial; /* Serial of last DATA transmitted */
710 u16 tx_backoff; /* Delay to insert due to Tx failure (ms) */
711 u16 tx_nr_sent; /* Number of packets sent, but unacked */
712 u16 tx_nr_lost; /* Number of packets marked lost */
713 u16 tx_nr_resent; /* Number of packets resent, but unacked */
714 u16 tx_winsize; /* Maximum size of Tx window */
716 u8 tx_jumbo_max; /* Maximum subpkts peer will accept */
717 ktime_t tx_last_sent; /* Last time a transmission occurred */
720 struct sk_buff_head recvmsg_queue; /* Queue of packets ready for recvmsg() */
721 struct sk_buff_head rx_queue; /* Queue of packets for this call to receive */
722 struct sk_buff_head rx_oos_queue; /* Queue of out of sequence packets */
724 rxrpc_seq_t rx_highest_seq; /* Higest sequence number received */
725 rxrpc_seq_t rx_consumed; /* Highest packet consumed */
726 rxrpc_serial_t rx_serial; /* Highest serial received for this call */
727 u8 rx_winsize; /* Size of Rx window */
735 enum rxrpc_ca_state cong_ca_state; /* Congestion control state */
736 u8 cong_extra; /* Extra to send for congestion management */
737 u16 cong_cwnd; /* Congestion window size */
738 u16 cong_ssthresh; /* Slow-start threshold */
739 u16 cong_dup_acks; /* Count of ACKs showing missing packets */
740 u16 cong_cumul_acks; /* Cumulative ACK count */
741 ktime_t cong_tstamp; /* Last time cwnd was changed */
744 ktime_t rack_xmit_ts; /* Latest transmission timestamp */
745 ktime_t rack_rtt; /* RTT of most recently ACK'd segment */
746 ktime_t rack_rtt_ts; /* Timestamp of rack_rtt */
747 ktime_t rack_reo_wnd; /* Reordering window */
748 unsigned int rack_reo_wnd_mult; /* Multiplier applied to rack_reo_wnd */
749 int rack_reo_wnd_persist; /* Num loss recoveries before reset reo_wnd */
750 rxrpc_seq_t rack_fack; /* Highest sequence so far ACK'd */
751 rxrpc_seq_t rack_end_seq; /* Highest sequence seen */
752 rxrpc_seq_t rack_dsack_round; /* DSACK opt recv'd in latest roundtrip */
753 bool rack_dsack_round_none; /* T if dsack_round is "None" */
754 bool rack_reordering_seen; /* T if detected reordering event */
755 enum rxrpc_rack_timer_mode rack_timer_mode; /* Current mode of RACK timer */
756 bool tlp_is_retrans; /* T if unacked TLP retransmission */
757 rxrpc_serial_t tlp_serial; /* Serial of TLP probe (or 0 if none in progress) */
758 rxrpc_seq_t tlp_seq; /* Sequence of TLP probe */
759 unsigned int tlp_rtt_taken; /* Last time RTT taken */
760 ktime_t tlp_max_ack_delay; /* Sender budget for max delayed ACK interval */
763 u8 ackr_reason; /* reason to ACK */
764 u16 ackr_sack_base; /* Starting slot in SACK table ring */
765 rxrpc_seq_t ackr_window; /* Base of SACK window */
766 rxrpc_seq_t ackr_wtop; /* Base of SACK window */
767 unsigned int ackr_nr_unacked; /* Number of unacked packets */
768 atomic_t ackr_nr_consumed; /* Number of packets needing hard ACK */
769 struct {
776 rxrpc_serial_t rtt_serial[4]; /* Serial number of DATA or PING sent */
777 ktime_t rtt_sent_at[4]; /* Time packet sent */
778 unsigned long rtt_avail; /* Mask of available slots in bits 0-3,
784 ktime_t acks_latest_ts; /* Timestamp of latest ACK received */
785 rxrpc_seq_t acks_hard_ack; /* Highest sequence hard acked */
786 rxrpc_seq_t acks_prev_seq; /* Highest previousPacket received */
787 rxrpc_seq_t acks_lowest_nak; /* Lowest NACK in the buffer (or ==tx_hard_ack) */
788 rxrpc_serial_t acks_highest_serial; /* Highest serial number ACK'd */
789 unsigned short acks_nr_sacks; /* Number of soft acks recorded */
790 unsigned short acks_nr_snacks; /* Number of soft nacks recorded */
793 ktime_t rtt_last_req; /* Time of last RTT request */
794 unsigned int rtt_count; /* Number of samples we've got */
795 unsigned int rtt_taken; /* Number of samples taken (wrapping) */
796 struct minmax min_rtt; /* Estimated minimum RTT */
797 u32 srtt_us; /* smoothed round trip time << 3 in usecs */
798 u32 mdev_us; /* medium deviation */
799 u32 mdev_max_us; /* maximal mdev for the last rtt period */
800 u32 rttvar_us; /* smoothed mdev_max */
801 u32 rto_us; /* Retransmission timeout in usec */
802 u8 backoff; /* Backoff timeout (as shift) */