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
Kirill Smelkov
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