![]() |
The Netsukuku Project
0.0.9
An Alternative routing method
|
#include "includes.h"#include "common.h"#include "libnetlink.h"#include "ll_map.h"#include "inet.h"#include "if.h"#include "krnl_route.h"#include "iptunnel.h"#include "endianness.h"#include "bmap.h"#include "route.h"#include "request.h"#include "pkts.h"#include "tracer.h"#include "qspn.h"#include "hook.h"#include "rehook.h"#include "radar.h"#include "netsukuku.h"
Functions | |
| void | hook_reset (void) |
| int | hook_fill_rq (map_node *dst_rnode, PACKET *pkt, u_char rq) |
| int | verify_free_nodes_hdr (inet_prefix *to, struct free_nodes_hdr *fn_hdr) |
| int | get_free_nodes (map_node *dst_rnode, struct free_nodes_hdr *fn_hdr, u_char *nodes) |
| int | put_free_nodes (PACKET rq_pkt) |
| int | get_qspn_round (map_node *dst_rnode, struct timeval to_rtt, struct timeval *qtime, int *qspn_id, int *qspn_gcount) |
| int | put_qspn_round (PACKET rq_pkt) |
| int | put_ext_map (PACKET rq_pkt) |
| map_gnode ** | get_ext_map (map_node *dst_rnode, quadro_group *new_quadg) |
| int | put_int_map (PACKET rq_pkt) |
| map_node * | get_int_map (map_node *dst_rnode, map_node **new_root) |
| int | put_bnode_map (PACKET rq_pkt) |
| map_bnode ** | get_bnode_map (map_node *dst_rnode, u_int **bmap_nodes) |
| int | put_internet_gws (PACKET rq_pkt) |
| inet_gw ** | get_internet_gws (map_node *dst_rnode, int **igws_counter) |
| void | hook_set_all_ips (inet_prefix ip, interface *ifs, int ifs_n) |
| int | create_gnodes (inet_prefix *ip, int final_level) |
| void | create_new_qgroup (int hook_level) |
| int | update_join_rate (map_gnode *hook_gnode, int hook_level, u_int *old_gcount, u_int *gnode_count, struct free_nodes_hdr *fn_hdr) |
| int | hook_init (void) |
| int | hook_first_radar_scan (map_gnode *hook_gnode, int hook_level, quadro_group *old_quadg) |
| int | hook_get_free_nodes (int hook_level, struct free_nodes_hdr *fn_hdr, u_char *fnodes, inet_prefix *gnode_ipstart, u_int *new_gcount, struct rnode_list **ret_rnl) |
| int | hook_choose_new_ip (map_gnode *hook_gnode, int hook_level, struct free_nodes_hdr *fn_hdr, u_char *fnodes, inet_prefix *gnode_ipstart) |
| int | hook_get_ext_map (int hook_level, int new_gnode, struct rnode_list *rnl, struct free_nodes_hdr *fn_hdr, map_gnode **old_ext_map, quadro_group *old_quadg) |
| void | hook_get_int_map (void) |
| void | hook_get_bnode_map (void) |
| void | hook_get_igw (void) |
| void | hook_finish (int new_gnode, struct free_nodes_hdr *fn_hdr) |
| int | netsukuku_hook (map_gnode *hook_gnode, int hook_level) |
Variables | |
| int | free_the_tmp_cur_node |
| int | we_are_rehooking |
| int create_gnodes | ( | inet_prefix * | ip, |
| int | final_level | ||
| ) |


| void create_new_qgroup | ( | int | hook_level | ) |




| map_gnode** get_ext_map | ( | map_node * | dst_rnode, |
| quadro_group * | new_quadg | ||
| ) |


| int get_free_nodes | ( | map_node * | dst_rnode, |
| struct free_nodes_hdr * | fn_hdr, | ||
| u_char * | nodes | ||
| ) |






| int get_qspn_round | ( | map_node * | dst_rnode, |
| struct timeval | to_rtt, | ||
| struct timeval * | qtime, | ||
| int * | qspn_id, | ||
| int * | qspn_gcount | ||
| ) |


| int hook_choose_new_ip | ( | map_gnode * | hook_gnode, |
| int | hook_level, | ||
| struct free_nodes_hdr * | fn_hdr, | ||
| u_char * | fnodes, | ||
| inet_prefix * | gnode_ipstart | ||
| ) |




| void hook_finish | ( | int | new_gnode, |
| struct free_nodes_hdr * | fn_hdr | ||
| ) |


| int hook_first_radar_scan | ( | map_gnode * | hook_gnode, |
| int | hook_level, | ||
| quadro_group * | old_quadg | ||
| ) |


| void hook_get_bnode_map | ( | void | ) |


| int hook_get_ext_map | ( | int | hook_level, |
| int | new_gnode, | ||
| struct rnode_list * | rnl, | ||
| struct free_nodes_hdr * | fn_hdr, | ||
| map_gnode ** | old_ext_map, | ||
| quadro_group * | old_quadg | ||
| ) |


| int hook_get_free_nodes | ( | int | hook_level, |
| struct free_nodes_hdr * | fn_hdr, | ||
| u_char * | fnodes, | ||
| inet_prefix * | gnode_ipstart, | ||
| u_int * | new_gcount, | ||
| struct rnode_list ** | ret_rnl | ||
| ) |


| void hook_get_igw | ( | void | ) |


| void hook_get_int_map | ( | void | ) |


| int hook_init | ( | void | ) |


| void hook_reset | ( | void | ) |


| void hook_set_all_ips | ( | inet_prefix | ip, |
| interface * | ifs, | ||
| int | ifs_n | ||
| ) |


| int netsukuku_hook | ( | map_gnode * | hook_gnode, |
| int | hook_level | ||
| ) |


| int put_bnode_map | ( | PACKET | rq_pkt | ) |


| int put_ext_map | ( | PACKET | rq_pkt | ) |


| int put_free_nodes | ( | PACKET | rq_pkt | ) |


| int put_int_map | ( | PACKET | rq_pkt | ) |


| int put_internet_gws | ( | PACKET | rq_pkt | ) |


| int put_qspn_round | ( | PACKET | rq_pkt | ) |


| int update_join_rate | ( | map_gnode * | hook_gnode, |
| int | hook_level, | ||
| u_int * | old_gcount, | ||
| u_int * | gnode_count, | ||
| struct free_nodes_hdr * | fn_hdr | ||
| ) |


| int verify_free_nodes_hdr | ( | inet_prefix * | to, |
| struct free_nodes_hdr * | fn_hdr | ||
| ) |


| int free_the_tmp_cur_node |
| int we_are_rehooking |