Showing the changes to include/linux/netfilter (8 of 71 files). Show all
Unified · Split
| @@ -7,16 +7,21 @@ header-y += xt_CLASSIFY.h · 6 unmodified lines | ||
| 7 | 7 | header-y += xt_CONNMARK.h |
| 8 | 8 | header-y += xt_CONNSECMARK.h |
| 9 | 9 | header-y += xt_DSCP.h |
| 10 | +header-y += xt_LED.h | |
| 10 | 11 | header-y += xt_MARK.h |
| 11 | 12 | header-y += xt_NFLOG.h |
| 12 | 13 | header-y += xt_NFQUEUE.h |
| 13 | 14 | header-y += xt_RATEEST.h |
| 14 | 15 | header-y += xt_SECMARK.h |
| 15 | 16 | header-y += xt_TCPMSS.h |
| 17 | +header-y += xt_TCPOPTSTRIP.h | |
| 18 | +header-y += xt_TPROXY.h | |
| 16 | 19 | header-y += xt_comment.h |
| 17 | 20 | header-y += xt_connbytes.h |
| 21 | +header-y += xt_connlimit.h | |
| 18 | 22 | header-y += xt_connmark.h |
| 19 | 23 | header-y += xt_conntrack.h |
| 24 | +header-y += xt_cluster.h | |
| 20 | 25 | header-y += xt_dccp.h |
| 21 | 26 | header-y += xt_dscp.h |
| 22 | 27 | header-y += xt_esp.h |
| @@ -30,6 +35,7 @@ header-y += xt_mark.h · 7 unmodified lines | ||
| 30 | 35 | header-y += xt_multiport.h |
| 31 | 36 | header-y += xt_owner.h |
| 32 | 37 | header-y += xt_pkttype.h |
| 38 | +header-y += xt_quota.h | |
| 33 | 39 | header-y += xt_rateest.h |
| 34 | 40 | header-y += xt_realm.h |
| 35 | 41 | header-y += xt_recent.h |
| @@ -39,6 +45,8 @@ header-y += xt_statistic.h · 3 unmodified lines | ||
| 39 | 45 | header-y += xt_string.h |
| 40 | 46 | header-y += xt_tcpmss.h |
| 41 | 47 | header-y += xt_tcpudp.h |
| 48 | +header-y += xt_time.h | |
| 49 | +header-y += xt_u32.h | |
| 42 | 50 | |
| 43 | 51 | unifdef-y += nf_conntrack_common.h |
| 44 | 52 | unifdef-y += nf_conntrack_ftp.h |
| @@ -76,6 +76,7 @@ extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n); · 75 unmodified lines | ||
| 76 | 76 | extern int nfnetlink_has_listeners(unsigned int group); |
| 77 | 77 | extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, |
| 78 | 78 | int echo); |
| 79 | +extern void nfnetlink_set_err(u32 pid, u32 group, int error); | |
| 79 | 80 | extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags); |
| 80 | 81 | |
| 81 | 82 | extern void nfnl_lock(void); |
| @@ -349,23 +349,22 @@ struct xt_table · 348 unmodified lines | ||
| 349 | 349 | { |
| 350 | 350 | struct list_head list; |
| 351 | 351 | |
| 352 | − /* A unique name... */ | |
| 353 | − const char name[XT_TABLE_MAXNAMELEN]; | |
| 354 | − | |
| 355 | 352 | /* What hooks you will enter on */ |
| 356 | 353 | unsigned int valid_hooks; |
| 357 | 354 | |
| 358 | 355 | /* Lock for the curtain */ |
| 359 | − rwlock_t lock; | |
| 356 | + struct mutex lock; | |
| 360 | 357 | |
| 361 | 358 | /* Man behind the curtain... */ |
| 362 | − //struct ip6t_table_info *private; | |
| 363 | − void *private; | |
| 359 | + struct xt_table_info *private; | |
| 364 | 360 | |
| 365 | 361 | /* Set this to THIS_MODULE if you are a module, otherwise NULL */ |
| 366 | 362 | struct module *me; |
| 367 | 363 | |
| 368 | 364 | u_int8_t af; /* address/protocol family */ |
| 365 | + | |
| 366 | + /* A unique name... */ | |
| 367 | + const char name[XT_TABLE_MAXNAMELEN]; | |
| 369 | 368 | }; |
| 370 | 369 | |
| 371 | 370 | #include <linux/netfilter_ipv4.h> |
| @@ -386,7 +385,7 @@ struct xt_table_info · 14 unmodified lines | ||
| 386 | 385 | |
| 387 | 386 | /* ipt_entry tables: one per CPU */ |
| 388 | 387 | /* Note : this field MUST be the last one, see XT_TABLE_INFO_SZ */ |
| 389 | − char *entries[1]; | |
| 388 | + void *entries[1]; | |
| 390 | 389 | }; |
| 391 | 390 | |
| 392 | 391 | #define XT_TABLE_INFO_SZ (offsetof(struct xt_table_info, entries) \ |
| @@ -433,6 +432,8 @@ extern void xt_proto_fini(struct net *net, u_int8_t af); · 40 unmodified lines | ||
| 433 | 432 | |
| 434 | 433 | extern struct xt_table_info *xt_alloc_table_info(unsigned int size); |
| 435 | 434 | extern void xt_free_table_info(struct xt_table_info *info); |
| 435 | +extern void xt_table_entry_swap_rcu(struct xt_table_info *old, | |
| 436 | + struct xt_table_info *new); | |
| 436 | 437 | |
| 437 | 438 | #ifdef CONFIG_COMPAT |
| 438 | 439 | #include <net/compat.h> |
| @@ -0,0 +1,13 @@ | ||
| 1 | +#ifndef _XT_LED_H | |
| 2 | +#define _XT_LED_H | |
| 3 | + | |
| 4 | +struct xt_led_info { | |
| 5 | + char id[27]; /* Unique ID for this trigger in the LED class */ | |
| 6 | + __u8 always_blink; /* Blink even if the LED is already on */ | |
| 7 | + __u32 delay; /* Delay until LED is switched off after trigger */ | |
| 8 | + | |
| 9 | + /* Kernel data used in the module */ | |
| 10 | + void *internal_data __attribute__((aligned(8))); | |
| 11 | +}; | |
| 12 | + | |
| 13 | +#endif /* _XT_LED_H */ | |
| @@ -0,0 +1,15 @@ | ||
| 1 | +#ifndef _XT_CLUSTER_MATCH_H | |
| 2 | +#define _XT_CLUSTER_MATCH_H | |
| 3 | + | |
| 4 | +enum xt_cluster_flags { | |
| 5 | + XT_CLUSTER_F_INV = (1 << 0) | |
| 6 | +}; | |
| 7 | + | |
| 8 | +struct xt_cluster_match_info { | |
| 9 | + u_int32_t total_nodes; | |
| 10 | + u_int32_t node_mask; | |
| 11 | + u_int32_t hash_seed; | |
| 12 | + u_int32_t flags; | |
| 13 | +}; | |
| 14 | + | |
| 15 | +#endif /* _XT_CLUSTER_MATCH_H */ | |
| @@ -4,6 +4,8 @@ · 3 unmodified lines | ||
| 4 | 4 | /* timings are in milliseconds. */ |
| 5 | 5 | #define XT_LIMIT_SCALE 10000 |
| 6 | 6 | |
| 7 | +struct xt_limit_priv; | |
| 8 | + | |
| 7 | 9 | /* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490 |
| 8 | 10 | seconds, or one every 59 hours. */ |
| 9 | 11 | struct xt_rateinfo { |
| @@ -11,11 +13,10 @@ struct xt_rateinfo { · 1 unmodified line | ||
| 11 | 13 | u_int32_t burst; /* Period multiplier for upper limit. */ |
| 12 | 14 | |
| 13 | 15 | /* Used internally by the kernel */ |
| 14 | − unsigned long prev; | |
| 15 | − u_int32_t credit; | |
| 16 | + unsigned long prev; /* moved to xt_limit_priv */ | |
| 17 | + u_int32_t credit; /* moved to xt_limit_priv */ | |
| 16 | 18 | u_int32_t credit_cap, cost; |
| 17 | 19 | |
| 18 | − /* Ugly, ugly fucker. */ | |
| 19 | − struct xt_rateinfo *master; | |
| 20 | + struct xt_limit_priv *master; | |
| 20 | 21 | }; |
| 21 | 22 | #endif /*_XT_RATE_H*/ |
| @@ -6,13 +6,15 @@ enum xt_quota_flags { · 5 unmodified lines | ||
| 6 | 6 | }; |
| 7 | 7 | #define XT_QUOTA_MASK 0x1 |
| 8 | 8 | |
| 9 | +struct xt_quota_priv; | |
| 10 | + | |
| 9 | 11 | struct xt_quota_info { |
| 10 | 12 | u_int32_t flags; |
| 11 | 13 | u_int32_t pad; |
| 12 | 14 | |
| 13 | 15 | /* Used internally by the kernel */ |
| 14 | 16 | aligned_u64 quota; |
| 15 | − struct xt_quota_info *master; | |
| 17 | + struct xt_quota_priv *master; | |
| 16 | 18 | }; |
| 17 | 19 | |
| 18 | 20 | #endif /* _XT_QUOTA_H */ |
| @@ -13,6 +13,8 @@ enum xt_statistic_flags { · 12 unmodified lines | ||
| 13 | 13 | }; |
| 14 | 14 | #define XT_STATISTIC_MASK 0x1 |
| 15 | 15 | |
| 16 | +struct xt_statistic_priv; | |
| 17 | + | |
| 16 | 18 | struct xt_statistic_info { |
| 17 | 19 | u_int16_t mode; |
| 18 | 20 | u_int16_t flags; |
| @@ -23,11 +25,10 @@ struct xt_statistic_info { · 4 unmodified lines | ||
| 23 | 25 | struct { |
| 24 | 26 | u_int32_t every; |
| 25 | 27 | u_int32_t packet; |
| 26 | − /* Used internally by the kernel */ | |
| 27 | − u_int32_t count; | |
| 28 | + u_int32_t count; /* unused */ | |
| 28 | 29 | } nth; |
| 29 | 30 | } u; |
| 30 | − struct xt_statistic_info *master __attribute__((aligned(8))); | |
| 31 | + struct xt_statistic_priv *master __attribute__((aligned(8))); | |
| 31 | 32 | }; |
| 32 | 33 | |
| 33 | 34 | #endif /* _XT_STATISTIC_H */ |