diff options
Diffstat (limited to 'include/net/ip.h')
-rw-r--r-- | include/net/ip.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index 250e6ef025a4..bc026ecb513f 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
@@ -29,6 +29,7 @@ | |||
29 | 29 | ||
30 | #include <net/inet_sock.h> | 30 | #include <net/inet_sock.h> |
31 | #include <net/snmp.h> | 31 | #include <net/snmp.h> |
32 | #include <net/flow.h> | ||
32 | 33 | ||
33 | struct sock; | 34 | struct sock; |
34 | 35 | ||
@@ -140,12 +141,20 @@ static inline void ip_tr_mc_map(__be32 addr, char *buf) | |||
140 | 141 | ||
141 | struct ip_reply_arg { | 142 | struct ip_reply_arg { |
142 | struct kvec iov[1]; | 143 | struct kvec iov[1]; |
144 | int flags; | ||
143 | __wsum csum; | 145 | __wsum csum; |
144 | int csumoffset; /* u16 offset of csum in iov[0].iov_base */ | 146 | int csumoffset; /* u16 offset of csum in iov[0].iov_base */ |
145 | /* -1 if not needed */ | 147 | /* -1 if not needed */ |
146 | int bound_dev_if; | 148 | int bound_dev_if; |
147 | }; | 149 | }; |
148 | 150 | ||
151 | #define IP_REPLY_ARG_NOSRCCHECK 1 | ||
152 | |||
153 | static inline __u8 ip_reply_arg_flowi_flags(const struct ip_reply_arg *arg) | ||
154 | { | ||
155 | return (arg->flags & IP_REPLY_ARG_NOSRCCHECK) ? FLOWI_FLAG_ANYSRC : 0; | ||
156 | } | ||
157 | |||
149 | void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *arg, | 158 | void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *arg, |
150 | unsigned int len); | 159 | unsigned int len); |
151 | 160 | ||
@@ -169,6 +178,10 @@ extern unsigned long snmp_fold_field(void *mib[], int offt); | |||
169 | extern int snmp_mib_init(void *ptr[2], size_t mibsize); | 178 | extern int snmp_mib_init(void *ptr[2], size_t mibsize); |
170 | extern void snmp_mib_free(void *ptr[2]); | 179 | extern void snmp_mib_free(void *ptr[2]); |
171 | 180 | ||
181 | extern struct local_ports { | ||
182 | seqlock_t lock; | ||
183 | int range[2]; | ||
184 | } sysctl_local_ports; | ||
172 | extern void inet_get_local_port_range(int *low, int *high); | 185 | extern void inet_get_local_port_range(int *low, int *high); |
173 | 186 | ||
174 | extern int sysctl_ip_default_ttl; | 187 | extern int sysctl_ip_default_ttl; |
@@ -383,7 +396,7 @@ extern void ip_local_error(struct sock *sk, int err, __be32 daddr, __be16 dport, | |||
383 | int ipv4_doint_and_flush(ctl_table *ctl, int write, | 396 | int ipv4_doint_and_flush(ctl_table *ctl, int write, |
384 | struct file* filp, void __user *buffer, | 397 | struct file* filp, void __user *buffer, |
385 | size_t *lenp, loff_t *ppos); | 398 | size_t *lenp, loff_t *ppos); |
386 | int ipv4_doint_and_flush_strategy(ctl_table *table, int __user *name, int nlen, | 399 | int ipv4_doint_and_flush_strategy(ctl_table *table, |
387 | void __user *oldval, size_t __user *oldlenp, | 400 | void __user *oldval, size_t __user *oldlenp, |
388 | void __user *newval, size_t newlen); | 401 | void __user *newval, size_t newlen); |
389 | #ifdef CONFIG_PROC_FS | 402 | #ifdef CONFIG_PROC_FS |