route_table.h

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/in.h>
#include <linux/ip.h>
#include <net/route.h>
#include <net/ip_fib.h>
#include <net/ip.h>
#include "aodv.h"
#include "utils.h"
#include "rerr.h"
#include "flood_id_queue.h"
#include "packet_queue.h"

ソースコードを見る。

関数

route_table_entry * get_first_route_table_entry ()
route_table_entry * create_route_table_entry ()
route_table_entry * find_route_table_entry (u_int32_t tmp_ip)
route_table_entry * fast_find_route_table_entry (u_int32_t tmp_ip)
int delete_route_table_entry (u_int32_t tmp_ip)
int cleanup_route_table (void)
void find_inactive_route_table_entries ()
int insert_precursor_entry (struct route_table_entry *tmp_entry, u_int32_t tmp_ip)
void delete_precursor_entry (struct route_table_entry *tmp_entry, u_int32_t tmp_ip)
void delete_precursor_entry_from_route_table (u_int32_t tmp_ip)
precursor_entry * find_precursor_entry (struct route_table_entry *tmp_entry, u_int32_t tmp_ip)
int update_route_entry (u_int32_t ip, u_int32_t next_hop_ip, u_int8_t hop_count, u_int32_t seq, struct net_device *dev)
void delete_precursors_from_route_table_entry (struct route_table_entry *tmp_entry)
rtentry * create_kernel_route_entry (u_int32_t dst_ip, u_int32_t gw_ip, char *interf)
int insert_kernel_route_entry (u_int32_t dst_ip, u_int32_t gw_ip, char *interf)
int delete_kernel_route_entry (u_int32_t dst_ip, u_int32_t gw_ip)
int init_route_table (void)
int read_route_table_proc (char *buffer, char **buffer_location, off_t offset, int buffer_length, int *eof, void *data)
int read_monitor_proc (char *buffer, char **buffer_location, off_t offset, int buffer_length, int *eof, void *data)
void print_route_table ()
void reset_route_table_link ()


関数

int cleanup_route_table (  void   ) 
 

route_table.c の 589 行で定義されています。

参照先 delete_kernel_route_entry()・delete_precursors_from_route_table_entry()・route_table_entry::dst_ip・inet_ntoa()・route_table_entry::next・route_table_entry::next_hop・print_route_table().

参照元 cleanup_module().

struct rtentry* create_kernel_route_entry (  u_int32_t  dst_ip,
u_int32_t  gw_ip,
char *  interf
) 
 

route_table.c の 859 行で定義されています。

参照先 g_broadcast_ip.

参照元 delete_kernel_route_entry()・insert_kernel_route_entry().

struct route_table_entry* create_route_table_entry (   ) 
 

route_table.c の 208 行で定義されています。

参照先 route_table_entry::dev・FALSE・route_table_entry::link・route_table_entry::next・route_table_entry::precursors・route_table_entry::prev・route_table_entry::route_seq_valid・route_table_entry::route_valid・route_write_lock()・route_write_unlock()・route_table_entry::rreq_id・route_table_entry::self_route.

参照元 init_interface_list()・recv_hello()・recv_rreq()・update_route_entry().

int delete_kernel_route_entry (  u_int32_t  dst_ip,
u_int32_t  gw_ip
) 
 

route_table.c の 951 行で定義されています。

参照先 create_kernel_route_entry().

参照元 cleanup_route_table()・delete_route_table_entry()・recv_hello()・recv_rerr()・route_expiry()・update_route_entry().

void delete_precursor_entry (  struct route_table_entry *  tmp_entry,
u_int32_t  tmp_ip
) 
 

route_table.c の 683 行で定義されています。

参照先 find_precursor_entry()・precursor_entry::next・route_table_entry::precursors・precursor_entry::prev.

参照元 delete_precursor_entry_from_route_table().

void delete_precursor_entry_from_route_table (  u_int32_t  tmp_ip  ) 
 

route_table.c の 706 行で定義されています。

参照先 delete_precursor_entry()・route_read_lock()・route_read_unlock().

参照元 link_break().

void delete_precursors_from_route_table_entry (  struct route_table_entry *  tmp_entry  ) 
 

route_table.c の 835 行で定義されています。

参照先 precursor_entry::next・route_table_entry::precursors.

参照元 cleanup_route_table()・delete_route_table_entry()・find_inactive_route_table_entries().

int delete_route_table_entry (  u_int32_t  tmp_ip  ) 
 

route_table.c の 322 行で定義されています。

参照先 delete_kernel_route_entry()・delete_precursors_from_route_table_entry()・route_table_entry::dst_ip・find_route_table_entry()・route_table_entry::next・route_table_entry::next_hop・route_table_entry::prev・route_write_lock()・route_write_unlock().

