~ubuntu-branches/debian/experimental/linux-tools/experimental

« back to all changes in this revision

Viewing changes to include/net/ip_fib.h

  • Committer: Package Import Robot
  • Author(s): Ben Hutchings
  • Date: 2014-02-02 16:57:49 UTC
  • mfrom: (1.1.10) (0.1.21 sid)
  • Revision ID: package-import@ubuntu.com-20140202165749-tw94o9t1t0a8txk6
Tags: 3.13-1~exp2
Merge changes from sid up to 3.12.6-3

Show diffs side-by-side

added added

removed removed

Lines of Context:
165
165
#define FIB_TABLE_HASHSZ 2
166
166
#endif
167
167
 
168
 
extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
 
168
__be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
169
169
 
170
170
#define FIB_RES_SADDR(net, res)                         \
171
171
        ((FIB_RES_NH(res).nh_saddr_genid ==             \
187
187
        unsigned long           tb_data[0];
188
188
};
189
189
 
190
 
extern int fib_table_lookup(struct fib_table *tb, const struct flowi4 *flp,
191
 
                            struct fib_result *res, int fib_flags);
192
 
extern int fib_table_insert(struct fib_table *, struct fib_config *);
193
 
extern int fib_table_delete(struct fib_table *, struct fib_config *);
194
 
extern int fib_table_dump(struct fib_table *table, struct sk_buff *skb,
195
 
                          struct netlink_callback *cb);
196
 
extern int fib_table_flush(struct fib_table *table);
197
 
extern void fib_free_table(struct fib_table *tb);
 
190
int fib_table_lookup(struct fib_table *tb, const struct flowi4 *flp,
 
191
                     struct fib_result *res, int fib_flags);
 
192
int fib_table_insert(struct fib_table *, struct fib_config *);
 
193
int fib_table_delete(struct fib_table *, struct fib_config *);
 
194
int fib_table_dump(struct fib_table *table, struct sk_buff *skb,
 
195
                   struct netlink_callback *cb);
 
196
int fib_table_flush(struct fib_table *table);
 
197
void fib_free_table(struct fib_table *tb);
198
198
 
199
199
 
200
200
 
234
234
}
235
235
 
236
236
#else /* CONFIG_IP_MULTIPLE_TABLES */
237
 
extern int __net_init fib4_rules_init(struct net *net);
238
 
extern void __net_exit fib4_rules_exit(struct net *net);
239
 
 
240
 
extern struct fib_table *fib_new_table(struct net *net, u32 id);
241
 
extern struct fib_table *fib_get_table(struct net *net, u32 id);
242
 
 
243
 
extern int __fib_lookup(struct net *net, struct flowi4 *flp,
244
 
                        struct fib_result *res);
 
237
int __net_init fib4_rules_init(struct net *net);
 
238
void __net_exit fib4_rules_exit(struct net *net);
 
239
 
 
240
struct fib_table *fib_new_table(struct net *net, u32 id);
 
241
struct fib_table *fib_get_table(struct net *net, u32 id);
 
242
 
 
243
int __fib_lookup(struct net *net, struct flowi4 *flp, struct fib_result *res);
245
244
 
246
245
static inline int fib_lookup(struct net *net, struct flowi4 *flp,
247
246
                             struct fib_result *res)
269
268
 
270
269
/* Exported by fib_frontend.c */
271
270
extern const struct nla_policy rtm_ipv4_policy[];
272
 
extern void             ip_fib_init(void);
273
 
extern __be32 fib_compute_spec_dst(struct sk_buff *skb);
274
 
extern int fib_validate_source(struct sk_buff *skb, __be32 src, __be32 dst,
275
 
                               u8 tos, int oif, struct net_device *dev,
276
 
                               struct in_device *idev, u32 *itag);
277
 
extern void fib_select_default(struct fib_result *res);
 
271
void ip_fib_init(void);
 
272
__be32 fib_compute_spec_dst(struct sk_buff *skb);
 
273
int fib_validate_source(struct sk_buff *skb, __be32 src, __be32 dst,
 
274
                        u8 tos, int oif, struct net_device *dev,
 
275
                        struct in_device *idev, u32 *itag);
 
276
void fib_select_default(struct fib_result *res);
278
277
#ifdef CONFIG_IP_ROUTE_CLASSID
279
278
static inline int fib_num_tclassid_users(struct net *net)
280
279
{
288
287
#endif
289
288
 
290
289
/* Exported by fib_semantics.c */
291
 
extern int ip_fib_check_default(__be32 gw, struct net_device *dev);
292
 
extern int fib_sync_down_dev(struct net_device *dev, int force);
293
 
extern int fib_sync_down_addr(struct net *net, __be32 local);
294
 
extern int fib_sync_up(struct net_device *dev);
295
 
extern void fib_select_multipath(struct fib_result *res);
 
290
int ip_fib_check_default(__be32 gw, struct net_device *dev);
 
291
int fib_sync_down_dev(struct net_device *dev, int force);
 
292
int fib_sync_down_addr(struct net *net, __be32 local);
 
293
int fib_sync_up(struct net_device *dev);
 
294
void fib_select_multipath(struct fib_result *res);
296
295
 
297
296
/* Exported by fib_trie.c */
298
 
extern void fib_trie_init(void);
299
 
extern struct fib_table *fib_trie_table(u32 id);
 
297
void fib_trie_init(void);
 
298
struct fib_table *fib_trie_table(u32 id);
300
299
 
301
300
static inline void fib_combine_itag(u32 *itag, const struct fib_result *res)
302
301
{
314
313
#endif
315
314
}
316
315
 
317
 
extern void free_fib_info(struct fib_info *fi);
 
316
void free_fib_info(struct fib_info *fi);
318
317
 
319
318
static inline void fib_info_put(struct fib_info *fi)
320
319
{
323
322
}
324
323
 
325
324
#ifdef CONFIG_PROC_FS
326
 
extern int __net_init  fib_proc_init(struct net *net);
327
 
extern void __net_exit fib_proc_exit(struct net *net);
 
325
int __net_init fib_proc_init(struct net *net);
 
326
void __net_exit fib_proc_exit(struct net *net);
328
327
#else
329
328
static inline int fib_proc_init(struct net *net)
330
329
{