index
:
litmus-rt.git
archive/unc-master-3.0
archived-2013.1
archived-private-master
archived-semi-part
demo
ecrts-pgm-final
ecrts14-pgm-final
gpusync-rtss12
gpusync/staging
linux-tip
litmus2008-patch-series
master
pgm
prop/litmus-signals
prop/robust-tie-break
staging
test
tracing-devel
v2.6.34-with-arm-patches
v2015.1
wip-2011.2-bbb
wip-2011.2-bbb-trace
wip-2012.3-gpu
wip-2012.3-gpu-preport
wip-2012.3-gpu-rtss13
wip-2012.3-gpu-sobliv-budget-w-kshark
wip-aedzl-final
wip-aedzl-revised
wip-arbit-deadline
wip-aux-tasks
wip-bbb
wip-bbb-prio-don
wip-better-break
wip-binary-heap
wip-budget
wip-color
wip-color-jlh
wip-d10-hz1000
wip-default-clustering
wip-dissipation-jerickso
wip-dissipation2-jerickso
wip-ecrts14-pgm
wip-edf-hsb
wip-edf-os
wip-edf-tie-break
wip-edzl-critique
wip-edzl-final
wip-edzl-revised
wip-events
wip-extra-debug
wip-fix-switch-jerickso
wip-fix3
wip-fmlp-dequeue
wip-ft-irq-flag
wip-gpu-cleanup
wip-gpu-interrupts
wip-gpu-rtas12
wip-gpu-rtss12
wip-gpu-rtss12-srp
wip-gpusync-merge
wip-ikglp
wip-k-fmlp
wip-kernel-coloring
wip-kernthreads
wip-klmirqd-to-aux
wip-kshark
wip-litmus-3.2
wip-litmus2011.2
wip-litmus3.0-2011.2
wip-master-2.6.33-rt
wip-mc
wip-mc-bipasa
wip-mc-jerickso
wip-mc2-cache-slack
wip-mcrit-mac
wip-merge-3.0
wip-merge-v3.0
wip-migration-affinity#ifndef _FIB_LOOKUP_H
#define _FIB_LOOKUP_H
#include <linux/types.h>
#include <linux/list.h>
#include <net/ip_fib.h>
struct
fib_alias
{
struct
hlist_node fa_list
;
struct
fib_info
*
fa_info
;
u8 fa_tos
;
u8 fa_type
;
u8 fa_state
;
u8 fa_slen
;
u32 tb_id
;
s16 fa_default
;
struct
rcu_head rcu
;
};
#define FA_S_ACCESSED 0x01
/* Dont write on fa_state unless needed, to keep it shared on all cpus */
static
inline
void
fib_alias_accessed
(
struct
fib_alias
*
fa
)
{
if
(!(
fa
->
fa_state
&
FA_S_ACCESSED
))
fa
->
fa_state
|=
FA_S_ACCESSED
;
}
/* Exported by fib_semantics.c */
void
fib_release_info
(
struct
fib_info
*);
struct
fib_info
*
fib_create_info
(
struct
fib_config
*
cfg
);
int
fib_nh_match
(
struct
fib_config
*
cfg
,
struct
fib_info
*
fi
);
int
fib_dump_info
(
struct
sk_buff
*
skb
,
u32 pid
,
u32 seq
,
int
event
,
u32 tb_id
,
u8 type
,
__be32 dst
,
int
dst_len
,
u8 tos
,
struct
fib_info
*
fi
,
unsigned int
);
void
rtmsg_fib
(
int
event
,
__be32 key
,
struct
fib_alias
*
fa
,
int
dst_len
,
u32 tb_id
,
const struct
nl_info
*
info
,
unsigned int
nlm_flags
);
static
inline
void
fib_result_assign
(
struct
fib_result
*
res
,
struct
fib_info
*
fi
)
{
/* we used to play games with refcounts, but we now use RCU */
res
->
fi
=
fi
;
}
struct
fib_prop
{
int
error
;
u8 scope
;
};
extern
const struct
fib_prop fib_props
[
RTN_MAX
+
1
];
#endif
/* _FIB_LOOKUP_H */