The Netsukuku Project
0.0.9
An Alternative routing method
|
#include "includes.h"
#include "common.h"
#include "request.h"
#include "pkts.h"
#include "bmap.h"
#include "radar.h"
#include "route.h"
#include "rehook.h"
#include "tracer.h"
#include "qspn.h"
#include "igs.h"
#include "netsukuku.h"
Functions | |
char * | tracer_pack_pkt (brdcast_hdr *bcast_hdr, tracer_hdr *trcr_hdr, tracer_chunk *tracer, char *bblocks, size_t bblocks_sz, int new_bblocks) |
int | ip_to_rfrom (inet_prefix rip, quadro_group *rip_quadg, quadro_group *new_quadg, char quadg_flags) |
int | tracer_verify_pkt (tracer_chunk *tracer, u_short hops, inet_prefix rip, quadro_group *rip_quadg, int level) |
tracer_chunk * | tracer_add_entry (void *void_map, void *void_node, tracer_chunk *tracer, u_int *hops, u_char level) |
int | tracer_add_rtt (int rpos, tracer_chunk *tracer, u_short hop) |
int | tracer_get_trtt (int from_rnode_pos, tracer_hdr *trcr_hdr, tracer_chunk *tracer, u_int *trtt) |
void | tracer_update_gcount (tracer_hdr *trcr_hdr, tracer_chunk *tracer, int first_hop, u_int *gcount_counter, map_node *int_map, map_gnode **ext_map, int level) |
bnode_hdr * | tracer_build_bentry (void *void_map, void *void_node, quadro_group *node_quadg, bnode_chunk **bnodechunk, int *bnode_links, u_char level) |
int | tracer_pkt_build (u_char rq, int rq_id, int bcast_sub_id, int gnode_id, u_char gnode_level, brdcast_hdr *bcast_hdr, tracer_hdr *trcr_hdr, tracer_chunk *tracer, u_short old_bblocks, char *old_bblock_buf, size_t old_bblock_sz, PACKET *pkt) |
int | tracer_unpack_pkt (PACKET rpkt, brdcast_hdr **new_bcast_hdr, tracer_hdr **new_tracer_hdr, tracer_chunk **new_tracer, bnode_hdr **new_bhdr, size_t *new_bblock_sz, quadro_group *new_rip_quadg, int *real_from_rpos) |
u_short | tracer_split_bblock (void *bnode_block_start, size_t bblock_sz, bnode_hdr ***bbl_hdr, bnode_chunk ****bbl, size_t *bblock_found_sz) |
int | tracer_store_bblock (u_char level, tracer_hdr *trcr_hdr, tracer_chunk *tracer, void *bnode_block_start, size_t bblock_sz, u_short *bblocks_found, char **bblocks_found_block, size_t *bblock_found_sz) |
int | tracer_check_node_collision (tracer_hdr *trcr, int hop, map_node *node, int tr_node, int tr_gcount, int level) |
int | tracer_store_pkt (inet_prefix rip, quadro_group *rip_quadg, u_char level, tracer_hdr *trcr_hdr, tracer_chunk *tracer, void *bnode_block_start, size_t bblock_sz, u_short *bblocks_found, char **bblocks_found_block, size_t *bblock_found_sz) |
int | flood_pkt_send (int(*is_node_excluded)(ext_rnode *e_rnode, map_node *node, int from_rpos, int pos, u_char excl_level, int sub_id), u_char level, int sub_id, int from_rpos, PACKET pkt) |
int | exclude_glevel (ext_rnode *e_rnode, map_node *node, int from_rpos, int pos, u_char excl_level, int sub_id) |
int | exclude_from (ext_rnode *e_rnode, map_node *node, int from_rpos, int pos, u_char excl_level, int sub_id) |
int | exclude_all_but_notfrom (ext_rnode *e_rnode, map_node *node, int from_rpos, int pos, u_char excl_level, int sub_id) |
int | exclude_from_and_glevel (ext_rnode *e_rnode, map_node *node, int from_rpos, int pos, u_char excl_level, int sub_id) |
int | tracer_pkt_recv (PACKET rpkt) |
int | tracer_pkt_start (u_char level) |
int exclude_all_but_notfrom | ( | ext_rnode * | e_rnode, |
map_node * | node, | ||
int | from_rpos, | ||
int | pos, | ||
u_char | excl_level, | ||
int | sub_id | ||
) |
int exclude_from | ( | ext_rnode * | e_rnode, |
map_node * | node, | ||
int | from_rpos, | ||
int | pos, | ||
u_char | excl_level, | ||
int | sub_id | ||
) |
int exclude_from_and_glevel | ( | ext_rnode * | e_rnode, |
map_node * | node, | ||
int | from_rpos, | ||
int | pos, | ||
u_char | excl_level, | ||
int | sub_id | ||
) |
int exclude_glevel | ( | ext_rnode * | e_rnode, |
map_node * | node, | ||
int | from_rpos, | ||
int | pos, | ||
u_char | excl_level, | ||
int | sub_id | ||
) |
int flood_pkt_send | ( | int(*)(ext_rnode *e_rnode, map_node *node, int from_rpos, int pos, u_char excl_level, int sub_id) | is_node_excluded, |
u_char | level, | ||
int | sub_id, | ||
int | from_rpos, | ||
PACKET | pkt | ||
) |
int ip_to_rfrom | ( | inet_prefix | rip, |
quadro_group * | rip_quadg, | ||
quadro_group * | new_quadg, | ||
char | quadg_flags | ||
) |
tracer_chunk* tracer_add_entry | ( | void * | void_map, |
void * | void_node, | ||
tracer_chunk * | tracer, | ||
u_int * | hops, | ||
u_char | level | ||
) |
int tracer_add_rtt | ( | int | rpos, |
tracer_chunk * | tracer, | ||
u_short | hop | ||
) |
bnode_hdr* tracer_build_bentry | ( | void * | void_map, |
void * | void_node, | ||
quadro_group * | node_quadg, | ||
bnode_chunk ** | bnodechunk, | ||
int * | bnode_links, | ||
u_char | level | ||
) |
int tracer_check_node_collision | ( | tracer_hdr * | trcr, |
int | hop, | ||
map_node * | node, | ||
int | tr_node, | ||
int | tr_gcount, | ||
int | level | ||
) |
int tracer_get_trtt | ( | int | from_rnode_pos, |
tracer_hdr * | trcr_hdr, | ||
tracer_chunk * | tracer, | ||
u_int * | trtt | ||
) |
char * tracer_pack_pkt | ( | brdcast_hdr * | bcast_hdr, |
tracer_hdr * | trcr_hdr, | ||
tracer_chunk * | tracer, | ||
char * | bblocks, | ||
size_t | bblocks_sz, | ||
int | new_bblocks | ||
) |
int tracer_pkt_build | ( | u_char | rq, |
int | rq_id, | ||
int | bcast_sub_id, | ||
int | gnode_id, | ||
u_char | gnode_level, | ||
brdcast_hdr * | bcast_hdr, | ||
tracer_hdr * | trcr_hdr, | ||
tracer_chunk * | tracer, | ||
u_short | old_bblocks, | ||
char * | old_bblock_buf, | ||
size_t | old_bblock_sz, | ||
PACKET * | pkt | ||
) |
int tracer_pkt_recv | ( | PACKET | rpkt | ) |
int tracer_pkt_start | ( | u_char | level | ) |
u_short tracer_split_bblock | ( | void * | bnode_block_start, |
size_t | bblock_sz, | ||
bnode_hdr *** | bbl_hdr, | ||
bnode_chunk **** | bbl, | ||
size_t * | bblock_found_sz | ||
) |
int tracer_store_bblock | ( | u_char | level, |
tracer_hdr * | trcr_hdr, | ||
tracer_chunk * | tracer, | ||
void * | bnode_block_start, | ||
size_t | bblock_sz, | ||
u_short * | bblocks_found, | ||
char ** | bblocks_found_block, | ||
size_t * | bblock_found_sz | ||
) |
int tracer_store_pkt | ( | inet_prefix | rip, |
quadro_group * | rip_quadg, | ||
u_char | level, | ||
tracer_hdr * | trcr_hdr, | ||
tracer_chunk * | tracer, | ||
void * | bnode_block_start, | ||
size_t | bblock_sz, | ||
u_short * | bblocks_found, | ||
char ** | bblocks_found_block, | ||
size_t * | bblock_found_sz | ||
) |
int tracer_unpack_pkt | ( | PACKET | rpkt, |
brdcast_hdr ** | new_bcast_hdr, | ||
tracer_hdr ** | new_tracer_hdr, | ||
tracer_chunk ** | new_tracer, | ||
bnode_hdr ** | new_bhdr, | ||
size_t * | new_bblock_sz, | ||
quadro_group * | new_rip_quadg, | ||
int * | real_from_rpos | ||
) |
void tracer_update_gcount | ( | tracer_hdr * | trcr_hdr, |
tracer_chunk * | tracer, | ||
int | first_hop, | ||
u_int * | gcount_counter, | ||
map_node * | int_map, | ||
map_gnode ** | ext_map, | ||
int | level | ||
) |
int tracer_verify_pkt | ( | tracer_chunk * | tracer, |
u_short | hops, | ||
inet_prefix | rip, | ||
quadro_group * | rip_quadg, | ||
int | level | ||
) |