ar-internal.h (a343b174b4bdde851033996960bca5ad1394d04b) ar-internal.h (f2cce89a074e6d2991dddc94f6b6ebe1576b8459)
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/* AF_RXRPC internal definitions
3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
6 */
7
8#include <linux/atomic.h>

--- 188 unchanged lines hidden (view full) ---

197 u16 serviceId; /* service ID */
198} __packed;
199
200/*
201 * RxRPC socket buffer private variables
202 * - max 48 bytes (struct sk_buff::cb)
203 */
204struct rxrpc_skb_priv {
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/* AF_RXRPC internal definitions
3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
5 * Written by David Howells (dhowells@redhat.com)
6 */
7
8#include <linux/atomic.h>

--- 188 unchanged lines hidden (view full) ---

197 u16 serviceId; /* service ID */
198} __packed;
199
200/*
201 * RxRPC socket buffer private variables
202 * - max 48 bytes (struct sk_buff::cb)
203 */
204struct rxrpc_skb_priv {
205 struct rxrpc_connection *conn; /* Connection referred to (poke packet) */
205 u16 offset; /* Offset of data */
206 u16 len; /* Length of data */
207 u8 flags;
208#define RXRPC_RX_VERIFIED 0x01
209
210 struct rxrpc_host_header hdr; /* RxRPC packet header from this packet */
211};
212

--- 74 unchanged lines hidden (view full) ---

287 struct rxrpc_net *rxnet; /* Our bits in the network namespace */
288 struct hlist_node link;
289 struct socket *socket; /* my UDP socket */
290 struct task_struct *io_thread;
291 struct completion io_thread_ready; /* Indication that the I/O thread started */
292 struct rxrpc_sock __rcu *service; /* Service(s) listening on this endpoint */
293 struct rw_semaphore defrag_sem; /* control re-enablement of IP DF bit */
294 struct sk_buff_head rx_queue; /* Received packets */
206 u16 offset; /* Offset of data */
207 u16 len; /* Length of data */
208 u8 flags;
209#define RXRPC_RX_VERIFIED 0x01
210
211 struct rxrpc_host_header hdr; /* RxRPC packet header from this packet */
212};
213

--- 74 unchanged lines hidden (view full) ---

288 struct rxrpc_net *rxnet; /* Our bits in the network namespace */
289 struct hlist_node link;
290 struct socket *socket; /* my UDP socket */
291 struct task_struct *io_thread;
292 struct completion io_thread_ready; /* Indication that the I/O thread started */
293 struct rxrpc_sock __rcu *service; /* Service(s) listening on this endpoint */
294 struct rw_semaphore defrag_sem; /* control re-enablement of IP DF bit */
295 struct sk_buff_head rx_queue; /* Received packets */
296 struct list_head conn_attend_q; /* Conns requiring immediate attention */
295 struct list_head call_attend_q; /* Calls requiring immediate attention */
296 struct rb_root client_bundles; /* Client connection bundles by socket params */
297 spinlock_t client_bundles_lock; /* Lock for client_bundles */
298 spinlock_t lock; /* access lock */
299 rwlock_t services_lock; /* lock for services list */
300 int debug_id; /* debug ID for printks */
301 bool dead;
302 bool service_closed; /* Service socket closed */

--- 133 unchanged lines hidden (view full) ---

