The Netsukuku Project  0.0.9
An Alternative routing method
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
route.c File Reference
#include "includes.h"
#include "common.h"
#include "libnetlink.h"
#include "inet.h"
#include "krnl_route.h"
#include "request.h"
#include "endianness.h"
#include "pkts.h"
#include "bmap.h"
#include "qspn.h"
#include "radar.h"
#include "netsukuku.h"
#include "route.h"
Include dependency graph for route.c:

Functions

int get_gw_gnode_recurse (map_node *, map_gnode **, map_bnode **, u_int *, map_gnode *, map_gnode *, map_node *, u_char, u_char, void **, int, int)
 
int get_gw_bnode_recurse (map_node *int_map, map_gnode **ext_map, map_bnode **bnode_map, u_int *bmap_nodes, map_gnode *find_gnode, map_gnode *gnode_gw, map_node *node_gw, u_char gnode_level, u_char gw_level, void **gateways, int gateways_nmembs, int single_gw)
 
void ** get_gw_gnode (map_node *int_map, map_gnode **ext_map, map_bnode **bnode_map, u_int *bmap_nodes, map_gnode *find_gnode, u_char gnode_level, u_char gw_level, int single_gw)
 
int get_gw_ips (map_node *int_map, map_gnode **ext_map, map_bnode **bnode_map, u_int *bmap_nodes, quadro_group *cur_quadg, map_gnode *find_gnode, u_char gnode_level, u_char gw_level, inet_prefix *gw_ip, map_node **gw_nodes, int single_gw)
 
interface ** find_rnode_dev_and_retry (map_node *node)
 
struct nexthoprt_build_nexthop_gw (map_node *node, map_gnode *gnode, int level, int maxhops)
 
struct nexthoprt_build_nexthop_voidgw (void *void_gw, interface **oifs)
 
void rt_update_node (inet_prefix *dst_ip, void *dst_node, quadro_group *dst_quadg, void *void_gw, interface **oifs, u_char level)
 
void rt_rnodes_update (int check_update_flag)
 
void rt_full_update (int check_update_flag)
 
int rt_get_default_gw (inet_prefix *gw, char *dev_name)
 
int rt_exec_gw (char *dev, inet_prefix to, inet_prefix gw, int(*route_function)(int type, int scope, inet_prefix *src, inet_prefix *to, struct nexthop *nhops, char *dev, u_char table), u_char table)
 
int rt_add_gw (char *dev, inet_prefix to, inet_prefix gw, u_char table)
 
int rt_del_gw (char *dev, inet_prefix to, inet_prefix gw, u_char table)
 
int rt_change_gw (char *dev, inet_prefix to, inet_prefix gw, u_char table)
 
int rt_replace_gw (char *dev, inet_prefix to, inet_prefix gw, u_char table)
 
int rt_replace_def_gw (char *dev, inet_prefix gw, u_char table)
 
int rt_delete_def_gw (u_char table)
 
int rt_del_loopback_net (void)
 
int rt_append_subnet_src (inet_prefix *src, char *dev)
 

Function Documentation

interface** find_rnode_dev_and_retry ( map_node node)

Here is the call graph for this function:

Here is the caller graph for this function:

int get_gw_bnode_recurse ( map_node int_map,
map_gnode **  ext_map,
map_bnode **  bnode_map,
u_int *  bmap_nodes,
map_gnode find_gnode,
map_gnode gnode_gw,
map_node node_gw,
u_char  gnode_level,
u_char  gw_level,
void **  gateways,
int  gateways_nmembs,
int  single_gw 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void** get_gw_gnode ( map_node int_map,
map_gnode **  ext_map,
map_bnode **  bnode_map,
u_int *  bmap_nodes,
map_gnode find_gnode,
u_char  gnode_level,
u_char  gw_level,
int  single_gw 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int get_gw_gnode_recurse ( map_node int_map,
map_gnode **  ext_map,
map_bnode **  bnode_map,
u_int *  bmap_nodes,
map_gnode find_gnode,
map_gnode gnode,
map_node node,
u_char  gnode_level,
u_char  gw_level,
void **  gateways,
int  gateways_nmembs,
int  single_gw 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int get_gw_ips ( map_node int_map,
map_gnode **  ext_map,
map_bnode **  bnode_map,
u_int *  bmap_nodes,
quadro_group cur_quadg,
map_gnode find_gnode,
u_char  gnode_level,
u_char  gw_level,
inet_prefix gw_ip,
map_node **  gw_nodes,
int  single_gw 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int rt_add_gw ( char *  dev,
inet_prefix  to,
inet_prefix  gw,
u_char  table 
)

Here is the call graph for this function:

int rt_append_subnet_src ( inet_prefix src,
char *  dev 
)

Here is the call graph for this function:

Here is the caller graph for this function:

struct nexthop* rt_build_nexthop_gw ( map_node node,
map_gnode gnode,
int  level,
int  maxhops 
)

Here is the call graph for this function:

Here is the caller graph for this function:

struct nexthop* rt_build_nexthop_voidgw ( void *  void_gw,
interface **  oifs 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int rt_change_gw ( char *  dev,
inet_prefix  to,
inet_prefix  gw,
u_char  table 
)

Here is the call graph for this function:

int rt_del_gw ( char *  dev,
inet_prefix  to,
inet_prefix  gw,
u_char  table 
)

Here is the call graph for this function:

int rt_del_loopback_net ( void  )

Here is the call graph for this function:

int rt_delete_def_gw ( u_char  table)

Here is the call graph for this function:

Here is the caller graph for this function:

int rt_exec_gw ( char *  dev,
inet_prefix  to,
inet_prefix  gw,
int(*)(int type, int scope, inet_prefix *src, inet_prefix *to, struct nexthop *nhops, char *dev, u_char table)  route_function,
u_char  table 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void rt_full_update ( int  check_update_flag)

Here is the call graph for this function:

Here is the caller graph for this function:

int rt_get_default_gw ( inet_prefix gw,
char *  dev_name 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int rt_replace_def_gw ( char *  dev,
inet_prefix  gw,
u_char  table 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int rt_replace_gw ( char *  dev,
inet_prefix  to,
inet_prefix  gw,
u_char  table 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void rt_rnodes_update ( int  check_update_flag)

Here is the call graph for this function:

Here is the caller graph for this function:

void rt_update_node ( inet_prefix dst_ip,
void *  dst_node,
quadro_group dst_quadg,
void *  void_gw,
interface **  oifs,
u_char  level 
)

Here is the call graph for this function:

Here is the caller graph for this function: