mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-17 22:23:45 -04:00
sctp: add SCTP_PEER_ADDR_THLDS_V2 sockopt
Section 7.2 of rfc7829: "Peer Address Thresholds (SCTP_PEER_ADDR_THLDS)
Socket Option" extends 'struct sctp_paddrthlds' with 'spt_pathcpthld'
added to allow a user to change ps_retrans per sock/asoc/transport, as
other 2 paddrthlds: pf_retrans, pathmaxrxt.
Note: to not break the user's program, here to support pf_retrans dump
and setting by adding a new sockopt SCTP_PEER_ADDR_THLDS_V2, and a new
structure sctp_paddrthlds_v2 instead of extending sctp_paddrthlds.
Also, when setting ps_retrans, the value is not allowed to be greater
than pf_retrans.
v1->v2:
- use SCTP_PEER_ADDR_THLDS_V2 to set/get pf_retrans instead,
as Marcelo and David Laight suggested.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
34515e94c9
commit
d467ac0a38
@@ -105,6 +105,7 @@ typedef __s32 sctp_assoc_t;
|
||||
#define SCTP_DEFAULT_SNDINFO 34
|
||||
#define SCTP_AUTH_DEACTIVATE_KEY 35
|
||||
#define SCTP_REUSE_PORT 36
|
||||
#define SCTP_PEER_ADDR_THLDS_V2 37
|
||||
|
||||
/* Internal Socket Options. Some of the sctp library functions are
|
||||
* implemented using these socket options.
|
||||
@@ -1087,6 +1088,15 @@ struct sctp_paddrthlds {
|
||||
__u16 spt_pathpfthld;
|
||||
};
|
||||
|
||||
/* Use a new structure with spt_pathcpthld for back compatibility */
|
||||
struct sctp_paddrthlds_v2 {
|
||||
sctp_assoc_t spt_assoc_id;
|
||||
struct sockaddr_storage spt_address;
|
||||
__u16 spt_pathmaxrxt;
|
||||
__u16 spt_pathpfthld;
|
||||
__u16 spt_pathcpthld;
|
||||
};
|
||||
|
||||
/*
|
||||
* Socket Option for Getting the Association/Stream-Specific PR-SCTP Status
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user