436 * - each connection can only handle four simultaneous calls
437 */
438struct rxrpc_connection {
439 struct rxrpc_conn_proto proto;
440 struct rxrpc_local *local; /* Representation of local endpoint */
441 struct rxrpc_peer *peer; /* Remote endpoint */
442 struct rxrpc_net *rxnet; /* Network namespace to which call belongs */
443 struct key *key; /* Security details */
297 struct list_head call_attend_q; /* Calls requiring immediate attention */
298 struct rb_root client_bundles; /* Client connection bundles by socket params */
299 spinlock_t client_bundles_lock; /* Lock for client_bundles */
300 spinlock_t lock; /* access lock */
301 rwlock_t services_lock; /* lock for services list */
302 int debug_id; /* debug ID for printks */
303 bool dead;
304 bool service_closed; /* Service socket closed */

--- 133 unchanged lines hidden (view full) ---

438 * - each connection can only handle four simultaneous calls
439 */
440struct rxrpc_connection {
441 struct rxrpc_conn_proto proto;
442 struct rxrpc_local *local; /* Representation of local endpoint */
443 struct rxrpc_peer *peer; /* Remote endpoint */
444 struct rxrpc_net *rxnet; /* Network namespace to which call belongs */
445 struct key *key; /* Security details */
446 struct list_head attend_link; /* Link in local->conn_attend_q */
444
445 refcount_t ref;
446 atomic_t active; /* Active count for service conns */
447 struct rcu_head rcu;
448 struct list_head cache_link;
449
450 unsigned char act_chans; /* Mask of active channels */
451 struct rxrpc_channel {

--- 448 unchanged lines hidden (view full) ---

900/*
901 * conn_event.c
902 */
903void rxrpc_conn_retransmit_call(struct rxrpc_connection *conn, struct sk_buff *skb,
904 unsigned int channel);
905void rxrpc_process_connection(struct work_struct *);
906void rxrpc_process_delayed_final_acks(struct rxrpc_connection *, bool);
907int rxrpc_input_conn_packet(struct rxrpc_connection *conn, struct sk_buff *skb);
447
448 refcount_t ref;
449 atomic_t active; /* Active count for service conns */
450 struct rcu_head rcu;
451 struct list_head cache_link;
452
453 unsigned char act_chans; /* Mask of active channels */
454 struct rxrpc_channel {

--- 448 unchanged lines hidden (view full) ---

903/*
904 * conn_event.c
905 */
906void rxrpc_conn_retransmit_call(struct rxrpc_connection *conn, struct sk_buff *skb,
907 unsigned int channel);
908void rxrpc_process_connection(struct work_struct *);
909void rxrpc_process_delayed_final_acks(struct rxrpc_connection *, bool);
910int rxrpc_input_conn_packet(struct rxrpc_connection *conn, struct sk_buff *skb);
911void rxrpc_input_conn_event(struct rxrpc_connection *conn, struct sk_buff *skb);
908
909/*
910 * conn_object.c
911 */
912extern unsigned int rxrpc_connection_expiry;
913extern unsigned int rxrpc_closed_conn_expiry;
914
912
913/*
914 * conn_object.c
915 */
916extern unsigned int rxrpc_connection_expiry;
917extern unsigned int rxrpc_closed_conn_expiry;
918
919void rxrpc_poke_conn(struct rxrpc_connection *conn, enum rxrpc_conn_trace why);
915struct rxrpc_connection *rxrpc_alloc_connection(struct rxrpc_net *, gfp_t);
916struct rxrpc_connection *rxrpc_find_client_connection_rcu(struct rxrpc_local *,
917 struct sockaddr_rxrpc *,
918 struct sk_buff *);
919void __rxrpc_disconnect_call(struct rxrpc_connection *, struct rxrpc_call *);
920void rxrpc_disconnect_call(struct rxrpc_call *);
921void rxrpc_kill_client_conn(struct rxrpc_connection *);
922void rxrpc_queue_conn(struct rxrpc_connection *, enum rxrpc_conn_trace);

--- 414 unchanged lines hidden ---
920struct rxrpc_connection *rxrpc_alloc_connection(struct rxrpc_net *, gfp_t);
921struct rxrpc_connection *rxrpc_find_client_connection_rcu(struct rxrpc_local *,
922 struct sockaddr_rxrpc *,
923 struct sk_buff *);
924void __rxrpc_disconnect_call(struct rxrpc_connection *, struct rxrpc_call *);
925void rxrpc_disconnect_call(struct rxrpc_call *);
926void rxrpc_kill_client_conn(struct rxrpc_connection *);
927void rxrpc_queue_conn(struct rxrpc_connection *, enum rxrpc_conn_trace);

--- 414 unchanged lines hidden ---