![]() |
The Netsukuku Project
0.0.9
An Alternative routing method
|

Go to the source code of this file.
Data Structures | |
| struct | map_rnode |
| struct | map_node |
| struct | int_map_hdr |
| struct | qspn_queue |
| struct | qstat |
| struct | q_pkt |
| struct | q_opt |
Macros | |
| #define | Q_OPEN |
| #define | MAXGROUPNODE 20 |
| #define | MAXROUTES 5 |
| #define | MAXRTT 10 /*Max node <--> node rtt (in sec)*/ |
| #define | MAXLINKS MAXROUTES |
| #define | MAP_ME 1 /*The root_node, in other words, me ;)*/ |
| #define | MAP_VOID (1<<1) /*It indicates a non existent node*/ |
| #define | MAP_HNODE |
| #define | MAP_BNODE |
| #define | MAP_ERNODE (1<<4) /*It is an External Rnode*/ |
| #define | MAP_GNODE (1<<5) /*It is a gnode*/ |
| #define | MAP_RNODE (1<<6) /*If a node has this set, it is one of the rnodes*/ |
| #define | MAP_UPDATE |
| #define | QSPN_CLOSED |
| #define | QSPN_OPENED (1<<9) /*It puts a link in a QSPN_OPEN state*/ |
| #define | QSPN_OLD |
| #define | QSPN_STARTER |
| #define | QSPN_OPENER |
| #define | QSPN_BACKPRO (1<<13) |
| #define | MAP_RNODE_PACK_SZ (sizeof(int *)+sizeof(u_int)*2) |
| #define | MAP_NODE_PACK_SZ (sizeof(u_short)*2 + sizeof(u_int)) |
| #define | MAXRNODEBLOCK (MAXLINKS * MAXGROUPNODE * sizeof(map_rnode)) |
| #define | MAXRNODEBLOCK_PACK_SZ (MAXLINKS * MAXGROUPNODE * MAP_RNODE_PACK_SZ) |
| #define | INTMAP_END(mapstart) ((sizeof(map_node)*MAXGROUPNODE)+(mapstart)) |
| #define | INT_MAP_BLOCK_SZ(int_map_sz, rblock_sz) (sizeof(struct int_map_hdr)+(int_map_sz)+(rblock_sz)) |
| #define | OP_REQUEST 82 |
| #define | OP_CLOSE OP_REQUEST |
| #define | OP_OPEN 28 |
| #define | OP_REPLY 69 |
| #define | OP_BACKPRO 66 |
| #define | QPKT_REPLY 1 |
Functions | |
| void | thread_joint (int joint, void *(*start_routine)(void *), void *nopt) |
| void | gen_rnd_map (int start_node, int back_link, int back_link_rtt) |
| int | print_map (map_node *map, char *map_file) |
| void * | show_temp_stat (void *) |
| void | print_data (char *file) |
| int | store_tracer_pkt (struct q_opt *qopt) |
| void * | send_qspn_backpro (void *argv) |
| void * | send_qspn_reply (void *argv) |
| void * | send_qspn_pkt (void *argv) |
Variables | |
| INT_INFO | map_rnode_iinfo |
| INT_INFO | map_node_iinfo |
| struct int_map_hdr | _PACKED_ |
| INT_INFO | int_map_hdr_iinfo |
| pthread_mutex_t | mutex [20] |
| int | total_threads =0 |
| int | disable_joint =0 |
| map_node * | int_map |
| struct qspn_queue * | qspn_q [20] |
| int | time_stat |
| struct qstat | gbl_stat |
| struct qstat | node_stat [20] |
| short | rt_stat [20][20] |
| short | rt_total [20] |
| struct q_pkt ** | pkt_db [20] |
| int | pkt_dbc [20] |
| #define INT_MAP_BLOCK_SZ | ( | int_map_sz, | |
| rblock_sz | |||
| ) | (sizeof(struct int_map_hdr)+(int_map_sz)+(rblock_sz)) |
| #define INTMAP_END | ( | mapstart | ) | ((sizeof(map_node)*MAXGROUPNODE)+(mapstart)) |
| #define MAP_BNODE |
| #define MAP_ERNODE (1<<4) /*It is an External Rnode*/ |
| #define MAP_GNODE (1<<5) /*It is a gnode*/ |
| #define MAP_HNODE |
| #define MAP_ME 1 /*The root_node, in other words, me ;)*/ |
| #define MAP_NODE_PACK_SZ (sizeof(u_short)*2 + sizeof(u_int)) |
| #define MAP_RNODE (1<<6) /*If a node has this set, it is one of the rnodes*/ |
| #define MAP_RNODE_PACK_SZ (sizeof(int *)+sizeof(u_int)*2) |
| #define MAP_UPDATE |
| #define MAP_VOID (1<<1) /*It indicates a non existent node*/ |
| #define MAXGROUPNODE 20 |
| #define MAXLINKS MAXROUTES |
| #define MAXRNODEBLOCK (MAXLINKS * MAXGROUPNODE * sizeof(map_rnode)) |
| #define MAXRNODEBLOCK_PACK_SZ (MAXLINKS * MAXGROUPNODE * MAP_RNODE_PACK_SZ) |
| #define MAXROUTES 5 |
| #define MAXRTT 10 /*Max node <--> node rtt (in sec)*/ |
| #define OP_BACKPRO 66 |
| #define OP_CLOSE OP_REQUEST |
| #define OP_OPEN 28 |
| #define OP_REPLY 69 |
| #define OP_REQUEST 82 |
| #define Q_OPEN |
| #define QPKT_REPLY 1 |
| #define QSPN_BACKPRO (1<<13) |
| #define QSPN_CLOSED |
| #define QSPN_OLD |
| #define QSPN_OPENED (1<<9) /*It puts a link in a QSPN_OPEN state*/ |
| #define QSPN_OPENER |
| #define QSPN_STARTER |
| void gen_rnd_map | ( | int | start_node, |
| int | back_link, | ||
| int | back_link_rtt | ||
| ) |


| void print_data | ( | char * | file | ) |

| int print_map | ( | map_node * | map, |
| char * | map_file | ||
| ) |

| void* send_qspn_backpro | ( | void * | argv | ) |


| void* send_qspn_pkt | ( | void * | argv | ) |


| void* send_qspn_reply | ( | void * | argv | ) |


| void* show_temp_stat | ( | void * | ) |

| int store_tracer_pkt | ( | struct q_opt * | qopt | ) |


| void thread_joint | ( | int | joint, |
| void *(*)(void *) | start_routine, | ||
| void * | nopt | ||
| ) |

| struct int_map_hdr _PACKED_ |
| int disable_joint =0 |
| struct qstat gbl_stat |
| map_node* int_map |
| INT_INFO int_map_hdr_iinfo |
| INT_INFO map_node_iinfo |
| INT_INFO map_rnode_iinfo |
| pthread_mutex_t mutex[20] |
| struct qstat node_stat[20] |
| struct q_pkt** pkt_db[20] |
| int pkt_dbc[20] |
| struct qspn_queue* qspn_q[ 20 ] |
| short rt_stat[20][20] |
| short rt_total[20] |
| int time_stat |
| int total_threads =0 |