The Netsukuku Project  0.0.9
An Alternative routing method
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
radar.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  radar_queue
 
struct  rnode_list
 
struct  allowed_rnode
 

Macros

#define MAX_RADAR_SCANS   16
 
#define MAX_RADAR_WAIT
 
#define RTT_DELTA
 
#define RADQ_VOID_RNODE   0
 
#define RADQ_EXT_RNODE   1
 

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_queuefind_node_radar_q (map_node *node)
 
struct radar_queuefind_ip_radar_q (inet_prefix *ip)
 
int count_hooking_nodes (void)
 
void rnl_reset (struct rnode_list **rnlist, int *rnlist_counter)
 
interface ** rnl_get_dev (struct rnode_list *rnlist, map_node *node)
 
interfacernl_get_rand_dev (struct rnode_list *rnlist, map_node *node)
 
int rnl_get_sk (struct rnode_list *rnlist, map_node *node)
 
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)
 
void new_rnode_allowed (struct allowed_rnode **alr, int *alr_counter, int *gid, int min_lvl, int max_lvl)
 
void reset_rnode_allowed (struct allowed_rnode **alr, int *alr_counter)
 
void final_radar_queue (void)
 
void radar_update_map (void)
 
struct radar_queueadd_radar_q (PACKET pkt)
 
int radar_exec_reply (PACKET pkt)
 
int radar_scan (int activate_qspn)
 
int radard (PACKET rpkt)
 
int radar_recv_reply (PACKET pkt)
 
void * radar_daemon (void *null)
 
void radar_wait_new_scan (void)
 
int refresh_hook_root_node (void)
 

Variables

int max_radar_wait
 
int radar_wait_counter
 
int radar_scans [MAX_INTERFACES]
 
int total_radar_scans
 
int radar_scan_mutex
 
int my_echo_id
 
u_char send_qspn_now [MAX_LEVELS]
 
int hook_retry
 
int radar_daemon_ctl
 
int total_radars
 
struct radar_queueradar_q
 
int radar_q_counter
 
struct timeval scan_start
 
struct rnode_listrlist
 
int rlist_counter
 
struct allowed_rnodealwd_rnodes
 
int alwd_rnodes_counter
 

Macro Definition Documentation

#define MAX_RADAR_SCANS   16
#define MAX_RADAR_WAIT
Value:
5 /*How much we wait to store the received
ECHO_REPLY pkts and then to close the
current radar session*/
#define RADQ_EXT_RNODE   1
#define RADQ_VOID_RNODE   0
#define RTT_DELTA
Value:
1000 /*If the change delta of the new rtt is
>= RTT_DELTA, the qspn_q.send_qspn
will be set. (It's in millisec)*/

Function Documentation

struct radar_queue* add_radar_q ( PACKET  pkt)

Here is the call graph for this function:

Here is the caller graph for this function:

void close_radar ( void  )

Here is the caller graph for this function:

int count_hooking_nodes ( void  )

Here is the caller graph for this function:

void final_radar_queue ( void  )

Here is the caller graph for this function:

struct radar_queue* find_ip_radar_q ( inet_prefix ip)

Here is the caller graph for this function:

struct radar_queue* find_node_radar_q ( map_node node)

Here is the caller graph for this function:

void first_init_radar ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void free_new_node ( void  )

Here is the caller graph for this function:

void init_radar ( void  )

Here is the caller graph for this function:

void last_close_radar ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void new_rnode_allowed ( struct allowed_rnode **  alr,
int *  alr_counter,
int *  gid,
int  min_lvl,
int  max_lvl 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void* radar_daemon ( void *  null)

Here is the call graph for this function:

Here is the caller graph for this function:

int radar_exec_reply ( PACKET  pkt)

Here is the call graph for this function:

Here is the caller graph for this function:

int radar_recv_reply ( PACKET  pkt)

Here is the call graph for this function:

Here is the caller graph for this function:

int radar_scan ( int  activate_qspn)

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

void radar_wait_new_scan ( void  )

Here is the caller graph for this function:

int radard ( PACKET  rpkt)

Here is the call graph for this function:

Here is the caller graph for this function:

int refresh_hook_root_node ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void reset_radar ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

void reset_rnode_allowed ( struct allowed_rnode **  alr,
int *  alr_counter 
)

Here is the caller graph for this function:

void rnl_close_all_sk ( struct rnode_list rnlist)

Here is the call graph for this function:

Here is the caller graph for this function:

int rnl_fill_rq ( map_node rnode,
PACKET pkt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

interface** rnl_get_dev ( struct rnode_list rnlist,
map_node node 
)

Here is the call graph for this function:

Here is the caller graph for this function:

interface* rnl_get_rand_dev ( struct rnode_list rnlist,
map_node node 
)

Here is the call graph for this function:

int rnl_get_sk ( struct rnode_list rnlist,
map_node node 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void rnl_reset ( struct rnode_list **  rnlist,
int *  rnlist_counter 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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 
)

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

struct allowed_rnode* alwd_rnodes
int alwd_rnodes_counter
int hook_retry
int max_radar_wait
int my_echo_id
int radar_daemon_ctl
struct radar_queue* radar_q
int radar_q_counter
int radar_scan_mutex
int radar_scans[MAX_INTERFACES]
int radar_wait_counter
struct rnode_list* rlist
int rlist_counter
struct timeval scan_start
u_char send_qspn_now[MAX_LEVELS]
int total_radar_scans
int total_radars