diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/crypto.h | 20 | ||||
-rw-r--r-- | include/linux/ethtool.h | 1 | ||||
-rw-r--r-- | include/linux/ieee80211.h | 11 | ||||
-rw-r--r-- | include/linux/if_macvlan.h | 9 | ||||
-rw-r--r-- | include/linux/if_vlan.h | 7 | ||||
-rw-r--r-- | include/linux/netdevice.h | 8 | ||||
-rw-r--r-- | include/linux/netfilter/xt_connlimit.h | 17 | ||||
-rw-r--r-- | include/net/act_api.h | 30 | ||||
-rw-r--r-- | include/net/cfg80211.h | 38 | ||||
-rw-r--r-- | include/net/inet_timewait_sock.h | 3 | ||||
-rw-r--r-- | include/net/iucv/af_iucv.h | 1 | ||||
-rw-r--r-- | include/net/mac80211.h | 22 | ||||
-rw-r--r-- | include/net/netfilter/ipv4/nf_conntrack_ipv4.h | 2 | ||||
-rw-r--r-- | include/net/netfilter/ipv6/nf_conntrack_ipv6.h | 2 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack.h | 4 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_l3proto.h | 8 | ||||
-rw-r--r-- | include/net/pkt_cls.h | 8 | ||||
-rw-r--r-- | include/net/pkt_sched.h | 4 | ||||
-rw-r--r-- | include/net/sch_generic.h | 2 |
19 files changed, 111 insertions, 86 deletions
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 0de7e2ace822..357e8cfedc37 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
@@ -295,28 +295,8 @@ struct blkcipher_tfm { | |||
295 | }; | 295 | }; |
296 | 296 | ||
297 | struct cipher_tfm { | 297 | struct cipher_tfm { |
298 | void *cit_iv; | ||
299 | unsigned int cit_ivsize; | ||
300 | u32 cit_mode; | ||
301 | int (*cit_setkey)(struct crypto_tfm *tfm, | 298 | int (*cit_setkey)(struct crypto_tfm *tfm, |
302 | const u8 *key, unsigned int keylen); | 299 | const u8 *key, unsigned int keylen); |
303 | int (*cit_encrypt)(struct crypto_tfm *tfm, | ||
304 | struct scatterlist *dst, | ||
305 | struct scatterlist *src, | ||
306 | unsigned int nbytes); | ||
307 | int (*cit_encrypt_iv)(struct crypto_tfm *tfm, | ||
308 | struct scatterlist *dst, | ||
309 | struct scatterlist *src, | ||
310 | unsigned int nbytes, u8 *iv); | ||
311 | int (*cit_decrypt)(struct crypto_tfm *tfm, | ||
312 | struct scatterlist *dst, | ||
313 | struct scatterlist *src, | ||
314 | unsigned int nbytes); | ||
315 | int (*cit_decrypt_iv)(struct crypto_tfm *tfm, | ||
316 | struct scatterlist *dst, | ||
317 | struct scatterlist *src, | ||
318 | unsigned int nbytes, u8 *iv); | ||
319 | void (*cit_xor_block)(u8 *dst, const u8 *src); | ||
320 | void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 300 | void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
321 | void (*cit_decrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); | 301 | void (*cit_decrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); |
322 | }; | 302 | }; |
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index f2d248f8cc92..3a632244f31b 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -265,6 +265,7 @@ u32 ethtool_op_get_link(struct net_device *dev); | |||
265 | u32 ethtool_op_get_tx_csum(struct net_device *dev); | 265 | u32 ethtool_op_get_tx_csum(struct net_device *dev); |
266 | int ethtool_op_set_tx_csum(struct net_device *dev, u32 data); | 266 | int ethtool_op_set_tx_csum(struct net_device *dev, u32 data); |
267 | int ethtool_op_set_tx_hw_csum(struct net_device *dev, u32 data); | 267 | int ethtool_op_set_tx_hw_csum(struct net_device *dev, u32 data); |
268 | int ethtool_op_set_tx_ipv6_csum(struct net_device *dev, u32 data); | ||
268 | u32 ethtool_op_get_sg(struct net_device *dev); | 269 | u32 ethtool_op_get_sg(struct net_device *dev); |
269 | int ethtool_op_set_sg(struct net_device *dev, u32 data); | 270 | int ethtool_op_set_sg(struct net_device *dev, u32 data); |
270 | u32 ethtool_op_get_tso(struct net_device *dev); | 271 | u32 ethtool_op_get_tso(struct net_device *dev); |
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index ecd61e8438a5..272f8c8c90da 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -227,6 +227,17 @@ struct ieee80211_cts { | |||
227 | #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) | 227 | #define WLAN_CAPABILITY_SHORT_SLOT_TIME (1<<10) |
228 | #define WLAN_CAPABILITY_DSSS_OFDM (1<<13) | 228 | #define WLAN_CAPABILITY_DSSS_OFDM (1<<13) |
229 | 229 | ||
230 | /* 802.11g ERP information element */ | ||
231 | #define WLAN_ERP_NON_ERP_PRESENT (1<<0) | ||
232 | #define WLAN_ERP_USE_PROTECTION (1<<1) | ||
233 | #define WLAN_ERP_BARKER_PREAMBLE (1<<2) | ||
234 | |||
235 | /* WLAN_ERP_BARKER_PREAMBLE values */ | ||
236 | enum { | ||
237 | WLAN_ERP_PREAMBLE_SHORT = 0, | ||
238 | WLAN_ERP_PREAMBLE_LONG = 1, | ||
239 | }; | ||
240 | |||
230 | /* Status codes */ | 241 | /* Status codes */ |
231 | enum ieee80211_statuscode { | 242 | enum ieee80211_statuscode { |
232 | WLAN_STATUS_SUCCESS = 0, | 243 | WLAN_STATUS_SUCCESS = 0, |
diff --git a/include/linux/if_macvlan.h b/include/linux/if_macvlan.h new file mode 100644 index 000000000000..0d9d7ea2c1cc --- /dev/null +++ b/include/linux/if_macvlan.h | |||
@@ -0,0 +1,9 @@ | |||
1 | #ifndef _LINUX_IF_MACVLAN_H | ||
2 | #define _LINUX_IF_MACVLAN_H | ||
3 | |||
4 | #ifdef __KERNEL__ | ||
5 | |||
6 | extern struct sk_buff *(*macvlan_handle_frame_hook)(struct sk_buff *); | ||
7 | |||
8 | #endif /* __KERNEL__ */ | ||
9 | #endif /* _LINUX_IF_MACVLAN_H */ | ||
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index 61a57dc2ac99..f8443fdb124a 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -127,13 +127,6 @@ struct vlan_dev_info { | |||
127 | * like DHCP that use packet-filtering and don't understand | 127 | * like DHCP that use packet-filtering and don't understand |
128 | * 802.1Q | 128 | * 802.1Q |
129 | */ | 129 | */ |
130 | struct dev_mc_list *old_mc_list; /* old multi-cast list for the VLAN interface.. | ||
131 | * we save this so we can tell what changes were | ||
132 | * made, in order to feed the right changes down | ||
133 | * to the real hardware... | ||
134 | */ | ||
135 | int old_allmulti; /* similar to above. */ | ||
136 | int old_promiscuity; /* similar to above. */ | ||
137 | struct net_device *real_dev; /* the underlying device/interface */ | 130 | struct net_device *real_dev; /* the underlying device/interface */ |
138 | unsigned char real_dev_addr[ETH_ALEN]; | 131 | unsigned char real_dev_addr[ETH_ALEN]; |
139 | struct proc_dir_entry *dent; /* Holds the proc data */ | 132 | struct proc_dir_entry *dent; /* Holds the proc data */ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 79cc3dab4be7..322b5eae57dd 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -190,6 +190,7 @@ struct dev_addr_list | |||
190 | struct dev_addr_list *next; | 190 | struct dev_addr_list *next; |
191 | u8 da_addr[MAX_ADDR_LEN]; | 191 | u8 da_addr[MAX_ADDR_LEN]; |
192 | u8 da_addrlen; | 192 | u8 da_addrlen; |
193 | u8 da_synced; | ||
193 | int da_users; | 194 | int da_users; |
194 | int da_gusers; | 195 | int da_gusers; |
195 | }; | 196 | }; |
@@ -516,6 +517,9 @@ struct net_device | |||
516 | void *saddr, | 517 | void *saddr, |
517 | unsigned len); | 518 | unsigned len); |
518 | int (*rebuild_header)(struct sk_buff *skb); | 519 | int (*rebuild_header)(struct sk_buff *skb); |
520 | #define HAVE_CHANGE_RX_FLAGS | ||
521 | void (*change_rx_flags)(struct net_device *dev, | ||
522 | int flags); | ||
519 | #define HAVE_SET_RX_MODE | 523 | #define HAVE_SET_RX_MODE |
520 | void (*set_rx_mode)(struct net_device *dev); | 524 | void (*set_rx_mode)(struct net_device *dev); |
521 | #define HAVE_MULTICAST | 525 | #define HAVE_MULTICAST |
@@ -560,6 +564,8 @@ struct net_device | |||
560 | 564 | ||
561 | /* bridge stuff */ | 565 | /* bridge stuff */ |
562 | struct net_bridge_port *br_port; | 566 | struct net_bridge_port *br_port; |
567 | /* macvlan */ | ||
568 | struct macvlan_port *macvlan_port; | ||
563 | 569 | ||
564 | /* class/net/name entry */ | 570 | /* class/net/name entry */ |
565 | struct device dev; | 571 | struct device dev; |
@@ -1100,6 +1106,8 @@ extern int dev_unicast_delete(struct net_device *dev, void *addr, int alen); | |||
1100 | extern int dev_unicast_add(struct net_device *dev, void *addr, int alen); | 1106 | extern int dev_unicast_add(struct net_device *dev, void *addr, int alen); |
1101 | extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all); | 1107 | extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all); |
1102 | extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly); | 1108 | extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly); |
1109 | extern int dev_mc_sync(struct net_device *to, struct net_device *from); | ||
1110 | extern void dev_mc_unsync(struct net_device *to, struct net_device *from); | ||
1103 | extern void dev_mc_discard(struct net_device *dev); | 1111 | extern void dev_mc_discard(struct net_device *dev); |
1104 | extern int __dev_addr_delete(struct dev_addr_list **list, int *count, void *addr, int alen, int all); | 1112 | extern int __dev_addr_delete(struct dev_addr_list **list, int *count, void *addr, int alen, int all); |
1105 | extern int __dev_addr_add(struct dev_addr_list **list, int *count, void *addr, int alen, int newonly); | 1113 | extern int __dev_addr_add(struct dev_addr_list **list, int *count, void *addr, int alen, int newonly); |
diff --git a/include/linux/netfilter/xt_connlimit.h b/include/linux/netfilter/xt_connlimit.h new file mode 100644 index 000000000000..90ae8b474cb8 --- /dev/null +++ b/include/linux/netfilter/xt_connlimit.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #ifndef _XT_CONNLIMIT_H | ||
2 | #define _XT_CONNLIMIT_H | ||
3 | |||
4 | struct xt_connlimit_data; | ||
5 | |||
6 | struct xt_connlimit_info { | ||
7 | union { | ||
8 | u_int32_t v4_mask; | ||
9 | u_int32_t v6_mask[4]; | ||
10 | }; | ||
11 | unsigned int limit, inverse; | ||
12 | |||
13 | /* this needs to be at the end */ | ||
14 | struct xt_connlimit_data *data __attribute__((aligned(8))); | ||
15 | }; | ||
16 | |||
17 | #endif /* _XT_CONNLIMIT_H */ | ||
diff --git a/include/net/act_api.h b/include/net/act_api.h index 2f0273feabd3..68b4eaf7719d 100644 --- a/include/net/act_api.h +++ b/include/net/act_api.h | |||
@@ -121,34 +121,4 @@ extern int tcf_action_dump_old(struct sk_buff *skb, struct tc_action *a, int, in | |||
121 | extern int tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int, int); | 121 | extern int tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int, int); |
122 | extern int tcf_action_copy_stats (struct sk_buff *,struct tc_action *, int); | 122 | extern int tcf_action_copy_stats (struct sk_buff *,struct tc_action *, int); |
123 | #endif /* CONFIG_NET_CLS_ACT */ | 123 | #endif /* CONFIG_NET_CLS_ACT */ |
124 | |||
125 | extern int tcf_police(struct sk_buff *skb, struct tcf_police *p); | ||
126 | extern void tcf_police_destroy(struct tcf_police *p); | ||
127 | extern struct tcf_police * tcf_police_locate(struct rtattr *rta, struct rtattr *est); | ||
128 | extern int tcf_police_dump(struct sk_buff *skb, struct tcf_police *p); | ||
129 | extern int tcf_police_dump_stats(struct sk_buff *skb, struct tcf_police *p); | ||
130 | |||
131 | static inline int | ||
132 | tcf_police_release(struct tcf_police *p, int bind) | ||
133 | { | ||
134 | int ret = 0; | ||
135 | #ifdef CONFIG_NET_CLS_ACT | ||
136 | if (p) { | ||
137 | if (bind) | ||
138 | p->tcf_bindcnt--; | ||
139 | |||
140 | p->tcf_refcnt--; | ||
141 | if (p->tcf_refcnt <= 0 && !p->tcf_bindcnt) { | ||
142 | tcf_police_destroy(p); | ||
143 | ret = 1; | ||
144 | } | ||
145 | } | ||
146 | #else | ||
147 | if (p && --p->tcf_refcnt == 0) | ||
148 | tcf_police_destroy(p); | ||
149 | |||
150 | #endif /* CONFIG_NET_CLS_ACT */ | ||
151 | return ret; | ||
152 | } | ||
153 | |||
154 | #endif | 124 | #endif |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 88171f8ce58a..7edaef6b29d6 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -11,6 +11,44 @@ | |||
11 | * Copyright 2006 Johannes Berg <johannes@sipsolutions.net> | 11 | * Copyright 2006 Johannes Berg <johannes@sipsolutions.net> |
12 | */ | 12 | */ |
13 | 13 | ||
14 | |||
15 | /* Radiotap header iteration | ||
16 | * implemented in net/wireless/radiotap.c | ||
17 | * docs in Documentation/networking/radiotap-headers.txt | ||
18 | */ | ||
19 | /** | ||
20 | * struct ieee80211_radiotap_iterator - tracks walk thru present radiotap args | ||
21 | * @rtheader: pointer to the radiotap header we are walking through | ||
22 | * @max_length: length of radiotap header in cpu byte ordering | ||
23 | * @this_arg_index: IEEE80211_RADIOTAP_... index of current arg | ||
24 | * @this_arg: pointer to current radiotap arg | ||
25 | * @arg_index: internal next argument index | ||
26 | * @arg: internal next argument pointer | ||
27 | * @next_bitmap: internal pointer to next present u32 | ||
28 | * @bitmap_shifter: internal shifter for curr u32 bitmap, b0 set == arg present | ||
29 | */ | ||
30 | |||
31 | struct ieee80211_radiotap_iterator { | ||
32 | struct ieee80211_radiotap_header *rtheader; | ||
33 | int max_length; | ||
34 | int this_arg_index; | ||
35 | u8 *this_arg; | ||
36 | |||
37 | int arg_index; | ||
38 | u8 *arg; | ||
39 | __le32 *next_bitmap; | ||
40 | u32 bitmap_shifter; | ||
41 | }; | ||
42 | |||
43 | extern int ieee80211_radiotap_iterator_init( | ||
44 | struct ieee80211_radiotap_iterator *iterator, | ||
45 | struct ieee80211_radiotap_header *radiotap_header, | ||
46 | int max_length); | ||
47 | |||
48 | extern int ieee80211_radiotap_iterator_next( | ||
49 | struct ieee80211_radiotap_iterator *iterator); | ||
50 | |||
51 | |||
14 | /* from net/wireless.h */ | 52 | /* from net/wireless.h */ |
15 | struct wiphy; | 53 | struct wiphy; |
16 | 54 | ||
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index 09a2532699b2..47d52b2414db 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h | |||
@@ -209,9 +209,6 @@ static inline void inet_twsk_put(struct inet_timewait_sock *tw) | |||
209 | extern struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, | 209 | extern struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, |
210 | const int state); | 210 | const int state); |
211 | 211 | ||
212 | extern void __inet_twsk_kill(struct inet_timewait_sock *tw, | ||
213 | struct inet_hashinfo *hashinfo); | ||
214 | |||
215 | extern void __inet_twsk_hashdance(struct inet_timewait_sock *tw, | 212 | extern void __inet_twsk_hashdance(struct inet_timewait_sock *tw, |
216 | struct sock *sk, | 213 | struct sock *sk, |
217 | struct inet_hashinfo *hashinfo); | 214 | struct inet_hashinfo *hashinfo); |
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h index f9bd11be1891..b6c468cd7f5b 100644 --- a/include/net/iucv/af_iucv.h +++ b/include/net/iucv/af_iucv.h | |||
@@ -60,6 +60,7 @@ struct iucv_sock { | |||
60 | char dst_user_id[8]; | 60 | char dst_user_id[8]; |
61 | char dst_name[8]; | 61 | char dst_name[8]; |
62 | struct list_head accept_q; | 62 | struct list_head accept_q; |
63 | spinlock_t accept_q_lock; | ||
63 | struct sock *parent; | 64 | struct sock *parent; |
64 | struct iucv_path *path; | 65 | struct iucv_path *path; |
65 | struct sk_buff_head send_skb_q; | 66 | struct sk_buff_head send_skb_q; |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index a7f122b79948..c34fd9a6160a 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -347,9 +347,16 @@ enum ieee80211_if_types { | |||
347 | * @mac_addr: pointer to MAC address of the interface. This pointer is valid | 347 | * @mac_addr: pointer to MAC address of the interface. This pointer is valid |
348 | * until the interface is removed (i.e. it cannot be used after | 348 | * until the interface is removed (i.e. it cannot be used after |
349 | * remove_interface() callback was called for this interface). | 349 | * remove_interface() callback was called for this interface). |
350 | * This pointer will be %NULL for monitor interfaces, be careful. | ||
350 | * | 351 | * |
351 | * This structure is used in add_interface() and remove_interface() | 352 | * This structure is used in add_interface() and remove_interface() |
352 | * callbacks of &struct ieee80211_hw. | 353 | * callbacks of &struct ieee80211_hw. |
354 | * | ||
355 | * When you allow multiple interfaces to be added to your PHY, take care | ||
356 | * that the hardware can actually handle multiple MAC addresses. However, | ||
357 | * also take care that when there's no interface left with mac_addr != %NULL | ||
358 | * you remove the MAC address from the device to avoid acknowledging packets | ||
359 | * in pure monitor mode. | ||
353 | */ | 360 | */ |
354 | struct ieee80211_if_init_conf { | 361 | struct ieee80211_if_init_conf { |
355 | int if_id; | 362 | int if_id; |
@@ -574,10 +581,11 @@ struct ieee80211_ops { | |||
574 | * to returning zero. By returning non-zero addition of the interface | 581 | * to returning zero. By returning non-zero addition of the interface |
575 | * is inhibited. Unless monitor_during_oper is set, it is guaranteed | 582 | * is inhibited. Unless monitor_during_oper is set, it is guaranteed |
576 | * that monitor interfaces and normal interfaces are mutually | 583 | * that monitor interfaces and normal interfaces are mutually |
577 | * exclusive. The open() handler is called after add_interface() | 584 | * exclusive. If assigned, the open() handler is called after |
578 | * if this is the first device added. At least one of the open() | 585 | * add_interface() if this is the first device added. The |
579 | * open() and add_interface() callbacks has to be assigned. If | 586 | * add_interface() callback has to be assigned because it is the only |
580 | * add_interface() is NULL, one STA interface is permitted only. */ | 587 | * way to obtain the requested MAC address for any interface. |
588 | */ | ||
581 | int (*add_interface)(struct ieee80211_hw *hw, | 589 | int (*add_interface)(struct ieee80211_hw *hw, |
582 | struct ieee80211_if_init_conf *conf); | 590 | struct ieee80211_if_init_conf *conf); |
583 | 591 | ||
@@ -921,12 +929,6 @@ struct sk_buff * | |||
921 | ieee80211_get_buffered_bc(struct ieee80211_hw *hw, int if_id, | 929 | ieee80211_get_buffered_bc(struct ieee80211_hw *hw, int if_id, |
922 | struct ieee80211_tx_control *control); | 930 | struct ieee80211_tx_control *control); |
923 | 931 | ||
924 | /* Low level drivers that have their own MLME and MAC indicate | ||
925 | * the aid for an associating station with this call */ | ||
926 | int ieee80211_set_aid_for_sta(struct ieee80211_hw *hw, | ||
927 | u8 *peer_address, u16 aid); | ||
928 | |||
929 | |||
930 | /* Given an sk_buff with a raw 802.11 header at the data pointer this function | 932 | /* Given an sk_buff with a raw 802.11 header at the data pointer this function |
931 | * returns the 802.11 header length in bytes (not including encryption | 933 | * returns the 802.11 header length in bytes (not including encryption |
932 | * headers). If the data in the sk_buff is too short to contain a valid 802.11 | 934 | * headers). If the data in the sk_buff is too short to contain a valid 802.11 |
diff --git a/include/net/netfilter/ipv4/nf_conntrack_ipv4.h b/include/net/netfilter/ipv4/nf_conntrack_ipv4.h index 3ed4e14970c5..7a671603fca6 100644 --- a/include/net/netfilter/ipv4/nf_conntrack_ipv4.h +++ b/include/net/netfilter/ipv4/nf_conntrack_ipv4.h | |||
@@ -12,6 +12,8 @@ | |||
12 | /* Returns new sk_buff, or NULL */ | 12 | /* Returns new sk_buff, or NULL */ |
13 | struct sk_buff *nf_ct_ipv4_ct_gather_frags(struct sk_buff *skb); | 13 | struct sk_buff *nf_ct_ipv4_ct_gather_frags(struct sk_buff *skb); |
14 | 14 | ||
15 | extern struct nf_conntrack_l3proto nf_conntrack_l3proto_ipv4; | ||
16 | |||
15 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp4; | 17 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_tcp4; |
16 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_udp4; | 18 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_udp4; |
17 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_icmp; | 19 | extern struct nf_conntrack_l4proto nf_conntrack_l4proto_icmp; |
diff --git a/include/net/netfilter/ipv6/nf_conntrack_ipv6.h b/include/net/netfilter/ipv6/nf_conntrack_ipv6.h index b4b6049e01fa..5a8965904377 100644 --- a/include/net/netfilter/ipv6/nf_conntrack_ipv6.h +++ b/include/net/netfilter/ipv6/nf_conntrack_ipv6.h | |||
@@ -7,7 +7,7 @@ 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(struct sk_buff *skb, int start, | 10 | extern int nf_ct_ipv6_skip_exthdr(const struct sk_buff *skb, int start, |
11 | u8 *nexthdrp, int len); | 11 | u8 *nexthdrp, int len); |
12 | 12 | ||
13 | extern int nf_ct_frag6_init(void); | 13 | extern int nf_ct_frag6_init(void); |
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h index d4f02eb0c66c..810020ec345d 100644 --- a/include/net/netfilter/nf_conntrack.h +++ b/include/net/netfilter/nf_conntrack.h | |||
@@ -186,6 +186,10 @@ extern void nf_conntrack_hash_insert(struct nf_conn *ct); | |||
186 | 186 | ||
187 | extern void nf_conntrack_flush(void); | 187 | extern void nf_conntrack_flush(void); |
188 | 188 | ||
189 | extern int nf_ct_get_tuplepr(const struct sk_buff *skb, | ||
190 | unsigned int nhoff, | ||
191 | u_int16_t l3num, | ||
192 | struct nf_conntrack_tuple *tuple); | ||
189 | extern int nf_ct_invert_tuplepr(struct nf_conntrack_tuple *inverse, | 193 | extern int nf_ct_invert_tuplepr(struct nf_conntrack_tuple *inverse, |
190 | const struct nf_conntrack_tuple *orig); | 194 | const struct nf_conntrack_tuple *orig); |
191 | 195 | ||
diff --git a/include/net/netfilter/nf_conntrack_l3proto.h b/include/net/netfilter/nf_conntrack_l3proto.h index 890752d7f673..3c58a2c4df28 100644 --- a/include/net/netfilter/nf_conntrack_l3proto.h +++ b/include/net/netfilter/nf_conntrack_l3proto.h | |||
@@ -58,11 +58,11 @@ struct nf_conntrack_l3proto | |||
58 | 58 | ||
59 | /* | 59 | /* |
60 | * Called before tracking. | 60 | * Called before tracking. |
61 | * *dataoff: offset of protocol header (TCP, UDP,...) in *pskb | 61 | * *dataoff: offset of protocol header (TCP, UDP,...) in skb |
62 | * *protonum: protocol number | 62 | * *protonum: protocol number |
63 | */ | 63 | */ |
64 | int (*prepare)(struct sk_buff **pskb, unsigned int hooknum, | 64 | int (*get_l4proto)(const struct sk_buff *skb, unsigned int nhoff, |
65 | unsigned int *dataoff, u_int8_t *protonum); | 65 | unsigned int *dataoff, u_int8_t *protonum); |
66 | 66 | ||
67 | int (*tuple_to_nfattr)(struct sk_buff *skb, | 67 | int (*tuple_to_nfattr)(struct sk_buff *skb, |
68 | const struct nf_conntrack_tuple *t); | 68 | const struct nf_conntrack_tuple *t); |
@@ -89,8 +89,6 @@ extern struct nf_conntrack_l3proto *nf_ct_l3proto_find_get(u_int16_t l3proto); | |||
89 | extern void nf_ct_l3proto_put(struct nf_conntrack_l3proto *p); | 89 | extern void nf_ct_l3proto_put(struct nf_conntrack_l3proto *p); |
90 | 90 | ||
91 | /* Existing built-in protocols */ | 91 | /* Existing built-in protocols */ |
92 | extern struct nf_conntrack_l3proto nf_conntrack_l3proto_ipv4; | ||
93 | extern struct nf_conntrack_l3proto nf_conntrack_l3proto_ipv6; | ||
94 | extern struct nf_conntrack_l3proto nf_conntrack_l3proto_generic; | 92 | extern struct nf_conntrack_l3proto nf_conntrack_l3proto_generic; |
95 | 93 | ||
96 | static inline struct nf_conntrack_l3proto * | 94 | static inline struct nf_conntrack_l3proto * |
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h index 6c29920cbe29..7968b1d66369 100644 --- a/include/net/pkt_cls.h +++ b/include/net/pkt_cls.h | |||
@@ -65,8 +65,6 @@ struct tcf_exts | |||
65 | { | 65 | { |
66 | #ifdef CONFIG_NET_CLS_ACT | 66 | #ifdef CONFIG_NET_CLS_ACT |
67 | struct tc_action *action; | 67 | struct tc_action *action; |
68 | #elif defined CONFIG_NET_CLS_POLICE | ||
69 | struct tcf_police *police; | ||
70 | #endif | 68 | #endif |
71 | }; | 69 | }; |
72 | 70 | ||
@@ -91,8 +89,6 @@ tcf_exts_is_predicative(struct tcf_exts *exts) | |||
91 | { | 89 | { |
92 | #ifdef CONFIG_NET_CLS_ACT | 90 | #ifdef CONFIG_NET_CLS_ACT |
93 | return !!exts->action; | 91 | return !!exts->action; |
94 | #elif defined CONFIG_NET_CLS_POLICE | ||
95 | return !!exts->police; | ||
96 | #else | 92 | #else |
97 | return 0; | 93 | return 0; |
98 | #endif | 94 | #endif |
@@ -129,11 +125,7 @@ tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts, | |||
129 | #ifdef CONFIG_NET_CLS_ACT | 125 | #ifdef CONFIG_NET_CLS_ACT |
130 | if (exts->action) | 126 | if (exts->action) |
131 | return tcf_action_exec(skb, exts->action, res); | 127 | return tcf_action_exec(skb, exts->action, res); |
132 | #elif defined CONFIG_NET_CLS_POLICE | ||
133 | if (exts->police) | ||
134 | return tcf_police(skb, exts->police); | ||
135 | #endif | 128 | #endif |
136 | |||
137 | return 0; | 129 | return 0; |
138 | } | 130 | } |
139 | 131 | ||
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index 5754d53d9efc..9e22526e80e7 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h | |||
@@ -89,8 +89,10 @@ static inline void qdisc_run(struct net_device *dev) | |||
89 | __qdisc_run(dev); | 89 | __qdisc_run(dev); |
90 | } | 90 | } |
91 | 91 | ||
92 | extern int tc_classify_compat(struct sk_buff *skb, struct tcf_proto *tp, | ||
93 | struct tcf_result *res); | ||
92 | extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp, | 94 | extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp, |
93 | struct tcf_result *res); | 95 | struct tcf_result *res); |
94 | 96 | ||
95 | /* Calculate maximal size of packet seen by hard_start_xmit | 97 | /* Calculate maximal size of packet seen by hard_start_xmit |
96 | routine of this device. | 98 | routine of this device. |
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 1b8e35197ebe..8a67f24cbe02 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h | |||
@@ -290,7 +290,7 @@ static inline int qdisc_reshape_fail(struct sk_buff *skb, struct Qdisc *sch) | |||
290 | { | 290 | { |
291 | sch->qstats.drops++; | 291 | sch->qstats.drops++; |
292 | 292 | ||
293 | #ifdef CONFIG_NET_CLS_POLICE | 293 | #ifdef CONFIG_NET_CLS_ACT |
294 | if (sch->reshape_fail == NULL || sch->reshape_fail(skb, sch)) | 294 | if (sch->reshape_fail == NULL || sch->reshape_fail(skb, sch)) |
295 | goto drop; | 295 | goto drop; |
296 | 296 | ||