diff options
Diffstat (limited to 'net/ipv4/fib_lookup.h')
-rw-r--r-- | net/ipv4/fib_lookup.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/net/ipv4/fib_lookup.h b/net/ipv4/fib_lookup.h new file mode 100644 index 000000000000..ac4485f75e97 --- /dev/null +++ b/net/ipv4/fib_lookup.h | |||
@@ -0,0 +1,43 @@ | |||
1 | #ifndef _FIB_LOOKUP_H | ||
2 | #define _FIB_LOOKUP_H | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | #include <linux/list.h> | ||
6 | #include <net/ip_fib.h> | ||
7 | |||
8 | struct fib_alias { | ||
9 | struct list_head fa_list; | ||
10 | struct fib_info *fa_info; | ||
11 | u8 fa_tos; | ||
12 | u8 fa_type; | ||
13 | u8 fa_scope; | ||
14 | u8 fa_state; | ||
15 | }; | ||
16 | |||
17 | #define FA_S_ACCESSED 0x01 | ||
18 | |||
19 | /* Exported by fib_semantics.c */ | ||
20 | extern int fib_semantic_match(struct list_head *head, | ||
21 | const struct flowi *flp, | ||
22 | struct fib_result *res, __u32 zone, __u32 mask, | ||
23 | int prefixlen); | ||
24 | extern void fib_release_info(struct fib_info *); | ||
25 | extern struct fib_info *fib_create_info(const struct rtmsg *r, | ||
26 | struct kern_rta *rta, | ||
27 | const struct nlmsghdr *, | ||
28 | int *err); | ||
29 | extern int fib_nh_match(struct rtmsg *r, struct nlmsghdr *, | ||
30 | struct kern_rta *rta, struct fib_info *fi); | ||
31 | extern int fib_dump_info(struct sk_buff *skb, u32 pid, u32 seq, int event, | ||
32 | u8 tb_id, u8 type, u8 scope, void *dst, | ||
33 | int dst_len, u8 tos, struct fib_info *fi); | ||
34 | extern void rtmsg_fib(int event, u32 key, struct fib_alias *fa, | ||
35 | int z, int tb_id, | ||
36 | struct nlmsghdr *n, struct netlink_skb_parms *req); | ||
37 | extern struct fib_alias *fib_find_alias(struct list_head *fah, | ||
38 | u8 tos, u32 prio); | ||
39 | extern int fib_detect_death(struct fib_info *fi, int order, | ||
40 | struct fib_info **last_resort, | ||
41 | int *last_idx, int *dflt); | ||
42 | |||
43 | #endif /* _FIB_LOOKUP_H */ | ||