diff options
author | John W. Linville <linville@tuxdriver.com> | 2009-12-28 15:09:11 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-28 15:09:11 -0500 |
commit | ea1e4b842049fcc4741096538114871a74859314 (patch) | |
tree | c2336ab480ac0fd62e0dc41b391d99c97158dc9c /include/net | |
parent | b6ce5c33001b1dc83e6a1a6f30c5dccccea651b6 (diff) | |
parent | 92c6f8d849178582fc527aaf1e51dd37a74767d3 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/inet6_hashtables.h | 2 | ||||
-rw-r--r-- | include/net/inet_hashtables.h | 8 | ||||
-rw-r--r-- | include/net/inet_timewait_sock.h | 3 | ||||
-rw-r--r-- | include/net/mac80211.h | 6 | ||||
-rw-r--r-- | include/net/tcp.h | 22 |
5 files changed, 15 insertions, 26 deletions
diff --git a/include/net/inet6_hashtables.h b/include/net/inet6_hashtables.h index 92838d3a1ab7..e46674d5daea 100644 --- a/include/net/inet6_hashtables.h +++ b/include/net/inet6_hashtables.h | |||
@@ -53,7 +53,7 @@ static inline int inet6_sk_ehashfn(const struct sock *sk) | |||
53 | return inet6_ehashfn(net, laddr, lport, faddr, fport); | 53 | return inet6_ehashfn(net, laddr, lport, faddr, fport); |
54 | } | 54 | } |
55 | 55 | ||
56 | extern void __inet6_hash(struct sock *sk); | 56 | extern int __inet6_hash(struct sock *sk, struct inet_timewait_sock *twp); |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * Sockets in TCP_CLOSE state are _always_ taken out of the hash, so | 59 | * Sockets in TCP_CLOSE state are _always_ taken out of the hash, so |
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h index 41cbddd25b70..74358d1b3f43 100644 --- a/include/net/inet_hashtables.h +++ b/include/net/inet_hashtables.h | |||
@@ -251,7 +251,7 @@ extern void inet_put_port(struct sock *sk); | |||
251 | 251 | ||
252 | void inet_hashinfo_init(struct inet_hashinfo *h); | 252 | void inet_hashinfo_init(struct inet_hashinfo *h); |
253 | 253 | ||
254 | extern void __inet_hash_nolisten(struct sock *sk); | 254 | extern int __inet_hash_nolisten(struct sock *sk, struct inet_timewait_sock *tw); |
255 | extern void inet_hash(struct sock *sk); | 255 | extern void inet_hash(struct sock *sk); |
256 | extern void inet_unhash(struct sock *sk); | 256 | extern void inet_unhash(struct sock *sk); |
257 | 257 | ||
@@ -391,10 +391,12 @@ static inline struct sock *__inet_lookup_skb(struct inet_hashinfo *hashinfo, | |||
391 | } | 391 | } |
392 | 392 | ||
393 | extern int __inet_hash_connect(struct inet_timewait_death_row *death_row, | 393 | extern int __inet_hash_connect(struct inet_timewait_death_row *death_row, |
394 | struct sock *sk, u32 port_offset, | 394 | struct sock *sk, |
395 | u32 port_offset, | ||
395 | int (*check_established)(struct inet_timewait_death_row *, | 396 | int (*check_established)(struct inet_timewait_death_row *, |
396 | struct sock *, __u16, struct inet_timewait_sock **), | 397 | struct sock *, __u16, struct inet_timewait_sock **), |
397 | void (*hash)(struct sock *sk)); | 398 | int (*hash)(struct sock *sk, struct inet_timewait_sock *twp)); |
399 | |||
398 | extern int inet_hash_connect(struct inet_timewait_death_row *death_row, | 400 | extern int inet_hash_connect(struct inet_timewait_death_row *death_row, |
399 | struct sock *sk); | 401 | struct sock *sk); |
400 | #endif /* _INET_HASHTABLES_H */ | 402 | #endif /* _INET_HASHTABLES_H */ |
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index b801ade2295e..79f67eae8a7e 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h | |||
@@ -201,6 +201,9 @@ extern void inet_twsk_put(struct inet_timewait_sock *tw); | |||
201 | 201 | ||
202 | extern int inet_twsk_unhash(struct inet_timewait_sock *tw); | 202 | extern int inet_twsk_unhash(struct inet_timewait_sock *tw); |
203 | 203 | ||
204 | extern int inet_twsk_bind_unhash(struct inet_timewait_sock *tw, | ||
205 | struct inet_hashinfo *hashinfo); | ||
206 | |||
204 | extern struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, | 207 | extern struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, |
205 | const int state); | 208 | const int state); |
206 | 209 | ||
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index e6b6bf81d5b9..494ac69ff477 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1798,6 +1798,12 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw, | |||
1798 | local_bh_enable(); | 1798 | local_bh_enable(); |
1799 | } | 1799 | } |
1800 | 1800 | ||
1801 | /* | ||
1802 | * The TX headroom reserved by mac80211 for its own tx_status functions. | ||
1803 | * This is enough for the radiotap header. | ||
1804 | */ | ||
1805 | #define IEEE80211_TX_STATUS_HEADROOM 13 | ||
1806 | |||
1801 | /** | 1807 | /** |
1802 | * ieee80211_tx_status - transmit status callback | 1808 | * ieee80211_tx_status - transmit status callback |
1803 | * | 1809 | * |
diff --git a/include/net/tcp.h b/include/net/tcp.h index e2d2ca2509be..0248c181a92c 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -1261,28 +1261,6 @@ static inline struct sk_buff *tcp_write_queue_prev(struct sock *sk, struct sk_bu | |||
1261 | #define tcp_for_write_queue_from_safe(skb, tmp, sk) \ | 1261 | #define tcp_for_write_queue_from_safe(skb, tmp, sk) \ |
1262 | skb_queue_walk_from_safe(&(sk)->sk_write_queue, skb, tmp) | 1262 | skb_queue_walk_from_safe(&(sk)->sk_write_queue, skb, tmp) |
1263 | 1263 | ||
1264 | /* This function calculates a "timeout" which is equivalent to the timeout of a | ||
1265 | * TCP connection after "boundary" unsucessful, exponentially backed-off | ||
1266 | * retransmissions with an initial RTO of TCP_RTO_MIN. | ||
1267 | */ | ||
1268 | static inline bool retransmits_timed_out(const struct sock *sk, | ||
1269 | unsigned int boundary) | ||
1270 | { | ||
1271 | unsigned int timeout, linear_backoff_thresh; | ||
1272 | |||
1273 | if (!inet_csk(sk)->icsk_retransmits) | ||
1274 | return false; | ||
1275 | |||
1276 | linear_backoff_thresh = ilog2(TCP_RTO_MAX/TCP_RTO_MIN); | ||
1277 | |||
1278 | if (boundary <= linear_backoff_thresh) | ||
1279 | timeout = ((2 << boundary) - 1) * TCP_RTO_MIN; | ||
1280 | else | ||
1281 | timeout = ((2 << linear_backoff_thresh) - 1) * TCP_RTO_MIN + | ||
1282 | (boundary - linear_backoff_thresh) * TCP_RTO_MAX; | ||
1283 | |||
1284 | return (tcp_time_stamp - tcp_sk(sk)->retrans_stamp) >= timeout; | ||
1285 | } | ||
1286 | 1264 | ||
1287 | static inline struct sk_buff *tcp_send_head(struct sock *sk) | 1265 | static inline struct sk_buff *tcp_send_head(struct sock *sk) |
1288 | { | 1266 | { |