The Netsukuku Project
0.0.9
An Alternative routing method
|
#include "route.h"
Go to the source code of this file.
Data Structures | |
struct | internet_gateway |
struct | inet_gw_pack_hdr |
struct | default_inet_gw_nexthop |
Macros | |
#define | MIN_CONN_BANDWIDTH 3 /* 16 Kb/s */ |
#define | MAX_INTERNET_HNAMES 10 |
#define | MAX_INTERNET_HNAME_SZ 64 |
#define | INET_HOST_PING_TIMEOUT 3 |
#define | IGW_HOST_PING_TIMEOUT 10 |
#define | INET_NEXT_PING_WAIT 10 |
#define | IGW_BW_DELTA |
#define | MAXIGWS |
#define | RTTABLE_IGW 221 /* Routing tables from 221 to 244 */ |
#define | RTTABLE_ALISHIELD |
#define | FWMARK_ALISHIELD 25 |
#define | IGW_TUNNELED 1 |
#define | IGW_ACTIVE |
#define | IGW_RTRULE |
#define | INET_GW_PACK_SZ (sizeof(u_char)*2 + MAX_IP_SZ) |
#define | IGWS_PACK_SZ(hdr) |
#define | MAX_IGWS_PACK_SZ(levels) |
#define | MAX_IGW_PER_QSPN_CHUNK |
Typedefs | |
typedef struct internet_gateway | inet_gw |
typedef struct default_inet_gw_nexthop | igw_nexthop |
Functions | |
u_char | bandwidth_in_8bit (u_int x) |
int | str_to_inet_gw (char *str, inet_prefix *gw, char **dev) |
char ** | parse_internet_hosts (char *str, int *hosts) |
void | free_internet_hosts (char **hnames, int hosts) |
void | init_my_igw (void) |
void | init_igws (inet_gw ***igws, int **igws_counter, int levels) |
void | reset_igws (inet_gw **igws, int *igws_counter, int levels) |
void | free_igws (inet_gw **igws, int *igws_counter, int levels) |
void | init_my_igws (inet_gw **igws, int *igws_counter, inet_gw ***my_new_igws, u_char my_bandwidth, map_node *cur_node, quadro_group *qg) |
void | free_my_igws (inet_gw ***my_igs) |
void | init_internet_gateway_search (void) |
void | close_internet_gateway_search (void) |
inet_gw * | igw_add_node (inet_gw **igws, int *igws_counter, int level, int gid, map_node *node, int ip[4], u_char bandwidth) |
int | igw_del (inet_gw **igws, int *igws_counter, inet_gw *igw, int level) |
inet_gw * | igw_find_node (inet_gw **igws, int level, map_node *node) |
inet_gw * | igw_find_ip (inet_gw **igws, int level, u_int ip[4]) |
int | igw_del_node (inet_gw **, int *, int, map_node *) |
void | igw_update_gnode_bw (int *, inet_gw **, inet_gw *, int, int, int) |
void | igw_order (inet_gw **igws, int *igws_counter, inet_gw **my_igws, int level) |
int | igw_check_inet_conn (void) |
void * | igw_check_inet_conn_t (void *null) |
void * | igw_monitor_igws_t (void *null) |
int | igw_exec_masquerade_sh (char *script, int stop) |
int | igw_exec_tcshaper_sh (char *script, int stop, char *dev, int upload_bw, int dnload_bw) |
void | reset_igw_nexthop (igw_nexthop *igwn) |
void | reset_igw_rules (void) |
int | igw_replace_def_igws (inet_gw **igws, int *igws_counter, inet_gw **my_igws, int max_levels, int family) |
char * | igw_build_bentry (u_char level, size_t *pack_sz, int *new_bblocks) |
int | igw_store_bblock (bnode_hdr *bblock_hdr, bnode_chunk *bchunk, u_char level) |
char * | pack_igws (inet_gw **igws, int *igws_counter, int levels, int *pack_sz) |
int | unpack_igws (char *pack, size_t pack_sz, map_node *int_map, map_gnode **ext_map, int levels, inet_gw ***new_igws, int **new_igws_counter) |
Variables | |
struct inet_gw_pack_hdr | _PACKED_ |
static const int_info | inet_gw_pack_hdr_iinfo = { 1, { (1<<1) }, { 0 }, { (14+ ( 1 + 1 ) ) } } |
int | active_gws |
igw_nexthop | multigw_nh [24] |
#define FWMARK_ALISHIELD 25 |
#define IGW_ACTIVE |
#define IGW_BW_DELTA |
#define IGW_HOST_PING_TIMEOUT 10 |
#define IGW_RTRULE |
#define IGW_TUNNELED 1 |
#define IGWS_PACK_SZ | ( | hdr | ) |
#define INET_GW_PACK_SZ (sizeof(u_char)*2 + MAX_IP_SZ) |
#define INET_HOST_PING_TIMEOUT 3 |
#define INET_NEXT_PING_WAIT 10 |
#define MAX_IGW_PER_QSPN_CHUNK |
#define MAX_IGWS_PACK_SZ | ( | levels | ) |
#define MAX_INTERNET_HNAME_SZ 64 |
#define MAX_INTERNET_HNAMES 10 |
#define MAXIGWS |
#define MIN_CONN_BANDWIDTH 3 /* 16 Kb/s */ |
#define RTTABLE_ALISHIELD |
#define RTTABLE_IGW 221 /* Routing tables from 221 to 244 */ |
typedef struct default_inet_gw_nexthop igw_nexthop |
typedef struct internet_gateway inet_gw |
u_char bandwidth_in_8bit | ( | u_int | x | ) |
void close_internet_gateway_search | ( | void | ) |
void free_igws | ( | inet_gw ** | igws, |
int * | igws_counter, | ||
int | levels | ||
) |
void free_internet_hosts | ( | char ** | hnames, |
int | hosts | ||
) |
void free_my_igws | ( | inet_gw *** | my_igs | ) |
inet_gw* igw_add_node | ( | inet_gw ** | igws, |
int * | igws_counter, | ||
int | level, | ||
int | gid, | ||
map_node * | node, | ||
int | ip[4], | ||
u_char | bandwidth | ||
) |
char* igw_build_bentry | ( | u_char | level, |
size_t * | pack_sz, | ||
int * | new_bblocks | ||
) |
int igw_check_inet_conn | ( | void | ) |
void* igw_check_inet_conn_t | ( | void * | null | ) |
int igw_exec_masquerade_sh | ( | char * | script, |
int | stop | ||
) |
int igw_exec_tcshaper_sh | ( | char * | script, |
int | stop, | ||
char * | dev, | ||
int | upload_bw, | ||
int | dnload_bw | ||
) |
void* igw_monitor_igws_t | ( | void * | null | ) |
int igw_replace_def_igws | ( | inet_gw ** | igws, |
int * | igws_counter, | ||
inet_gw ** | my_igws, | ||
int | max_levels, | ||
int | family | ||
) |
int igw_store_bblock | ( | bnode_hdr * | bblock_hdr, |
bnode_chunk * | bchunk, | ||
u_char | level | ||
) |
void init_igws | ( | inet_gw *** | igws, |
int ** | igws_counter, | ||
int | levels | ||
) |
void init_internet_gateway_search | ( | void | ) |
void init_my_igw | ( | void | ) |
void init_my_igws | ( | inet_gw ** | igws, |
int * | igws_counter, | ||
inet_gw *** | my_new_igws, | ||
u_char | my_bandwidth, | ||
map_node * | cur_node, | ||
quadro_group * | qg | ||
) |
char* pack_igws | ( | inet_gw ** | igws, |
int * | igws_counter, | ||
int | levels, | ||
int * | pack_sz | ||
) |
char** parse_internet_hosts | ( | char * | str, |
int * | hosts | ||
) |
void reset_igw_nexthop | ( | igw_nexthop * | igwn | ) |
void reset_igw_rules | ( | void | ) |
void reset_igws | ( | inet_gw ** | igws, |
int * | igws_counter, | ||
int | levels | ||
) |
int str_to_inet_gw | ( | char * | str, |
inet_prefix * | gw, | ||
char ** | dev | ||
) |
int unpack_igws | ( | char * | pack, |
size_t | pack_sz, | ||
map_node * | int_map, | ||
map_gnode ** | ext_map, | ||
int | levels, | ||
inet_gw *** | new_igws, | ||
int ** | new_igws_counter | ||
) |
struct inet_gw_pack_hdr _PACKED_ |
int active_gws |
|
static |
igw_nexthop multigw_nh[24] |