diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 18:51:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-31 18:51:00 -0400 |
commit | 0d6caa1795090bd22ede96b84daa4600b63eee37 (patch) | |
tree | 7b69aa68f7f812bd1a13b0c5e73573a01e671ef8 /include | |
parent | 88c8199b9d2f5ec0a8468a0495ba4c9656846500 (diff) | |
parent | 8072f085d79a0a73cc5a0333ffa7f0c5d35f76e0 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (41 commits)
[RTNETLINK]: Fix warning for !CONFIG_KMOD
[IPV4] ip_options.c: kmalloc + memset conversion to kzalloc
[DECNET]: kmalloc + memset conversion to kzalloc
[NET]: ethtool_perm_addr only has one implementation
[NET]: ethtool ops are the only way
[PPPOE]: Improve hashing function in hash_item().
[XFRM]: State selection update to use inner addresses.
[IPSEC]: Ensure that state inner family is set
[TCP]: Bidir flow must not disregard SACK blocks for lost marking
[TCP]: Fix ratehalving with bidirectional flows
[PPPOL2TP]: Add CONFIG_INET Kconfig dependency.
[NET]: Page offsets and lengths need to be __u32.
[AF_UNIX]: Make code static.
[NETFILTER]: Make nf_ct_ipv6_skip_exthdr() static.
[PKTGEN]: make get_ipsec_sa() static and non-inline
[PPPoE]: move lock_sock() in pppoe_sendmsg() to the right location
[PPPoX/E]: return ENOTTY on unknown ioctl requests
[IPV6]: ipv6_addr_type() doesn't know about RFC4193 addresses.
[NET]: Fix prio_tune() handling of root qdisc.
[NET]: Fix sch_api to properly set sch->parent on the root.
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ethtool.h | 4 | ||||
-rw-r--r-- | include/linux/ipv6.h | 5 | ||||
-rw-r--r-- | include/linux/notifier.h | 13 | ||||
-rw-r--r-- | include/linux/skbuff.h | 4 | ||||
-rw-r--r-- | include/net/af_unix.h | 29 | ||||
-rw-r--r-- | include/net/bluetooth/l2cap.h | 50 | ||||
-rw-r--r-- | include/net/ipv6.h | 1 | ||||
-rw-r--r-- | include/net/netfilter/ipv6/nf_conntrack_ipv6.h | 3 | ||||
-rw-r--r-- | include/net/tcp.h | 2 |
9 files changed, 46 insertions, 65 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 3a632244f31b..23ccea811297 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -270,8 +270,6 @@ u32 ethtool_op_get_sg(struct net_device *dev); | |||
270 | int ethtool_op_set_sg(struct net_device *dev, u32 data); | 270 | int ethtool_op_set_sg(struct net_device *dev, u32 data); |
271 | u32 ethtool_op_get_tso(struct net_device *dev); | 271 | u32 ethtool_op_get_tso(struct net_device *dev); |
272 | int ethtool_op_set_tso(struct net_device *dev, u32 data); | 272 | int ethtool_op_set_tso(struct net_device *dev, u32 data); |
273 | int ethtool_op_get_perm_addr(struct net_device *dev, | ||
274 | struct ethtool_perm_addr *addr, u8 *data); | ||
275 | u32 ethtool_op_get_ufo(struct net_device *dev); | 273 | u32 ethtool_op_get_ufo(struct net_device *dev); |
276 | int ethtool_op_set_ufo(struct net_device *dev, u32 data); | 274 | int ethtool_op_set_ufo(struct net_device *dev, u32 data); |
277 | 275 | ||
@@ -309,7 +307,6 @@ int ethtool_op_set_ufo(struct net_device *dev, u32 data); | |||
309 | * get_strings: Return a set of strings that describe the requested objects | 307 | * get_strings: Return a set of strings that describe the requested objects |
310 | * phys_id: Identify the device | 308 | * phys_id: Identify the device |
311 | * get_stats: Return statistics about the device | 309 | * get_stats: Return statistics about the device |
312 | * get_perm_addr: Gets the permanent hardware address | ||
313 | * | 310 | * |
314 | * Description: | 311 | * Description: |
315 | * | 312 | * |
@@ -368,7 +365,6 @@ struct ethtool_ops { | |||
368 | int (*phys_id)(struct net_device *, u32); | 365 | int (*phys_id)(struct net_device *, u32); |
369 | int (*get_stats_count)(struct net_device *); | 366 | int (*get_stats_count)(struct net_device *); |
370 | void (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *); | 367 | void (*get_ethtool_stats)(struct net_device *, struct ethtool_stats *, u64 *); |
371 | int (*get_perm_addr)(struct net_device *, struct ethtool_perm_addr *, u8 *); | ||
372 | int (*begin)(struct net_device *); | 368 | int (*begin)(struct net_device *); |
373 | void (*complete)(struct net_device *); | 369 | void (*complete)(struct net_device *); |
374 | u32 (*get_ufo)(struct net_device *); | 370 | u32 (*get_ufo)(struct net_device *); |
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 97983dc9df13..4ca60c3320fb 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
@@ -219,7 +219,6 @@ enum { | |||
219 | #include <linux/tcp.h> | 219 | #include <linux/tcp.h> |
220 | #include <linux/udp.h> | 220 | #include <linux/udp.h> |
221 | 221 | ||
222 | #include <net/if_inet6.h> /* struct ipv6_mc_socklist */ | ||
223 | #include <net/inet_sock.h> | 222 | #include <net/inet_sock.h> |
224 | 223 | ||
225 | static inline struct ipv6hdr *ipv6_hdr(const struct sk_buff *skb) | 224 | static inline struct ipv6hdr *ipv6_hdr(const struct sk_buff *skb) |
@@ -273,6 +272,10 @@ struct tcp6_request_sock { | |||
273 | struct inet6_request_sock tcp6rsk_inet6; | 272 | struct inet6_request_sock tcp6rsk_inet6; |
274 | }; | 273 | }; |
275 | 274 | ||
275 | struct ipv6_mc_socklist; | ||
276 | struct ipv6_ac_socklist; | ||
277 | struct ipv6_fl_socklist; | ||
278 | |||
276 | /** | 279 | /** |
277 | * struct ipv6_pinfo - ipv6 private area | 280 | * struct ipv6_pinfo - ipv6 private area |
278 | * | 281 | * |
diff --git a/include/linux/notifier.h b/include/linux/notifier.h index be3f2bb6fcf3..fad7ff17e468 100644 --- a/include/linux/notifier.h +++ b/include/linux/notifier.h | |||
@@ -157,6 +157,19 @@ extern int __srcu_notifier_call_chain(struct srcu_notifier_head *nh, | |||
157 | */ | 157 | */ |
158 | #define NOTIFY_STOP (NOTIFY_OK|NOTIFY_STOP_MASK) | 158 | #define NOTIFY_STOP (NOTIFY_OK|NOTIFY_STOP_MASK) |
159 | 159 | ||
160 | /* Encapsulate (negative) errno value (in particular, NOTIFY_BAD <=> EPERM). */ | ||
161 | static inline int notifier_from_errno(int err) | ||
162 | { | ||
163 | return NOTIFY_STOP_MASK | (NOTIFY_OK - err); | ||
164 | } | ||
165 | |||
166 | /* Restore (negative) errno value from notify return value. */ | ||
167 | static inline int notifier_to_errno(int ret) | ||
168 | { | ||
169 | ret &= ~NOTIFY_STOP_MASK; | ||
170 | return ret > NOTIFY_OK ? NOTIFY_OK - ret : 0; | ||
171 | } | ||
172 | |||
160 | /* | 173 | /* |
161 | * Declared notifiers so far. I can imagine quite a few more chains | 174 | * Declared notifiers so far. I can imagine quite a few more chains |
162 | * over time (eg laptop power reset chains, reboot chain (to clean | 175 | * over time (eg laptop power reset chains, reboot chain (to clean |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index ce256438e619..93c27f71122a 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -134,8 +134,8 @@ typedef struct skb_frag_struct skb_frag_t; | |||
134 | 134 | ||
135 | struct skb_frag_struct { | 135 | struct skb_frag_struct { |
136 | struct page *page; | 136 | struct page *page; |
137 | __u16 page_offset; | 137 | __u32 page_offset; |
138 | __u16 size; | 138 | __u32 size; |
139 | }; | 139 | }; |
140 | 140 | ||
141 | /* This data is invariant across clones and lives at | 141 | /* This data is invariant across clones and lives at |
diff --git a/include/net/af_unix.h b/include/net/af_unix.h index 6de1e9e35c73..0864a775de24 100644 --- a/include/net/af_unix.h +++ b/include/net/af_unix.h | |||
@@ -12,37 +12,8 @@ extern void unix_gc(void); | |||
12 | 12 | ||
13 | #define UNIX_HASH_SIZE 256 | 13 | #define UNIX_HASH_SIZE 256 |
14 | 14 | ||
15 | extern struct hlist_head unix_socket_table[UNIX_HASH_SIZE + 1]; | ||
16 | extern spinlock_t unix_table_lock; | ||
17 | |||
18 | extern atomic_t unix_tot_inflight; | 15 | extern atomic_t unix_tot_inflight; |
19 | 16 | ||
20 | static inline struct sock *first_unix_socket(int *i) | ||
21 | { | ||
22 | for (*i = 0; *i <= UNIX_HASH_SIZE; (*i)++) { | ||
23 | if (!hlist_empty(&unix_socket_table[*i])) | ||
24 | return __sk_head(&unix_socket_table[*i]); | ||
25 | } | ||
26 | return NULL; | ||
27 | } | ||
28 | |||
29 | static inline struct sock *next_unix_socket(int *i, struct sock *s) | ||
30 | { | ||
31 | struct sock *next = sk_next(s); | ||
32 | /* More in this chain? */ | ||
33 | if (next) | ||
34 | return next; | ||
35 | /* Look for next non-empty chain. */ | ||
36 | for ((*i)++; *i <= UNIX_HASH_SIZE; (*i)++) { | ||
37 | if (!hlist_empty(&unix_socket_table[*i])) | ||
38 | return __sk_head(&unix_socket_table[*i]); | ||
39 | } | ||
40 | return NULL; | ||
41 | } | ||
42 | |||
43 | #define forall_unix_sockets(i, s) \ | ||
44 | for (s = first_unix_socket(&(i)); s; s = next_unix_socket(&(i),(s))) | ||
45 | |||
46 | struct unix_address { | 17 | struct unix_address { |
47 | atomic_t refcnt; | 18 | atomic_t refcnt; |
48 | int len; | 19 | int len; |
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 87df4e87622d..70e70f5d3dd6 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h | |||
@@ -34,7 +34,7 @@ | |||
34 | /* L2CAP socket address */ | 34 | /* L2CAP socket address */ |
35 | struct sockaddr_l2 { | 35 | struct sockaddr_l2 { |
36 | sa_family_t l2_family; | 36 | sa_family_t l2_family; |
37 | unsigned short l2_psm; | 37 | __le16 l2_psm; |
38 | bdaddr_t l2_bdaddr; | 38 | bdaddr_t l2_bdaddr; |
39 | }; | 39 | }; |
40 | 40 | ||
@@ -76,32 +76,32 @@ struct l2cap_conninfo { | |||
76 | 76 | ||
77 | /* L2CAP structures */ | 77 | /* L2CAP structures */ |
78 | struct l2cap_hdr { | 78 | struct l2cap_hdr { |
79 | __u16 len; | 79 | __le16 len; |
80 | __u16 cid; | 80 | __le16 cid; |
81 | } __attribute__ ((packed)); | 81 | } __attribute__ ((packed)); |
82 | #define L2CAP_HDR_SIZE 4 | 82 | #define L2CAP_HDR_SIZE 4 |
83 | 83 | ||
84 | struct l2cap_cmd_hdr { | 84 | struct l2cap_cmd_hdr { |
85 | __u8 code; | 85 | __u8 code; |
86 | __u8 ident; | 86 | __u8 ident; |
87 | __u16 len; | 87 | __le16 len; |
88 | } __attribute__ ((packed)); | 88 | } __attribute__ ((packed)); |
89 | #define L2CAP_CMD_HDR_SIZE 4 | 89 | #define L2CAP_CMD_HDR_SIZE 4 |
90 | 90 | ||
91 | struct l2cap_cmd_rej { | 91 | struct l2cap_cmd_rej { |
92 | __u16 reason; | 92 | __le16 reason; |
93 | } __attribute__ ((packed)); | 93 | } __attribute__ ((packed)); |
94 | 94 | ||
95 | struct l2cap_conn_req { | 95 | struct l2cap_conn_req { |
96 | __u16 psm; | 96 | __le16 psm; |
97 | __u16 scid; | 97 | __le16 scid; |
98 | } __attribute__ ((packed)); | 98 | } __attribute__ ((packed)); |
99 | 99 | ||
100 | struct l2cap_conn_rsp { | 100 | struct l2cap_conn_rsp { |
101 | __u16 dcid; | 101 | __le16 dcid; |
102 | __u16 scid; | 102 | __le16 scid; |
103 | __u16 result; | 103 | __le16 result; |
104 | __u16 status; | 104 | __le16 status; |
105 | } __attribute__ ((packed)); | 105 | } __attribute__ ((packed)); |
106 | 106 | ||
107 | /* connect result */ | 107 | /* connect result */ |
@@ -117,15 +117,15 @@ struct l2cap_conn_rsp { | |||
117 | #define L2CAP_CS_AUTHOR_PEND 0x0002 | 117 | #define L2CAP_CS_AUTHOR_PEND 0x0002 |
118 | 118 | ||
119 | struct l2cap_conf_req { | 119 | struct l2cap_conf_req { |
120 | __u16 dcid; | 120 | __le16 dcid; |
121 | __u16 flags; | 121 | __le16 flags; |
122 | __u8 data[0]; | 122 | __u8 data[0]; |
123 | } __attribute__ ((packed)); | 123 | } __attribute__ ((packed)); |
124 | 124 | ||
125 | struct l2cap_conf_rsp { | 125 | struct l2cap_conf_rsp { |
126 | __u16 scid; | 126 | __le16 scid; |
127 | __u16 flags; | 127 | __le16 flags; |
128 | __u16 result; | 128 | __le16 result; |
129 | __u8 data[0]; | 129 | __u8 data[0]; |
130 | } __attribute__ ((packed)); | 130 | } __attribute__ ((packed)); |
131 | 131 | ||
@@ -149,23 +149,23 @@ struct l2cap_conf_opt { | |||
149 | #define L2CAP_CONF_MAX_SIZE 22 | 149 | #define L2CAP_CONF_MAX_SIZE 22 |
150 | 150 | ||
151 | struct l2cap_disconn_req { | 151 | struct l2cap_disconn_req { |
152 | __u16 dcid; | 152 | __le16 dcid; |
153 | __u16 scid; | 153 | __le16 scid; |
154 | } __attribute__ ((packed)); | 154 | } __attribute__ ((packed)); |
155 | 155 | ||
156 | struct l2cap_disconn_rsp { | 156 | struct l2cap_disconn_rsp { |
157 | __u16 dcid; | 157 | __le16 dcid; |
158 | __u16 scid; | 158 | __le16 scid; |
159 | } __attribute__ ((packed)); | 159 | } __attribute__ ((packed)); |
160 | 160 | ||
161 | struct l2cap_info_req { | 161 | struct l2cap_info_req { |
162 | __u16 type; | 162 | __le16 type; |
163 | __u8 data[0]; | 163 | __u8 data[0]; |
164 | } __attribute__ ((packed)); | 164 | } __attribute__ ((packed)); |
165 | 165 | ||
166 | struct l2cap_info_rsp { | 166 | struct l2cap_info_rsp { |
167 | __u16 type; | 167 | __le16 type; |
168 | __u16 result; | 168 | __le16 result; |
169 | __u8 data[0]; | 169 | __u8 data[0]; |
170 | } __attribute__ ((packed)); | 170 | } __attribute__ ((packed)); |
171 | 171 | ||
@@ -207,7 +207,7 @@ struct l2cap_conn { | |||
207 | 207 | ||
208 | struct l2cap_pinfo { | 208 | struct l2cap_pinfo { |
209 | struct bt_sock bt; | 209 | struct bt_sock bt; |
210 | __u16 psm; | 210 | __le16 psm; |
211 | __u16 dcid; | 211 | __u16 dcid; |
212 | __u16 scid; | 212 | __u16 scid; |
213 | 213 | ||
@@ -225,7 +225,7 @@ struct l2cap_pinfo { | |||
225 | 225 | ||
226 | __u8 ident; | 226 | __u8 ident; |
227 | 227 | ||
228 | __u16 sport; | 228 | __le16 sport; |
229 | 229 | ||
230 | struct l2cap_conn *conn; | 230 | struct l2cap_conn *conn; |
231 | struct sock *next_c; | 231 | struct sock *next_c; |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 46b9dce82f6e..9059e0ed7fe3 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
@@ -17,6 +17,7 @@ | |||
17 | 17 | ||
18 | #include <linux/ipv6.h> | 18 | #include <linux/ipv6.h> |
19 | #include <linux/hardirq.h> | 19 | #include <linux/hardirq.h> |
20 | #include <net/if_inet6.h> | ||
20 | #include <net/ndisc.h> | 21 | #include <net/ndisc.h> |
21 | #include <net/flow.h> | 22 | #include <net/flow.h> |
22 | #include <net/snmp.h> | 23 | #include <net/snmp.h> |
diff --git a/include/net/netfilter/ipv6/nf_conntrack_ipv6.h b/include/net/netfilter/ipv6/nf_conntrack_ipv6.h index 5a8965904377..070d12cb4634 100644 --- a/include/net/netfilter/ipv6/nf_conntrack_ipv6.h +++ b/include/net/netfilter/ipv6/nf_conntrack_ipv6.h | |||
@@ -7,9 +7,6 @@ extern struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp6; | |||
7 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_udp6; | 7 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_udp6; |
8 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_icmpv6; | 8 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_icmpv6; |
9 | 9 | ||
10 | extern int nf_ct_ipv6_skip_exthdr(const struct sk_buff *skb, int start, | ||
11 | u8 *nexthdrp, int len); | ||
12 | |||
13 | extern int nf_ct_frag6_init(void); | 10 | extern int nf_ct_frag6_init(void); |
14 | extern void nf_ct_frag6_cleanup(void); | 11 | extern void nf_ct_frag6_cleanup(void); |
15 | extern struct sk_buff *nf_ct_frag6_gather(struct sk_buff *skb); | 12 | extern struct sk_buff *nf_ct_frag6_gather(struct sk_buff *skb); |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 8b404b1ef7c8..c209361ab74a 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -660,7 +660,7 @@ struct tcp_congestion_ops { | |||
660 | /* new value of cwnd after loss (optional) */ | 660 | /* new value of cwnd after loss (optional) */ |
661 | u32 (*undo_cwnd)(struct sock *sk); | 661 | u32 (*undo_cwnd)(struct sock *sk); |
662 | /* hook for packet ack accounting (optional) */ | 662 | /* hook for packet ack accounting (optional) */ |
663 | void (*pkts_acked)(struct sock *sk, u32 num_acked, ktime_t last); | 663 | void (*pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us); |
664 | /* get info for inet_diag (optional) */ | 664 | /* get info for inet_diag (optional) */ |
665 | void (*get_info)(struct sock *sk, u32 ext, struct sk_buff *skb); | 665 | void (*get_info)(struct sock *sk, u32 ext, struct sk_buff *skb); |
666 | 666 | ||