#define pr_fmt(fmt) …
#include <linux/net.h>
#include <linux/gfp.h>
#include <linux/skbuff.h>
#include <linux/export.h>
#include <net/sock.h>
#include <net/af_rxrpc.h>
#include <net/udp.h>
#include "ar-internal.h"
extern int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len);
static ssize_t do_udp_sendmsg(struct socket *socket, struct msghdr *msg, size_t len)
{ … }
struct rxrpc_abort_buffer { … };
static const char rxrpc_keepalive_string[] = …;
static void rxrpc_tx_backoff(struct rxrpc_call *call, int ret)
{ … }
static void rxrpc_set_keepalive(struct rxrpc_call *call, ktime_t now)
{ … }
static void rxrpc_fill_out_ack(struct rxrpc_call *call,
struct rxrpc_txbuf *txb,
u8 ack_reason,
rxrpc_serial_t serial)
{ … }
static void rxrpc_begin_rtt_probe(struct rxrpc_call *call, rxrpc_serial_t serial,
ktime_t now, enum rxrpc_rtt_tx_trace why)
{ … }
static void rxrpc_send_ack_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
{ … }
void rxrpc_send_ACK(struct rxrpc_call *call, u8 ack_reason,
rxrpc_serial_t serial, enum rxrpc_propose_ack_trace why)
{ … }
int rxrpc_send_abort_packet(struct rxrpc_call *call)
{ … }
static void rxrpc_prepare_data_subpacket(struct rxrpc_call *call, struct rxrpc_txbuf *txb,
rxrpc_serial_t serial)
{ … }
static size_t rxrpc_prepare_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
{ … }
static void rxrpc_tstamp_data_packets(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
{ … }
static int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
{ … }
void rxrpc_send_conn_abort(struct rxrpc_connection *conn)
{ … }
void rxrpc_reject_packet(struct rxrpc_local *local, struct sk_buff *skb)
{ … }
void rxrpc_send_keepalive(struct rxrpc_peer *peer)
{ … }
static inline void rxrpc_instant_resend(struct rxrpc_call *call,
struct rxrpc_txbuf *txb)
{ … }
void rxrpc_transmit_one(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
{ … }