struct route_table_entry* fast_find_route_table_entry (  u_int32_t  tmp_ip  ) 
 

route_table.c の 257 行で定義されています。

参照先 route_table_entry::dst_ip・route_table_entry::next.

void find_inactive_route_table_entries (   ) 
 

route_table.c の 111 行で定義されています。

参照先 delete_precursors_from_route_table_entry()・route_table_entry::dst_ip・FALSE・getcurrtime()・inet_ntoa()・route_table_entry::lifetime・link_break()・route_table_entry::next・route_table_entry::next_hop・route_table_entry::prev・route_expiry()・route_table_entry::route_valid・route_write_lock()・route_write_unlock()・route_table_entry::self_route.

参照元 aodv().

struct precursor_entry* find_precursor_entry (  struct route_table_entry *  tmp_entry,
u_int32_t  tmp_ip
) 
 

struct route_table_entry* find_route_table_entry (  u_int32_t  tmp_ip  ) 
 

route_table.c の 285 行で定義されています。

参照先 route_table_entry::dst_ip・route_table_entry::next・route_read_lock()・route_read_unlock().

参照元 delete_route_table_entry()・gen_rrep()・gen_rreq()・host_unr()・packet_in()・recv_hello()・recv_rerr()・recv_rrep()・recv_rreq()・send_message()・timer_neighbor()・update_route_entry().

struct route_table_entry* get_first_route_table_entry (   ) 
 

route_table.c の 96 行で定義されています。

参照元 link_break().

int init_route_table (  void   ) 
 

route_table.c の 83 行で定義されています。

参照元 init_module().

int insert_kernel_route_entry (  u_int32_t  dst_ip,
u_int32_t  gw_ip,
char *  interf
) 
 

route_table.c の 905 行で定義されています。

参照先 create_kernel_route_entry()・inet_ntoa().

参照元 init_interface_list()・recv_hello()・update_route_entry().

int insert_precursor_entry (  struct route_table_entry *  tmp_entry,
u_int32_t  tmp_ip
) 
 

route_table.c の 647 行で定義されています。

参照先 find_precursor_entry()・precursor_entry::ip・precursor_entry::next・route_table_entry::precursors・precursor_entry::prev.

参照元 gen_rrep()・recv_rrep().

void print_route_table (   ) 
 

route_table.c の 557 行で定義されています。

参照先 route_table_entry::dst_ip・route_table_entry::dst_seq・route_table_entry::hop_count・inet_ntoa()・route_table_entry::next・route_table_entry::next_hop・print_precursors().

参照元 cleanup_route_table().

int read_monitor_proc (  char *  buffer,
char **  buffer_location,
off_t  offset,
int  buffer_length,
int *  eof,
void *  data
) 
 

route_table.c の 360 行で定義されています。

参照先 route_table_entry::dst_ip・route_table_entry::hop_count・inet_ntoa()・route_table_entry::next・route_table_entry::next_hop・route_read_lock()・route_read_unlock().

参照元 init_module().

int read_route_table_proc (  char *  buffer,
char **  buffer_location,
off_t  offset,
int  buffer_length,
int *  eof,
void *  data
) 
 

route_table.c の 439 行で定義されています。

参照先 route_table_entry::dst_ip・route_table_entry::dst_seq・getcurrtime()・route_table_entry::hop_count・inet_ntoa()・precursor_entry::ip・route_table_entry::lifetime・route_table_entry::next・precursor_entry::next・route_table_entry::next_hop・route_table_entry::precursors・route_read_lock()・route_read_unlock()・route_table_entry::route_valid・route_table_entry::self_route.

参照元 init_module().

void reset_route_table_link (   ) 
 

int update_route_entry (  u_int32_t  ip,
u_int32_t  next_hop_ip,
u_int8_t  hop_count,
u_int32_t  seq,
struct net_device *  dev
) 
 

route_table.c の 758 行で定義されています。

参照先 ACTIVE_ROUTE_TIMEOUT・create_route_table_entry()・delete_kernel_route_entry()・route_table_entry::dev・route_table_entry::dst_ip・route_table_entry::dst_seq・find_route_table_entry()・getcurrtime()・route_table_entry::hop_count・inet_ntoa()・insert_kernel_route_entry()・ipq_send_ip()・route_table_entry::lifetime・route_table_entry::next_hop・route_table_entry::route_seq_valid・route_table_entry::route_valid・route_table_entry::self_route・seq_greater()・TRUE.

参照元 recv_rrep()・recv_rreq().


kernel_aodvmに対してThu Nov 10 18:53:12 2005に生成されました。  doxygen 1.4.5