[SCTP]: Remove temporary associations from backlog and hash.
Every time SCTP creates a temporary association, the stack hashes it, puts it on a list of endpoint associations and increments the backlog. However, the lifetime of a temporary association is the processing time of a current packet and it's destroyed after that. In fact, we don't really want anyone else finding this association. There is no reason to do this extra work. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
4f4443088b
commit
de76e695a5
@@ -771,6 +771,9 @@ static void __sctp_hash_established(struct sctp_association *asoc)
|
||||
/* Add an association to the hash. Local BH-safe. */
|
||||
void sctp_hash_established(struct sctp_association *asoc)
|
||||
{
|
||||
if (asoc->temp)
|
||||
return;
|
||||
|
||||
sctp_local_bh_disable();
|
||||
__sctp_hash_established(asoc);
|
||||
sctp_local_bh_enable();
|
||||
@@ -804,6 +807,9 @@ static void __sctp_unhash_established(struct sctp_association *asoc)
|
||||
/* Remove association from the hash table. Local BH-safe. */
|
||||
void sctp_unhash_established(struct sctp_association *asoc)
|
||||
{
|
||||
if (asoc->temp)
|
||||
return;
|
||||
|
||||
sctp_local_bh_disable();
|
||||
__sctp_unhash_established(asoc);
|
||||
sctp_local_bh_enable();
|
||||
|
||||
Reference in New Issue
Block a user