version 1.1.1.1, 2012/02/21 17:26:12
|
version 1.1.1.2, 2016/11/02 10:09:10
|
Line 49
|
Line 49
|
#define RIP_RTE_SIZE 20 |
#define RIP_RTE_SIZE 20 |
|
|
/* Max count of routing table entry in one rip packet. */ |
/* Max count of routing table entry in one rip packet. */ |
#define RIP_MAX_RTE 25 | #define RIP_MAX_RTE ((RIP_PACKET_MAXSIZ - RIP_HEADER_SIZE) / RIP_RTE_SIZE) |
|
|
/* RIP version 2 multicast address. */ |
/* RIP version 2 multicast address. */ |
#ifndef INADDR_RIP_GROUP |
#ifndef INADDR_RIP_GROUP |
Line 143 struct rip
|
Line 143 struct rip
|
u_char distance; |
u_char distance; |
struct route_table *distance_table; |
struct route_table *distance_table; |
|
|
|
/* RIP ECMP flag */ |
|
unsigned int ecmp; |
|
|
/* For redistribute route map. */ |
/* For redistribute route map. */ |
struct |
struct |
{ |
{ |
Line 195 struct rip_info
|
Line 198 struct rip_info
|
struct in_addr from; |
struct in_addr from; |
|
|
/* Which interface does this route come from. */ |
/* Which interface does this route come from. */ |
unsigned int ifindex; | ifindex_t ifindex; |
|
|
/* Metric of this route. */ |
/* Metric of this route. */ |
u_int32_t metric; |
u_int32_t metric; |
Line 221 struct rip_info
|
Line 224 struct rip_info
|
u_char metric_set; |
u_char metric_set; |
u_int32_t metric_out; |
u_int32_t metric_out; |
u_short tag_out; |
u_short tag_out; |
unsigned int ifindex_out; | ifindex_t ifindex_out; |
|
|
struct route_node *rp; |
struct route_node *rp; |
|
|
Line 386 extern void rip_if_down_all (void);
|
Line 389 extern void rip_if_down_all (void);
|
extern void rip_route_map_init (void); |
extern void rip_route_map_init (void); |
extern void rip_route_map_reset (void); |
extern void rip_route_map_reset (void); |
extern void rip_snmp_init (void); |
extern void rip_snmp_init (void); |
extern void rip_zclient_init (void); | extern void rip_zclient_init (struct thread_master *); |
extern void rip_zclient_start (void); |
extern void rip_zclient_start (void); |
extern void rip_zclient_reset (void); |
extern void rip_zclient_reset (void); |
extern void rip_offset_init (void); |
extern void rip_offset_init (void); |
Line 397 extern int rip_request_send (struct sockaddr_in *, str
|
Line 400 extern int rip_request_send (struct sockaddr_in *, str
|
extern int rip_neighbor_lookup (struct sockaddr_in *); |
extern int rip_neighbor_lookup (struct sockaddr_in *); |
|
|
extern int rip_redistribute_check (int); |
extern int rip_redistribute_check (int); |
extern void rip_redistribute_add (int, int, struct prefix_ipv4 *, unsigned int, | extern void rip_redistribute_add (int, int, struct prefix_ipv4 *, ifindex_t, |
struct in_addr *, unsigned int, unsigned char); |
struct in_addr *, unsigned int, unsigned char); |
extern void rip_redistribute_delete (int, int, struct prefix_ipv4 *, unsigned int); | extern void rip_redistribute_delete (int, int, struct prefix_ipv4 *, ifindex_t); |
extern void rip_redistribute_withdraw (int); |
extern void rip_redistribute_withdraw (int); |
extern void rip_zebra_ipv4_add (struct prefix_ipv4 *, struct in_addr *, u_int32_t, u_char); | extern void rip_zebra_ipv4_add (struct route_node *); |
extern void rip_zebra_ipv4_delete (struct prefix_ipv4 *, struct in_addr *, u_int32_t); | extern void rip_zebra_ipv4_delete (struct route_node *); |
extern void rip_interface_multicast_set (int, struct connected *); |
extern void rip_interface_multicast_set (int, struct connected *); |
extern void rip_distribute_update_interface (struct interface *); |
extern void rip_distribute_update_interface (struct interface *); |
extern void rip_if_rmap_update_interface (struct interface *); |
extern void rip_if_rmap_update_interface (struct interface *); |
Line 428 extern u_char rip_distance_apply (struct rip_info *);
|
Line 431 extern u_char rip_distance_apply (struct rip_info *);
|
extern void rip_redistribute_clean (void); |
extern void rip_redistribute_clean (void); |
extern void rip_ifaddr_add (struct interface *, struct connected *); |
extern void rip_ifaddr_add (struct interface *, struct connected *); |
extern void rip_ifaddr_delete (struct interface *, struct connected *); |
extern void rip_ifaddr_delete (struct interface *, struct connected *); |
|
|
|
extern struct rip_info *rip_ecmp_add (struct rip_info *); |
|
extern struct rip_info *rip_ecmp_replace (struct rip_info *); |
|
extern struct rip_info *rip_ecmp_delete (struct rip_info *); |
|
|
/* There is only one rip strucutre. */ |
/* There is only one rip strucutre. */ |
extern struct rip *rip; |
extern struct rip *rip; |