aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/sctp.h6
-rw-r--r--include/net/sctp/structs.h3
2 files changed, 5 insertions, 4 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 87b119f74c4a..640915a0613d 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -156,7 +156,7 @@ void sctp_hash_established(struct sctp_association *);
156void sctp_unhash_established(struct sctp_association *); 156void sctp_unhash_established(struct sctp_association *);
157void sctp_hash_endpoint(struct sctp_endpoint *); 157void sctp_hash_endpoint(struct sctp_endpoint *);
158void sctp_unhash_endpoint(struct sctp_endpoint *); 158void sctp_unhash_endpoint(struct sctp_endpoint *);
159struct sock *sctp_err_lookup(int family, struct sk_buff *, 159struct sock *sctp_err_lookup(struct net *net, int family, struct sk_buff *,
160 struct sctphdr *, struct sctp_association **, 160 struct sctphdr *, struct sctp_association **,
161 struct sctp_transport **); 161 struct sctp_transport **);
162void sctp_err_finish(struct sock *, struct sctp_association *); 162void sctp_err_finish(struct sock *, struct sctp_association *);
@@ -644,9 +644,9 @@ static inline int sctp_ep_hashfn(struct net *net, __u16 lport)
644} 644}
645 645
646/* This is the hash function for the association hash table. */ 646/* This is the hash function for the association hash table. */
647static inline int sctp_assoc_hashfn(__u16 lport, __u16 rport) 647static inline int sctp_assoc_hashfn(struct net *net, __u16 lport, __u16 rport)
648{ 648{
649 int h = (lport << 16) + rport; 649 int h = (lport << 16) + rport + net_hash_mix(net);
650 h ^= h>>8; 650 h ^= h>>8;
651 return h & (sctp_assoc_hashsize - 1); 651 return h & (sctp_assoc_hashsize - 1);
652} 652}
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 9f9de558541f..c0563d1dd7c7 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1427,7 +1427,7 @@ int sctp_endpoint_is_peeled_off(struct sctp_endpoint *,
1427 const union sctp_addr *); 1427 const union sctp_addr *);
1428struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *, 1428struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *,
1429 struct net *, const union sctp_addr *); 1429 struct net *, const union sctp_addr *);
1430int sctp_has_association(const union sctp_addr *laddr, 1430int sctp_has_association(struct net *net, const union sctp_addr *laddr,
1431 const union sctp_addr *paddr); 1431 const union sctp_addr *paddr);
1432 1432
1433int sctp_verify_init(const struct sctp_association *asoc, sctp_cid_t, 1433int sctp_verify_init(const struct sctp_association *asoc, sctp_cid_t,
@@ -2014,6 +2014,7 @@ void sctp_assoc_control_transport(struct sctp_association *,
2014 sctp_transport_cmd_t, sctp_sn_error_t); 2014 sctp_transport_cmd_t, sctp_sn_error_t);
2015struct sctp_transport *sctp_assoc_lookup_tsn(struct sctp_association *, __u32); 2015struct sctp_transport *sctp_assoc_lookup_tsn(struct sctp_association *, __u32);
2016struct sctp_transport *sctp_assoc_is_match(struct sctp_association *, 2016struct sctp_transport *sctp_assoc_is_match(struct sctp_association *,
2017 struct net *,
2017 const union sctp_addr *, 2018 const union sctp_addr *,
2018 const union sctp_addr *); 2019 const union sctp_addr *);
2019void sctp_assoc_migrate(struct sctp_association *, struct sock *); 2020void sctp_assoc_migrate(struct sctp_association *, struct sock *);