The Netsukuku Project
0.0.9
An Alternative routing method
|
#include "includes.h"
#include "llist.c"
#include "endianness.h"
#include "if.h"
#include "bmap.h"
#include "route.h"
#include "request.h"
#include "pkts.h"
#include "qspn.h"
#include "radar.h"
#include "netsukuku.h"
#include "common.h"
Functions | |
void | first_init_radar (void) |
void | last_close_radar (void) |
void | init_radar (void) |
void | close_radar (void) |
void | reset_radar (void) |
void | free_new_node (void) |
struct radar_queue * | find_node_radar_q (map_node *node) |
struct radar_queue * | find_ip_radar_q (inet_prefix *ip) |
struct rnode_list * | rnl_add (struct rnode_list **rnlist, int *rnlist_counter, map_node *rnode, interface *dev) |
void | rnl_del (struct rnode_list **rnlist, int *rnlist_counter, struct rnode_list *rnl, int close_socket) |
void | rnl_reset (struct rnode_list **rnlist, int *rnlist_counter) |
int | rnl_del_dead_rnode (struct rnode_list **rnlist, int *rnlist_counter, map_node *root_node) |
struct rnode_list * | rnl_find_node (struct rnode_list *rnlist, map_node *node) |
int | rnl_add_dev (struct rnode_list **rnlist, int *rnlist_counter, struct rnode_list *rnl, map_node *node, interface *new_dev) |
int | rnl_del_dev (struct rnode_list **rnlist, int *rnlist_counter, struct rnode_list *rnl, interface *del_dev) |
int | rnl_update_devs (struct rnode_list **rnlist, int *rnlist_counter, map_node *node, interface **devs, int dev_n) |
interface ** | rnl_get_dev (struct rnode_list *rnlist, map_node *node) |
interface * | rnl_get_rand_dev (struct rnode_list *rnlist, map_node *node) |
int | rnl_get_sk (struct rnode_list *rnlist, map_node *node) |
void | rnl_set_sk (struct rnode_list *rnlist, map_node *node, int sk) |
void | rnl_close_all_sk (struct rnode_list *rnlist) |
int | rnl_fill_rq (map_node *rnode, PACKET *pkt) |
int | rnl_send_rq (map_node *rnode, PACKET *pkt, int pkt_flags, u_char rq, int rq_id, u_char re, int check_ack, PACKET *rpkt) |
int | is_rnode_allowed (inet_prefix rip, struct allowed_rnode *alr) |
void | new_rnode_allowed (struct allowed_rnode **alr, int *alr_counter, int *gid, int min_lvl, int tot_lvl) |
void | reset_rnode_allowed (struct allowed_rnode **alr, int *alr_counter) |
int | count_hooking_nodes (void) |
void | final_radar_queue (void) |
int | radar_remove_old_rnodes (char *rnode_deleted) |
void | radar_update_bmap (struct radar_queue *rq, int level, int gnode_level) |
void | radar_update_map (void) |
struct radar_queue * | add_radar_q (PACKET pkt) |
int | radar_exec_reply (PACKET pkt) |
int | radar_recv_reply (PACKET pkt) |
void * | radar_qspn_send_t (void *level) |
int | radar_scan (int activate_qspn) |
int | radard (PACKET rpkt) |
int | refresh_hook_root_node (void) |
void * | radar_daemon (void *null) |
void | radar_wait_new_scan (void) |
Variables | |
pthread_attr_t | radar_qspn_send_t_attr |
struct radar_queue* add_radar_q | ( | PACKET | pkt | ) |
void close_radar | ( | void | ) |
int count_hooking_nodes | ( | void | ) |
void final_radar_queue | ( | void | ) |
struct radar_queue* find_ip_radar_q | ( | inet_prefix * | ip | ) |
struct radar_queue* find_node_radar_q | ( | map_node * | node | ) |
void first_init_radar | ( | void | ) |
void free_new_node | ( | void | ) |
void init_radar | ( | void | ) |
int is_rnode_allowed | ( | inet_prefix | rip, |
struct allowed_rnode * | alr | ||
) |
void last_close_radar | ( | void | ) |
void new_rnode_allowed | ( | struct allowed_rnode ** | alr, |
int * | alr_counter, | ||
int * | gid, | ||
int | min_lvl, | ||
int | tot_lvl | ||
) |
void* radar_daemon | ( | void * | null | ) |
int radar_exec_reply | ( | PACKET | pkt | ) |
void* radar_qspn_send_t | ( | void * | level | ) |
int radar_recv_reply | ( | PACKET | pkt | ) |
int radar_remove_old_rnodes | ( | char * | rnode_deleted | ) |
delete the direct route to the ext_node
int radar_scan | ( | int | activate_qspn | ) |
void radar_update_bmap | ( | struct radar_queue * | rq, |
int | level, | ||
int | gnode_level | ||
) |
void radar_update_map | ( | void | ) |
Let's consider all our rnodes void, in this way we'll know what rnodes will remain void after the update.
void radar_wait_new_scan | ( | void | ) |
int radard | ( | PACKET | rpkt | ) |
int refresh_hook_root_node | ( | void | ) |
void reset_radar | ( | void | ) |
void reset_rnode_allowed | ( | struct allowed_rnode ** | alr, |
int * | alr_counter | ||
) |
struct rnode_list* rnl_add | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter, | ||
map_node * | rnode, | ||
interface * | dev | ||
) |
int rnl_add_dev | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter, | ||
struct rnode_list * | rnl, | ||
map_node * | node, | ||
interface * | new_dev | ||
) |
void rnl_close_all_sk | ( | struct rnode_list * | rnlist | ) |
void rnl_del | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter, | ||
struct rnode_list * | rnl, | ||
int | close_socket | ||
) |
int rnl_del_dead_rnode | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter, | ||
map_node * | root_node | ||
) |
int rnl_del_dev | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter, | ||
struct rnode_list * | rnl, | ||
interface * | del_dev | ||
) |
struct rnode_list* rnl_find_node | ( | struct rnode_list * | rnlist, |
map_node * | node | ||
) |
interface** rnl_get_dev | ( | struct rnode_list * | rnlist, |
map_node * | node | ||
) |
interface* rnl_get_rand_dev | ( | struct rnode_list * | rnlist, |
map_node * | node | ||
) |
int rnl_get_sk | ( | struct rnode_list * | rnlist, |
map_node * | node | ||
) |
void rnl_reset | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter | ||
) |
int rnl_send_rq | ( | map_node * | rnode, |
PACKET * | pkt, | ||
int | pkt_flags, | ||
u_char | rq, | ||
int | rq_id, | ||
u_char | re, | ||
int | check_ack, | ||
PACKET * | rpkt | ||
) |
void rnl_set_sk | ( | struct rnode_list * | rnlist, |
map_node * | node, | ||
int | sk | ||
) |
int rnl_update_devs | ( | struct rnode_list ** | rnlist, |
int * | rnlist_counter, | ||
map_node * | node, | ||
interface ** | devs, | ||
int | dev_n | ||
) |
pthread_attr_t radar_qspn_send_t_attr |