Commit edc3435b authored by David S. Miller's avatar David S. Miller

Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6

into kernel.bkbits.net:/home/davem/net-2.6
parents 686b4f33 e3e77f6e
...@@ -17,5 +17,4 @@ ...@@ -17,5 +17,4 @@
#define NF_ARP_FORWARD 2 #define NF_ARP_FORWARD 2
#define NF_ARP_NUMHOOKS 3 #define NF_ARP_NUMHOOKS 3
static DECLARE_MUTEX(arpt_mutex);
#endif /* __LINUX_ARP_NETFILTER_H */ #endif /* __LINUX_ARP_NETFILTER_H */
...@@ -183,6 +183,9 @@ struct tcp_info ...@@ -183,6 +183,9 @@ struct tcp_info
__u32 tcpi_snd_cwnd; __u32 tcpi_snd_cwnd;
__u32 tcpi_advmss; __u32 tcpi_advmss;
__u32 tcpi_reordering; __u32 tcpi_reordering;
__u32 tcpi_rcv_rtt;
__u32 tcpi_rcv_space;
}; };
#ifdef __KERNEL__ #ifdef __KERNEL__
...@@ -351,11 +354,11 @@ struct tcp_opt { ...@@ -351,11 +354,11 @@ struct tcp_opt {
__u8 urg_mode; /* In urgent mode */ __u8 urg_mode; /* In urgent mode */
__u32 snd_up; /* Urgent pointer */ __u32 snd_up; /* Urgent pointer */
/* The syn_wait_lock is necessary only to avoid tcp_get_info having /* The syn_wait_lock is necessary only to avoid proc interface having
* to grab the main lock sock while browsing the listening hash * to grab the main lock sock while browsing the listening hash
* (otherwise it's deadlock prone). * (otherwise it's deadlock prone).
* This lock is acquired in read mode only from tcp_get_info() and * This lock is acquired in read mode only from listening_get_next()
* it's acquired in write mode _only_ from code that is actively * and it's acquired in write mode _only_ from code that is actively
* changing the syn_wait_queue. All readers that are holding * changing the syn_wait_queue. All readers that are holding
* the master sock lock don't need to grab this lock in read mode * the master sock lock don't need to grab this lock in read mode
* too as the syn_wait_queue writes are always protected from * too as the syn_wait_queue writes are always protected from
......
...@@ -62,6 +62,8 @@ do { \ ...@@ -62,6 +62,8 @@ do { \
#include <linux/netfilter_ipv4/lockhelp.h> #include <linux/netfilter_ipv4/lockhelp.h>
#include <linux/netfilter_ipv4/listhelp.h> #include <linux/netfilter_ipv4/listhelp.h>
static DECLARE_MUTEX(arpt_mutex);
struct arpt_table_info { struct arpt_table_info {
unsigned int size; unsigned int size;
unsigned int number; unsigned int number;
......
...@@ -91,6 +91,9 @@ void tcp_get_info(struct sock *sk, struct tcp_info *info) ...@@ -91,6 +91,9 @@ void tcp_get_info(struct sock *sk, struct tcp_info *info)
info->tcpi_snd_cwnd = tp->snd_cwnd; info->tcpi_snd_cwnd = tp->snd_cwnd;
info->tcpi_advmss = tp->advmss; info->tcpi_advmss = tp->advmss;
info->tcpi_reordering = tp->reordering; info->tcpi_reordering = tp->reordering;
info->tcpi_rcv_rtt = ((1000000*tp->rcv_rtt_est.rtt)/HZ)>>3;
info->tcpi_rcv_space = tp->rcvq_space.space;
} }
static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk, static int tcpdiag_fill(struct sk_buff *skb, struct sock *sk,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment