![]() |
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 |