Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
net
ipv4
fib_lookup.h
Go to the documentation of this file.
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_state
;
14
struct
rcu_head
rcu
;
15
};
16
17
#define FA_S_ACCESSED 0x01
18
19
/* Dont write on fa_state unless needed, to keep it shared on all cpus */
20
static
inline
void
fib_alias_accessed(
struct
fib_alias
*
fa
)
21
{
22
if
(!(fa->
fa_state
&
FA_S_ACCESSED
))
23
fa->
fa_state
|=
FA_S_ACCESSED
;
24
}
25
26
/* Exported by fib_semantics.c */
27
extern
void
fib_release_info
(
struct
fib_info
*);
28
extern
struct
fib_info
*
fib_create_info
(
struct
fib_config
*
cfg
);
29
extern
int
fib_nh_match
(
struct
fib_config
*
cfg
,
struct
fib_info
*fi);
30
extern
int
fib_dump_info
(
struct
sk_buff
*
skb
,
u32
pid
,
u32
seq,
int
event
,
31
u32
tb_id,
u8
type
,
__be32
dst
,
32
int
dst_len,
u8
tos,
struct
fib_info
*fi,
33
unsigned
int
);
34
extern
void
rtmsg_fib
(
int
event
,
__be32
key
,
struct
fib_alias
*
fa
,
35
int
dst_len,
u32
tb_id,
struct
nl_info
*
info
,
36
unsigned
int
nlm_flags);
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
static
inline
void
fib_result_assign(
struct
fib_result
*
res
,
44
struct
fib_info
*fi)
45
{
46
/* we used to play games with refcounts, but we now use RCU */
47
res->
fi
= fi;
48
}
49
50
struct
fib_prop
{
51
int
error
;
52
u8
scope
;
53
};
54
55
extern
const
struct
fib_prop
fib_props
[
RTN_MAX
+ 1];
56
57
#endif
/* _FIB_LOOKUP_H */
Generated on Thu Jan 10 2013 14:58:15 for Linux Kernel by
1.8.2