#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 */ > <tr><td class='sub'>net-next plumbings</td><td class='sub right'>Tobias Klauser</td></tr></table> <table class='tabs'><tr><td> <a href='/cgit.cgi/linux/net-next.git/'>summary</a><a href='/cgit.cgi/linux/net-next.git/refs/?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>refs</a><a class='active' href='/cgit.cgi/linux/net-next.git/log/net/sctp/sm_statefuns.c'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/net/sctp/sm_statefuns.c?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/net/sctp/sm_statefuns.c?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/net/sctp/sm_statefuns.c?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/net/sctp/sm_statefuns.c'> <input type='hidden' name='id' value='c73e44269369e936165f0f9b61f1f09a11dae01c'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/net?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>net</a>/<a href='/cgit.cgi/linux/net-next.git/log/net/sctp?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>sctp</a>/<a href='/cgit.cgi/linux/net-next.git/log/net/sctp/sm_statefuns.c?id=c73e44269369e936165f0f9b61f1f09a11dae01c'>sm_statefuns.c</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/net/sctp/sm_statefuns.c?id=c73e44269369e936165f0f9b61f1f09a11dae01c&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>