mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
Merge branch 'net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vxy/lksctp-dev
This commit is contained in:
commit
5656b6ca19
17 changed files with 224 additions and 500 deletions
|
|
@ -308,6 +308,10 @@ enum { SCTP_MAX_GABS = 16 };
|
|||
|
||||
#define SCTP_DEFAULT_MINWINDOW 1500 /* default minimum rwnd size */
|
||||
#define SCTP_DEFAULT_MAXWINDOW 65535 /* default rwnd size */
|
||||
#define SCTP_DEFAULT_RWND_SHIFT 4 /* by default, update on 1/16 of
|
||||
* rcvbuf, which is 1/8 of initial
|
||||
* window
|
||||
*/
|
||||
#define SCTP_DEFAULT_MAXSEGMENT 1500 /* MTU size, this is the limit
|
||||
* to which we will raise the P-MTU.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -243,7 +243,8 @@ struct sctp_chunk *sctp_make_op_error(const struct sctp_association *,
|
|||
const struct sctp_chunk *chunk,
|
||||
__be16 cause_code,
|
||||
const void *payload,
|
||||
size_t paylen);
|
||||
size_t paylen,
|
||||
size_t reserve_tail);
|
||||
|
||||
struct sctp_chunk *sctp_make_asconf_update_ip(struct sctp_association *,
|
||||
union sctp_addr *,
|
||||
|
|
|
|||
|
|
@ -231,6 +231,11 @@ extern struct sctp_globals {
|
|||
/* Flag to indicate whether computing and verifying checksum
|
||||
* is disabled. */
|
||||
int checksum_disable;
|
||||
|
||||
/* Threshold for rwnd update SACKS. Receive buffer shifted this many
|
||||
* bits is an indicator of when to send and window update SACK.
|
||||
*/
|
||||
int rwnd_update_shift;
|
||||
} sctp_globals;
|
||||
|
||||
#define sctp_rto_initial (sctp_globals.rto_initial)
|
||||
|
|
@ -267,6 +272,7 @@ extern struct sctp_globals {
|
|||
#define sctp_prsctp_enable (sctp_globals.prsctp_enable)
|
||||
#define sctp_auth_enable (sctp_globals.auth_enable)
|
||||
#define sctp_checksum_disable (sctp_globals.checksum_disable)
|
||||
#define sctp_rwnd_upd_shift (sctp_globals.rwnd_update_shift)
|
||||
|
||||
/* SCTP Socket type: UDP or TCP style. */
|
||||
typedef enum {
|
||||
|
|
@ -936,6 +942,8 @@ struct sctp_transport {
|
|||
/* Data that has been sent, but not acknowledged. */
|
||||
__u32 flight_size;
|
||||
|
||||
__u32 burst_limited; /* Holds old cwnd when max.burst is applied */
|
||||
|
||||
/* TSN marking the fast recovery exit point */
|
||||
__u32 fast_recovery_exit;
|
||||
|
||||
|
|
@ -944,12 +952,6 @@ struct sctp_transport {
|
|||
/* Source address. */
|
||||
union sctp_addr saddr;
|
||||
|
||||
/* When was the last time(in jiffies) that a data packet was sent on
|
||||
* this transport? This is used to adjust the cwnd when the transport
|
||||
* becomes inactive.
|
||||
*/
|
||||
unsigned long last_time_used;
|
||||
|
||||
/* Heartbeat interval: The endpoint sends out a Heartbeat chunk to
|
||||
* the destination address every heartbeat interval.
|
||||
*/
|
||||
|
|
@ -1070,6 +1072,8 @@ void sctp_transport_put(struct sctp_transport *);
|
|||
void sctp_transport_update_rto(struct sctp_transport *, __u32);
|
||||
void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32);
|
||||
void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t);
|
||||
void sctp_transport_burst_limited(struct sctp_transport *);
|
||||
void sctp_transport_burst_reset(struct sctp_transport *);
|
||||
unsigned long sctp_transport_timeout(struct sctp_transport *);
|
||||
void sctp_transport_reset(struct sctp_transport *);
|
||||
void sctp_transport_update_pmtu(struct sctp_transport *, u32);
|
||||
|
|
|
|||
|
|
@ -60,96 +60,49 @@ typedef __s32 sctp_assoc_t;
|
|||
/* The following symbols come from the Sockets API Extensions for
|
||||
* SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>.
|
||||
*/
|
||||
enum sctp_optname {
|
||||
SCTP_RTOINFO,
|
||||
#define SCTP_RTOINFO SCTP_RTOINFO
|
||||
SCTP_ASSOCINFO,
|
||||
#define SCTP_ASSOCINFO SCTP_ASSOCINFO
|
||||
SCTP_INITMSG,
|
||||
#define SCTP_INITMSG SCTP_INITMSG
|
||||
SCTP_NODELAY, /* Get/set nodelay option. */
|
||||
#define SCTP_NODELAY SCTP_NODELAY
|
||||
SCTP_AUTOCLOSE,
|
||||
#define SCTP_AUTOCLOSE SCTP_AUTOCLOSE
|
||||
SCTP_SET_PEER_PRIMARY_ADDR,
|
||||
#define SCTP_SET_PEER_PRIMARY_ADDR SCTP_SET_PEER_PRIMARY_ADDR
|
||||
SCTP_PRIMARY_ADDR,
|
||||
#define SCTP_PRIMARY_ADDR SCTP_PRIMARY_ADDR
|
||||
SCTP_ADAPTATION_LAYER,
|
||||
#define SCTP_ADAPTATION_LAYER SCTP_ADAPTATION_LAYER
|
||||
SCTP_DISABLE_FRAGMENTS,
|
||||
#define SCTP_DISABLE_FRAGMENTS SCTP_DISABLE_FRAGMENTS
|
||||
SCTP_PEER_ADDR_PARAMS,
|
||||
#define SCTP_PEER_ADDR_PARAMS SCTP_PEER_ADDR_PARAMS
|
||||
SCTP_DEFAULT_SEND_PARAM,
|
||||
#define SCTP_DEFAULT_SEND_PARAM SCTP_DEFAULT_SEND_PARAM
|
||||
SCTP_EVENTS,
|
||||
#define SCTP_EVENTS SCTP_EVENTS
|
||||
SCTP_I_WANT_MAPPED_V4_ADDR, /* Turn on/off mapped v4 addresses */
|
||||
#define SCTP_I_WANT_MAPPED_V4_ADDR SCTP_I_WANT_MAPPED_V4_ADDR
|
||||
SCTP_MAXSEG, /* Get/set maximum fragment. */
|
||||
#define SCTP_MAXSEG SCTP_MAXSEG
|
||||
SCTP_STATUS,
|
||||
#define SCTP_STATUS SCTP_STATUS
|
||||
SCTP_GET_PEER_ADDR_INFO,
|
||||
#define SCTP_GET_PEER_ADDR_INFO SCTP_GET_PEER_ADDR_INFO
|
||||
SCTP_DELAYED_ACK,
|
||||
#define SCTP_DELAYED_ACK_TIME SCTP_DELAYED_ACK
|
||||
#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK
|
||||
SCTP_CONTEXT, /* Receive Context */
|
||||
#define SCTP_CONTEXT SCTP_CONTEXT
|
||||
SCTP_FRAGMENT_INTERLEAVE,
|
||||
#define SCTP_FRAGMENT_INTERLEAVE SCTP_FRAGMENT_INTERLEAVE
|
||||
SCTP_PARTIAL_DELIVERY_POINT, /* Set/Get partial delivery point */
|
||||
#define SCTP_PARTIAL_DELIVERY_POINT SCTP_PARTIAL_DELIVERY_POINT
|
||||
SCTP_MAX_BURST, /* Set/Get max burst */
|
||||
#define SCTP_MAX_BURST SCTP_MAX_BURST
|
||||
SCTP_AUTH_CHUNK, /* Set only: add a chunk type to authenticat */
|
||||
#define SCTP_AUTH_CHUNK SCTP_AUTH_CHUNK
|
||||
SCTP_HMAC_IDENT,
|
||||
#define SCTP_HMAC_IDENT SCTP_HMAC_IDENT
|
||||
SCTP_AUTH_KEY,
|
||||
#define SCTP_AUTH_KEY SCTP_AUTH_KEY
|
||||
SCTP_AUTH_ACTIVE_KEY,
|
||||
#define SCTP_AUTH_ACTIVE_KEY SCTP_AUTH_ACTIVE_KEY
|
||||
SCTP_AUTH_DELETE_KEY,
|
||||
#define SCTP_AUTH_DELETE_KEY SCTP_AUTH_DELETE_KEY
|
||||
SCTP_PEER_AUTH_CHUNKS, /* Read only */
|
||||
#define SCTP_PEER_AUTH_CHUNKS SCTP_PEER_AUTH_CHUNKS
|
||||
SCTP_LOCAL_AUTH_CHUNKS, /* Read only */
|
||||
#define SCTP_LOCAL_AUTH_CHUNKS SCTP_LOCAL_AUTH_CHUNKS
|
||||
SCTP_GET_ASSOC_NUMBER, /* Read only */
|
||||
#define SCTP_GET_ASSOC_NUMBER SCTP_GET_ASSOC_NUMBER
|
||||
#define SCTP_RTOINFO 0
|
||||
#define SCTP_ASSOCINFO 1
|
||||
#define SCTP_INITMSG 2
|
||||
#define SCTP_NODELAY 3 /* Get/set nodelay option. */
|
||||
#define SCTP_AUTOCLOSE 4
|
||||
#define SCTP_SET_PEER_PRIMARY_ADDR 5
|
||||
#define SCTP_PRIMARY_ADDR 6
|
||||
#define SCTP_ADAPTATION_LAYER 7
|
||||
#define SCTP_DISABLE_FRAGMENTS 8
|
||||
#define SCTP_PEER_ADDR_PARAMS 9
|
||||
#define SCTP_DEFAULT_SEND_PARAM 10
|
||||
#define SCTP_EVENTS 11
|
||||
#define SCTP_I_WANT_MAPPED_V4_ADDR 12 /* Turn on/off mapped v4 addresses */
|
||||
#define SCTP_MAXSEG 13 /* Get/set maximum fragment. */
|
||||
#define SCTP_STATUS 14
|
||||
#define SCTP_GET_PEER_ADDR_INFO 15
|
||||
#define SCTP_DELAYED_ACK_TIME 16
|
||||
#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME
|
||||
#define SCTP_CONTEXT 17
|
||||
#define SCTP_FRAGMENT_INTERLEAVE 18
|
||||
#define SCTP_PARTIAL_DELIVERY_POINT 19 /* Set/Get partial delivery point */
|
||||
#define SCTP_MAX_BURST 20 /* Set/Get max burst */
|
||||
#define SCTP_AUTH_CHUNK 21 /* Set only: add a chunk type to authenticate */
|
||||
#define SCTP_HMAC_IDENT 22
|
||||
#define SCTP_AUTH_KEY 23
|
||||
#define SCTP_AUTH_ACTIVE_KEY 24
|
||||
#define SCTP_AUTH_DELETE_KEY 25
|
||||
#define SCTP_PEER_AUTH_CHUNKS 26 /* Read only */
|
||||
#define SCTP_LOCAL_AUTH_CHUNKS 27 /* Read only */
|
||||
#define SCTP_GET_ASSOC_NUMBER 28 /* Read only */
|
||||
|
||||
|
||||
/* Internal Socket Options. Some of the sctp library functions are
|
||||
* implemented using these socket options.
|
||||
*/
|
||||
SCTP_SOCKOPT_BINDX_ADD = 100,/* BINDX requests for adding addresses. */
|
||||
#define SCTP_SOCKOPT_BINDX_ADD SCTP_SOCKOPT_BINDX_ADD
|
||||
SCTP_SOCKOPT_BINDX_REM, /* BINDX requests for removing addresses. */
|
||||
#define SCTP_SOCKOPT_BINDX_REM SCTP_SOCKOPT_BINDX_REM
|
||||
SCTP_SOCKOPT_PEELOFF, /* peel off association. */
|
||||
#define SCTP_SOCKOPT_PEELOFF SCTP_SOCKOPT_PEELOFF
|
||||
SCTP_GET_PEER_ADDRS_NUM_OLD, /* Get number of peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS_NUM_OLD SCTP_GET_PEER_ADDRS_NUM_OLD
|
||||
SCTP_GET_PEER_ADDRS_OLD, /* Get all peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS_OLD SCTP_GET_PEER_ADDRS_OLD
|
||||
SCTP_GET_LOCAL_ADDRS_NUM_OLD, /* Get number of local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS_NUM_OLD SCTP_GET_LOCAL_ADDRS_NUM_OLD
|
||||
SCTP_GET_LOCAL_ADDRS_OLD, /* Get all local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS_OLD SCTP_GET_LOCAL_ADDRS_OLD
|
||||
SCTP_SOCKOPT_CONNECTX_OLD, /* CONNECTX old requests. */
|
||||
#define SCTP_SOCKOPT_CONNECTX_OLD SCTP_SOCKOPT_CONNECTX_OLD
|
||||
SCTP_GET_PEER_ADDRS, /* Get all peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS SCTP_GET_PEER_ADDRS
|
||||
SCTP_GET_LOCAL_ADDRS, /* Get all local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS SCTP_GET_LOCAL_ADDRS
|
||||
SCTP_SOCKOPT_CONNECTX, /* CONNECTX requests. */
|
||||
#define SCTP_SOCKOPT_CONNECTX SCTP_SOCKOPT_CONNECTX
|
||||
SCTP_SOCKOPT_CONNECTX3, /* CONNECTX requests. (new implementation) */
|
||||
#define SCTP_SOCKOPT_CONNECTX3 SCTP_SOCKOPT_CONNECTX3
|
||||
};
|
||||
/* Internal Socket Options. Some of the sctp library functions are
|
||||
* implemented using these socket options.
|
||||
*/
|
||||
#define SCTP_SOCKOPT_BINDX_ADD 100 /* BINDX requests for adding addrs */
|
||||
#define SCTP_SOCKOPT_BINDX_REM 101 /* BINDX requests for removing addrs. */
|
||||
#define SCTP_SOCKOPT_PEELOFF 102 /* peel off association. */
|
||||
/* Options 104-106 are deprecated and removed. Do not use this space */
|
||||
#define SCTP_SOCKOPT_CONNECTX_OLD 107 /* CONNECTX old requests. */
|
||||
#define SCTP_GET_PEER_ADDRS 108 /* Get all peer addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS 109 /* Get all local addresss. */
|
||||
#define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */
|
||||
#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */
|
||||
|
||||
/*
|
||||
* 5.2.1 SCTP Initiation Structure (SCTP_INIT)
|
||||
|
|
@ -206,6 +159,7 @@ enum sctp_sinfo_flags {
|
|||
SCTP_UNORDERED = 1, /* Send/receive message unordered. */
|
||||
SCTP_ADDR_OVER = 2, /* Override the primary destination. */
|
||||
SCTP_ABORT=4, /* Send an ABORT message to the peer. */
|
||||
SCTP_SACK_IMMEDIATELY = 8, /* SACK should be sent without delay */
|
||||
SCTP_EOF=MSG_FIN, /* Initiate graceful shutdown process. */
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue