diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-13 21:23:44 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-13 21:23:44 -0400 |
| commit | dd4efa44ebf2a8a0e5edf60a53eadec981b4b10a (patch) | |
| tree | dd6e750c3e7228abb1f922de240b86d7d12d14bf /include/linux | |
| parent | 1a04392bd6439876b1552793389cbb5be356ea54 (diff) | |
| parent | 046d20b73960b7a2474b6d5e920d54c3fd7c23fe (diff) | |
Merge branch 'master'
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cpumask.h | 12 | ||||
| -rw-r--r-- | include/linux/netfilter/nfnetlink.h | 12 | ||||
| -rw-r--r-- | include/linux/netfilter/nfnetlink_conntrack.h | 15 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack.h | 8 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack_protocol.h | 3 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack_tuple.h | 2 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_nat.h | 4 | ||||
| -rw-r--r-- | include/linux/netpoll.h | 2 |
8 files changed, 44 insertions, 14 deletions
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index b15826f6e3a2..fe9778301d07 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h | |||
| @@ -392,4 +392,16 @@ extern cpumask_t cpu_present_map; | |||
| 392 | #define for_each_online_cpu(cpu) for_each_cpu_mask((cpu), cpu_online_map) | 392 | #define for_each_online_cpu(cpu) for_each_cpu_mask((cpu), cpu_online_map) |
| 393 | #define for_each_present_cpu(cpu) for_each_cpu_mask((cpu), cpu_present_map) | 393 | #define for_each_present_cpu(cpu) for_each_cpu_mask((cpu), cpu_present_map) |
| 394 | 394 | ||
| 395 | /* Find the highest possible smp_processor_id() */ | ||
| 396 | static inline unsigned int highest_possible_processor_id(void) | ||
| 397 | { | ||
| 398 | unsigned int cpu, highest = 0; | ||
| 399 | |||
| 400 | for_each_cpu_mask(cpu, cpu_possible_map) | ||
| 401 | highest = cpu; | ||
| 402 | |||
| 403 | return highest; | ||
| 404 | } | ||
| 405 | |||
| 406 | |||
| 395 | #endif /* __LINUX_CPUMASK_H */ | 407 | #endif /* __LINUX_CPUMASK_H */ |
diff --git a/include/linux/netfilter/nfnetlink.h b/include/linux/netfilter/nfnetlink.h index 1d5b10ae2399..f08e870100f4 100644 --- a/include/linux/netfilter/nfnetlink.h +++ b/include/linux/netfilter/nfnetlink.h | |||
| @@ -41,11 +41,15 @@ enum nfnetlink_groups { | |||
| 41 | struct nfattr | 41 | struct nfattr |
| 42 | { | 42 | { |
| 43 | u_int16_t nfa_len; | 43 | u_int16_t nfa_len; |
| 44 | u_int16_t nfa_type; | 44 | u_int16_t nfa_type; /* we use 15 bits for the type, and the highest |
| 45 | * bit to indicate whether the payload is nested */ | ||
| 45 | } __attribute__ ((packed)); | 46 | } __attribute__ ((packed)); |
| 46 | 47 | ||
| 47 | /* FIXME: Shamelessly copy and pasted from rtnetlink.h, it's time | 48 | /* FIXME: Apart from NFNL_NFA_NESTED shamelessly copy and pasted from |
| 48 | * to put this in a generic file */ | 49 | * rtnetlink.h, it's time to put this in a generic file */ |
| 50 | |||
| 51 | #define NFNL_NFA_NEST 0x8000 | ||
| 52 | #define NFA_TYPE(attr) ((attr)->nfa_type & 0x7fff) | ||
| 49 | 53 | ||
| 50 | #define NFA_ALIGNTO 4 | 54 | #define NFA_ALIGNTO 4 |
| 51 | #define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) | 55 | #define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1)) |
| @@ -59,7 +63,7 @@ struct nfattr | |||
| 59 | #define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0)) | 63 | #define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0)) |
| 60 | #define NFA_NEST(skb, type) \ | 64 | #define NFA_NEST(skb, type) \ |
| 61 | ({ struct nfattr *__start = (struct nfattr *) (skb)->tail; \ | 65 | ({ struct nfattr *__start = (struct nfattr *) (skb)->tail; \ |
| 62 | NFA_PUT(skb, type, 0, NULL); \ | 66 | NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \ |
| 63 | __start; }) | 67 | __start; }) |
| 64 | #define NFA_NEST_END(skb, start) \ | 68 | #define NFA_NEST_END(skb, start) \ |
| 65 | ({ (start)->nfa_len = ((skb)->tail - (unsigned char *) (start)); \ | 69 | ({ (start)->nfa_len = ((skb)->tail - (unsigned char *) (start)); \ |
diff --git a/include/linux/netfilter/nfnetlink_conntrack.h b/include/linux/netfilter/nfnetlink_conntrack.h index 5c55751c78e4..116fcaced909 100644 --- a/include/linux/netfilter/nfnetlink_conntrack.h +++ b/include/linux/netfilter/nfnetlink_conntrack.h | |||
| @@ -70,15 +70,24 @@ enum ctattr_l4proto { | |||
| 70 | 70 | ||
| 71 | enum ctattr_protoinfo { | 71 | enum ctattr_protoinfo { |
| 72 | CTA_PROTOINFO_UNSPEC, | 72 | CTA_PROTOINFO_UNSPEC, |
| 73 | CTA_PROTOINFO_TCP_STATE, | 73 | CTA_PROTOINFO_TCP, |
| 74 | __CTA_PROTOINFO_MAX | 74 | __CTA_PROTOINFO_MAX |
| 75 | }; | 75 | }; |
| 76 | #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) | 76 | #define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1) |
| 77 | 77 | ||
| 78 | enum ctattr_protoinfo_tcp { | ||
| 79 | CTA_PROTOINFO_TCP_UNSPEC, | ||
| 80 | CTA_PROTOINFO_TCP_STATE, | ||
| 81 | __CTA_PROTOINFO_TCP_MAX | ||
| 82 | }; | ||
| 83 | #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) | ||
| 84 | |||
| 78 | enum ctattr_counters { | 85 | enum ctattr_counters { |
| 79 | CTA_COUNTERS_UNSPEC, | 86 | CTA_COUNTERS_UNSPEC, |
| 80 | CTA_COUNTERS_PACKETS, | 87 | CTA_COUNTERS_PACKETS, /* old 64bit counters */ |
| 81 | CTA_COUNTERS_BYTES, | 88 | CTA_COUNTERS_BYTES, /* old 64bit counters */ |
| 89 | CTA_COUNTERS32_PACKETS, | ||
| 90 | CTA_COUNTERS32_BYTES, | ||
| 82 | __CTA_COUNTERS_MAX | 91 | __CTA_COUNTERS_MAX |
| 83 | }; | 92 | }; |
| 84 | #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) | 93 | #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) |
diff --git a/include/linux/netfilter_ipv4/ip_conntrack.h b/include/linux/netfilter_ipv4/ip_conntrack.h index 4ced38736813..d078bb91d9e5 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack.h +++ b/include/linux/netfilter_ipv4/ip_conntrack.h | |||
| @@ -117,6 +117,10 @@ enum ip_conntrack_events | |||
| 117 | /* NAT info */ | 117 | /* NAT info */ |
| 118 | IPCT_NATINFO_BIT = 10, | 118 | IPCT_NATINFO_BIT = 10, |
| 119 | IPCT_NATINFO = (1 << IPCT_NATINFO_BIT), | 119 | IPCT_NATINFO = (1 << IPCT_NATINFO_BIT), |
| 120 | |||
| 121 | /* Counter highest bit has been set */ | ||
| 122 | IPCT_COUNTER_FILLING_BIT = 11, | ||
| 123 | IPCT_COUNTER_FILLING = (1 << IPCT_COUNTER_FILLING_BIT), | ||
| 120 | }; | 124 | }; |
| 121 | 125 | ||
| 122 | enum ip_conntrack_expect_events { | 126 | enum ip_conntrack_expect_events { |
| @@ -192,8 +196,8 @@ do { \ | |||
| 192 | 196 | ||
| 193 | struct ip_conntrack_counter | 197 | struct ip_conntrack_counter |
| 194 | { | 198 | { |
| 195 | u_int64_t packets; | 199 | u_int32_t packets; |
| 196 | u_int64_t bytes; | 200 | u_int32_t bytes; |
| 197 | }; | 201 | }; |
| 198 | 202 | ||
| 199 | struct ip_conntrack_helper; | 203 | struct ip_conntrack_helper; |
diff --git a/include/linux/netfilter_ipv4/ip_conntrack_protocol.h b/include/linux/netfilter_ipv4/ip_conntrack_protocol.h index b6b99be8632a..2c76b879e3dc 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_protocol.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_protocol.h | |||
| @@ -52,6 +52,9 @@ struct ip_conntrack_protocol | |||
| 52 | int (*to_nfattr)(struct sk_buff *skb, struct nfattr *nfa, | 52 | int (*to_nfattr)(struct sk_buff *skb, struct nfattr *nfa, |
| 53 | const struct ip_conntrack *ct); | 53 | const struct ip_conntrack *ct); |
| 54 | 54 | ||
| 55 | /* convert nfnetlink attributes to protoinfo */ | ||
| 56 | int (*from_nfattr)(struct nfattr *tb[], struct ip_conntrack *ct); | ||
| 57 | |||
| 55 | int (*tuple_to_nfattr)(struct sk_buff *skb, | 58 | int (*tuple_to_nfattr)(struct sk_buff *skb, |
| 56 | const struct ip_conntrack_tuple *t); | 59 | const struct ip_conntrack_tuple *t); |
| 57 | int (*nfattr_to_tuple)(struct nfattr *tb[], | 60 | int (*nfattr_to_tuple)(struct nfattr *tb[], |
diff --git a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h index 20e43f018b7c..3232db11a4e5 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _IP_CONNTRACK_TUPLE_H | 1 | #ifndef _IP_CONNTRACK_TUPLE_H |
| 2 | #define _IP_CONNTRACK_TUPLE_H | 2 | #define _IP_CONNTRACK_TUPLE_H |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 4 | /* A `tuple' is a structure containing the information to uniquely | 6 | /* A `tuple' is a structure containing the information to uniquely |
| 5 | identify a connection. ie. if two packets have the same tuple, they | 7 | identify a connection. ie. if two packets have the same tuple, they |
| 6 | are in the same connection; if not, they are not. | 8 | are in the same connection; if not, they are not. |
diff --git a/include/linux/netfilter_ipv4/ip_nat.h b/include/linux/netfilter_ipv4/ip_nat.h index e201ec6e9905..41a107de17cf 100644 --- a/include/linux/netfilter_ipv4/ip_nat.h +++ b/include/linux/netfilter_ipv4/ip_nat.h | |||
| @@ -58,10 +58,6 @@ extern rwlock_t ip_nat_lock; | |||
| 58 | struct ip_nat_info | 58 | struct ip_nat_info |
| 59 | { | 59 | { |
| 60 | struct list_head bysource; | 60 | struct list_head bysource; |
| 61 | |||
| 62 | /* Helper (NULL if none). */ | ||
| 63 | struct ip_nat_helper *helper; | ||
| 64 | |||
| 65 | struct ip_nat_seq seq[IP_CT_DIR_MAX]; | 61 | struct ip_nat_seq seq[IP_CT_DIR_MAX]; |
| 66 | }; | 62 | }; |
| 67 | 63 | ||
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h index 5ade54a78dbb..ca5a8733000f 100644 --- a/include/linux/netpoll.h +++ b/include/linux/netpoll.h | |||
| @@ -86,7 +86,7 @@ static inline void netpoll_poll_unlock(void *have) | |||
| 86 | 86 | ||
| 87 | #else | 87 | #else |
| 88 | #define netpoll_rx(a) 0 | 88 | #define netpoll_rx(a) 0 |
| 89 | #define netpoll_poll_lock(a) 0 | 89 | #define netpoll_poll_lock(a) NULL |
| 90 | #define netpoll_poll_unlock(a) | 90 | #define netpoll_poll_unlock(a) |
| 91 | #endif | 91 | #endif |
| 92 | 92 | ||
