diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2009-09-05 02:21:00 +0400 |
---|---|---|
committer | Vlad Yasevich <vladislav.yasevich@hp.com> | 2009-09-05 02:21:00 +0400 |
commit | f68b2e05f326971cd76c65aa91a1a41771dd7485 (patch) | |
tree | 2940d83f3787570cc030791378ee23b89b941662 /include/net/sctp/structs.h | |
parent | cb95ea32a457871f72752164de8d94fa20f4703c (diff) | |
download | linux-f68b2e05f326971cd76c65aa91a1a41771dd7485.tar.xz |
sctp: Fix SCTP_MAXSEG socket option to comply to spec.
We had a bug that we never stored the user-defined value for
MAXSEG when setting the value on an association. Thus future
PMTU events ended up re-writing the frag point and increasing
it past user limit. Additionally, when setting the option on
the socket/endpoint, we effect all current associations, which
is against spec.
Now, we store the user 'maxseg' value along with the computed
'frag_point'. We inherit 'maxseg' from the socket at association
creation and use it as an upper limit for 'frag_point' when its
set.
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r-- | include/net/sctp/structs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index df4c6321996d..b10612810f56 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h @@ -1763,6 +1763,7 @@ struct sctp_association { /* The message size at which SCTP fragmentation will occur. */ __u32 frag_point; + __u32 user_frag; /* Counter used to count INIT errors. */ int init_err_counter; |