Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
ip6_fib.h File Reference
#include <linux/ipv6_route.h>
#include <linux/rtnetlink.h>
#include <linux/spinlock.h>
#include <net/dst.h>
#include <net/flow.h>
#include <net/netlink.h>
#include <net/inetpeer.h>

Go to the source code of this file.

Data Structures

struct  fib6_config
 
struct  fib6_node
 
struct  rt6key
 
struct  rt6_info
 
struct  fib6_walker_t
 
struct  rt6_statistics
 
struct  fib6_table
 

Macros

#define FIB6_TABLE_HASHSZ   1
 
#define FIB6_SUBTREE(fn)   NULL
 
#define RTN_TL_ROOT   0x0001
 
#define RTN_ROOT   0x0002 /* tree root node */
 
#define RTN_RTINFO   0x0004 /* node with valid routing info */
 
#define RT6_TABLE_UNSPEC   RT_TABLE_UNSPEC
 
#define RT6_TABLE_MAIN   RT_TABLE_MAIN
 
#define RT6_TABLE_DFLT   RT6_TABLE_MAIN
 
#define RT6_TABLE_INFO   RT6_TABLE_MAIN
 
#define RT6_TABLE_PREFIX   RT6_TABLE_MAIN
 
#define FIB6_TABLE_MIN   RT_TABLE_MAIN
 
#define FIB6_TABLE_MAX   FIB6_TABLE_MIN
 
#define RT6_TABLE_LOCAL   RT6_TABLE_MAIN
 

Typedefs

typedef struct rt6_info *(* pol_lookup_t )(struct net *, struct fib6_table *, struct flowi6 *, int)
 

Functions

struct fib6_tablefib6_get_table (struct net *net, u32 id)
 
struct fib6_tablefib6_new_table (struct net *net, u32 id)
 
struct dst_entryfib6_rule_lookup (struct net *net, struct flowi6 *fl6, int flags, pol_lookup_t lookup)
 
struct fib6_nodefib6_lookup (struct fib6_node *root, const struct in6_addr *daddr, const struct in6_addr *saddr)
 
struct fib6_nodefib6_locate (struct fib6_node *root, const struct in6_addr *daddr, int dst_len, const struct in6_addr *saddr, int src_len)
 
void fib6_clean_all_ro (struct net *net, int(*func)(struct rt6_info *, void *arg), int prune, void *arg)
 
void fib6_clean_all (struct net *net, int(*func)(struct rt6_info *, void *arg), int prune, void *arg)
 
int fib6_add (struct fib6_node *root, struct rt6_info *rt, struct nl_info *info)
 
int fib6_del (struct rt6_info *rt, struct nl_info *info)
 
void inet6_rt_notify (int event, struct rt6_info *rt, struct nl_info *info)
 
void fib6_run_gc (unsigned long expires, struct net *net)
 
void fib6_gc_cleanup (void)
 
int fib6_init (void)
 

Macro Definition Documentation

#define FIB6_SUBTREE (   fn)    NULL

Definition at line 70 of file ip6_fib.h.

#define FIB6_TABLE_HASHSZ   1

Definition at line 27 of file ip6_fib.h.

#define FIB6_TABLE_MAX   FIB6_TABLE_MIN

Definition at line 257 of file ip6_fib.h.

#define FIB6_TABLE_MIN   RT_TABLE_MAIN

Definition at line 256 of file ip6_fib.h.

#define RT6_TABLE_DFLT   RT6_TABLE_MAIN

Definition at line 247 of file ip6_fib.h.

#define RT6_TABLE_INFO   RT6_TABLE_MAIN

Definition at line 248 of file ip6_fib.h.

#define RT6_TABLE_LOCAL   RT6_TABLE_MAIN

Definition at line 258 of file ip6_fib.h.

#define RT6_TABLE_MAIN   RT_TABLE_MAIN

Definition at line 246 of file ip6_fib.h.

#define RT6_TABLE_PREFIX   RT6_TABLE_MAIN

Definition at line 249 of file ip6_fib.h.

#define RT6_TABLE_UNSPEC   RT_TABLE_UNSPEC

Definition at line 245 of file ip6_fib.h.

#define RTN_ROOT   0x0002 /* tree root node */

Definition at line 228 of file ip6_fib.h.

#define RTN_RTINFO   0x0004 /* node with valid routing info */

Definition at line 229 of file ip6_fib.h.

#define RTN_TL_ROOT   0x0001

Definition at line 227 of file ip6_fib.h.

Typedef Documentation

typedef struct rt6_info*(* pol_lookup_t)(struct net *, struct fib6_table *, struct flowi6 *, int)
read

Definition at line 261 of file ip6_fib.h.

Function Documentation

int fib6_add ( struct fib6_node root,
struct rt6_info rt,
struct nl_info info 
)

Definition at line 758 of file ip6_fib.c.

void fib6_clean_all ( struct net net,
int(*)(struct rt6_info *, void *arg func,
int  prune,
void arg 
)

Definition at line 1482 of file ip6_fib.c.

void fib6_clean_all_ro ( struct net net,
int(*)(struct rt6_info *, void *arg func,
int  prune,
void arg 
)

Definition at line 1462 of file ip6_fib.c.

int fib6_del ( struct rt6_info rt,
struct nl_info info 
)

Definition at line 1240 of file ip6_fib.c.

void fib6_gc_cleanup ( void  )

Definition at line 1711 of file ip6_fib.c.

struct fib6_table* fib6_get_table ( struct net net,
u32  id 
)
read

Definition at line 258 of file ip6_fib.c.

int fib6_init ( void  )

Definition at line 1682 of file ip6_fib.c.

struct fib6_node* fib6_locate ( struct fib6_node root,
const struct in6_addr daddr,
int  dst_len,
const struct in6_addr saddr,
int  src_len 
)
read

Definition at line 1025 of file ip6_fib.c.

struct fib6_node* fib6_lookup ( struct fib6_node root,
const struct in6_addr daddr,
const struct in6_addr saddr 
)
read

Definition at line 962 of file ip6_fib.c.

struct fib6_table* fib6_new_table ( struct net net,
u32  id 
)
read

Definition at line 253 of file ip6_fib.c.

struct dst_entry* fib6_rule_lookup ( struct net net,
struct flowi6 fl6,
int  flags,
pol_lookup_t  lookup 
)
read

Definition at line 32 of file fib6_rules.c.

void fib6_run_gc ( unsigned long  expires,
struct net net 
)

Definition at line 1575 of file ip6_fib.c.

void inet6_rt_notify ( int  event,
struct rt6_info rt,
struct nl_info info 
)

Definition at line 2625 of file route.c.