Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
b7b0f33f
Commit
b7b0f33f
authored
Jan 22, 2004
by
Sridhar Samudrala
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[SCTP] Add sysctl parameters to update socket send/receive buffers.
parent
545bd8cf
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
34 additions
and
10 deletions
+34
-10
include/linux/sysctl.h
include/linux/sysctl.h
+2
-0
include/net/sctp/constants.h
include/net/sctp/constants.h
+1
-1
include/net/sctp/structs.h
include/net/sctp/structs.h
+6
-0
net/sctp/associola.c
net/sctp/associola.c
+2
-2
net/sctp/endpointola.c
net/sctp/endpointola.c
+2
-6
net/sctp/protocol.c
net/sctp/protocol.c
+4
-0
net/sctp/sysctl.c
net/sctp/sysctl.c
+16
-0
net/sctp/ulpqueue.c
net/sctp/ulpqueue.c
+1
-1
No files found.
include/linux/sysctl.h
View file @
b7b0f33f
...
@@ -578,6 +578,8 @@ enum {
...
@@ -578,6 +578,8 @@ enum {
NET_SCTP_PRESERVE_ENABLE
=
11
,
NET_SCTP_PRESERVE_ENABLE
=
11
,
NET_SCTP_MAX_BURST
=
12
,
NET_SCTP_MAX_BURST
=
12
,
NET_SCTP_ADDIP_ENABLE
=
13
,
NET_SCTP_ADDIP_ENABLE
=
13
,
NET_SCTP_RMEM
=
14
,
NET_SCTP_WMEM
=
15
,
};
};
/* /proc/sys/net/bridge */
/* /proc/sys/net/bridge */
...
...
include/net/sctp/constants.h
View file @
b7b0f33f
...
@@ -323,7 +323,7 @@ typedef enum {
...
@@ -323,7 +323,7 @@ typedef enum {
#define SCTP_DEFAULT_COOKIE_LIFE_USEC 0
/* microseconds */
#define SCTP_DEFAULT_COOKIE_LIFE_USEC 0
/* microseconds */
#define SCTP_DEFAULT_MINWINDOW 1500
/* default minimum rwnd size */
#define SCTP_DEFAULT_MINWINDOW 1500
/* default minimum rwnd size */
#define SCTP_DEFAULT_MAXWINDOW
32768
/* default rwnd size */
#define SCTP_DEFAULT_MAXWINDOW
65535
/* default rwnd size */
#define SCTP_DEFAULT_MAXSEGMENT 1500
/* MTU size, this is the limit
#define SCTP_DEFAULT_MAXSEGMENT 1500
/* MTU size, this is the limit
* to which we will raise the P-MTU.
* to which we will raise the P-MTU.
*/
*/
...
...
include/net/sctp/structs.h
View file @
b7b0f33f
...
@@ -193,6 +193,10 @@ extern struct sctp_globals {
...
@@ -193,6 +193,10 @@ extern struct sctp_globals {
/* Flag to indicate if addip is enabled. */
/* Flag to indicate if addip is enabled. */
int
addip_enable
;
int
addip_enable
;
/* socket receive and send buffer sizes. */
int
rmem
;
int
wmem
;
}
sctp_globals
;
}
sctp_globals
;
#define sctp_rto_initial (sctp_globals.rto_initial)
#define sctp_rto_initial (sctp_globals.rto_initial)
...
@@ -221,6 +225,8 @@ extern struct sctp_globals {
...
@@ -221,6 +225,8 @@ extern struct sctp_globals {
#define sctp_local_addr_list (sctp_globals.local_addr_list)
#define sctp_local_addr_list (sctp_globals.local_addr_list)
#define sctp_local_addr_lock (sctp_globals.local_addr_lock)
#define sctp_local_addr_lock (sctp_globals.local_addr_lock)
#define sctp_addip_enable (sctp_globals.addip_enable)
#define sctp_addip_enable (sctp_globals.addip_enable)
#define sctp_rmem (sctp_globals.rmem)
#define sctp_wmem (sctp_globals.wmem)
/* SCTP Socket type: UDP or TCP style. */
/* SCTP Socket type: UDP or TCP style. */
typedef
enum
{
typedef
enum
{
...
...
net/sctp/associola.c
View file @
b7b0f33f
...
@@ -192,7 +192,7 @@ struct sctp_association *sctp_association_init(struct sctp_association *asoc,
...
@@ -192,7 +192,7 @@ struct sctp_association *sctp_association_init(struct sctp_association *asoc,
asoc
->
rwnd_over
=
0
;
asoc
->
rwnd_over
=
0
;
/* Use my own max window until I learn something better. */
/* Use my own max window until I learn something better. */
asoc
->
peer
.
rwnd
=
SCTP_DEFAULT_MAXWINDOW
;
asoc
->
peer
.
rwnd
=
sctp_rmem
;
/* Set the sndbuf size for transmit. */
/* Set the sndbuf size for transmit. */
asoc
->
sndbuf_used
=
0
;
asoc
->
sndbuf_used
=
0
;
...
@@ -498,7 +498,7 @@ struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc,
...
@@ -498,7 +498,7 @@ struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc,
* so initialize ssthresh to the default value and it will be set
* so initialize ssthresh to the default value and it will be set
* later when we process the INIT.
* later when we process the INIT.
*/
*/
peer
->
ssthresh
=
SCTP_DEFAULT_MAXWINDOW
;
peer
->
ssthresh
=
sctp_rmem
;
peer
->
partial_bytes_acked
=
0
;
peer
->
partial_bytes_acked
=
0
;
peer
->
flight_size
=
0
;
peer
->
flight_size
=
0
;
...
...
net/sctp/endpointola.c
View file @
b7b0f33f
...
@@ -148,12 +148,8 @@ struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,
...
@@ -148,12 +148,8 @@ struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,
sp
->
autoclose
*
HZ
;
sp
->
autoclose
*
HZ
;
/* Set up the default send/receive buffer space. */
/* Set up the default send/receive buffer space. */
sk
->
sk_rcvbuf
=
sctp_rmem
;
/* FIXME - Should the min and max window size be configurable
sk
->
sk_sndbuf
=
sctp_wmem
;
* sysctl parameters as opposed to be constants?
*/
sk
->
sk_rcvbuf
=
SCTP_DEFAULT_MAXWINDOW
;
sk
->
sk_sndbuf
=
SCTP_DEFAULT_MAXWINDOW
*
2
;
/* Use SCTP specific send buffer space queues. */
/* Use SCTP specific send buffer space queues. */
sk
->
sk_write_space
=
sctp_write_space
;
sk
->
sk_write_space
=
sctp_write_space
;
...
...
net/sctp/protocol.c
View file @
b7b0f33f
...
@@ -1049,6 +1049,10 @@ __init int sctp_init(void)
...
@@ -1049,6 +1049,10 @@ __init int sctp_init(void)
sctp_max_instreams
=
SCTP_DEFAULT_INSTREAMS
;
sctp_max_instreams
=
SCTP_DEFAULT_INSTREAMS
;
sctp_max_outstreams
=
SCTP_DEFAULT_OUTSTREAMS
;
sctp_max_outstreams
=
SCTP_DEFAULT_OUTSTREAMS
;
/* Initialize default send & receive buffer sizes. */
sctp_rmem
=
SCTP_DEFAULT_MAXWINDOW
;
sctp_wmem
=
SCTP_DEFAULT_MAXWINDOW
;
/* Size and allocate the association hash table.
/* Size and allocate the association hash table.
* The methodology is similar to that of the tcp hash tables.
* The methodology is similar to that of the tcp hash tables.
*/
*/
...
...
net/sctp/sysctl.c
View file @
b7b0f33f
...
@@ -170,6 +170,22 @@ static ctl_table sctp_table[] = {
...
@@ -170,6 +170,22 @@ static ctl_table sctp_table[] = {
.
mode
=
0644
,
.
mode
=
0644
,
.
proc_handler
=
&
proc_dointvec
.
proc_handler
=
&
proc_dointvec
},
},
{
.
ctl_name
=
NET_SCTP_RMEM
,
.
procname
=
"rmem"
,
.
data
=
&
sctp_rmem
,
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
proc_handler
=
&
proc_dointvec
},
{
.
ctl_name
=
NET_SCTP_WMEM
,
.
procname
=
"wmem"
,
.
data
=
&
sctp_wmem
,
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
proc_handler
=
&
proc_dointvec
},
{
.
ctl_name
=
0
}
{
.
ctl_name
=
0
}
};
};
...
...
net/sctp/ulpqueue.c
View file @
b7b0f33f
...
@@ -768,7 +768,7 @@ void sctp_ulpq_renege(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk,
...
@@ -768,7 +768,7 @@ void sctp_ulpq_renege(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk,
needed
=
ntohs
(
chunk
->
chunk_hdr
->
length
);
needed
=
ntohs
(
chunk
->
chunk_hdr
->
length
);
needed
-=
sizeof
(
sctp_data_chunk_t
);
needed
-=
sizeof
(
sctp_data_chunk_t
);
}
else
}
else
needed
=
SCTP_DEFAULT_MAXWINDOW
;
needed
=
sctp_rmem
;
freed
=
0
;
freed
=
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment