summaryrefslogtreecommitdiffstats
path: root/ripd/ripd.h
diff options
context:
space:
mode:
Diffstat (limited to 'ripd/ripd.h')
-rw-r--r--ripd/ripd.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/ripd/ripd.h b/ripd/ripd.h
index 2545db04..260ea469 100644
--- a/ripd/ripd.h
+++ b/ripd/ripd.h
@@ -64,7 +64,6 @@
/* RIP port number. */
#define RIP_PORT_DEFAULT 520
#define RIP_VTY_PORT 2602
-#define RIP_VTYSH_PATH "/tmp/.ripd"
/* Default configuration file name. */
#define RIPD_DEFAULT_CONFIG "ripd.conf"
@@ -200,6 +199,7 @@ struct rip_info
struct in_addr nexthop_out;
u_char metric_set;
u_int32_t metric_out;
+ u_short tag_out;
unsigned int ifindex_out;
struct route_node *rp;
@@ -212,6 +212,12 @@ struct rip_info
#endif /* NEW_RIP_TABLE */
};
+typedef enum {
+ RIP_NO_SPLIT_HORIZON = 0,
+ RIP_SPLIT_HORIZON,
+ RIP_SPLIT_HORIZON_POISONED_REVERSE
+} split_horizon_policy_t;
+
/* RIP specific interface configuration. */
struct rip_interface
{
@@ -240,8 +246,8 @@ struct rip_interface
char *key_chain;
/* Split horizon flag. */
- int split_horizon;
- int split_horizon_default;
+ split_horizon_policy_t split_horizon;
+ split_horizon_policy_t split_horizon_default;
/* For filter type slot. */
#define RIP_FILTER_IN 0
@@ -254,6 +260,9 @@ struct rip_interface
/* Prefix-list. */
struct prefix_list *prefix[RIP_FILTER_MAX];
+ /* Route-map. */
+ struct route_map *routemap[RIP_FILTER_MAX];
+
/* Wake up thread. */
struct thread *t_wakeup;
@@ -359,8 +368,6 @@ void rip_zclient_init ();
void rip_zclient_start ();
void rip_zclient_reset ();
void rip_offset_init ();
-int if_check_address (struct in_addr addr);
-int if_valid_neighbor (struct in_addr addr);
int rip_request_send (struct sockaddr_in *, struct interface *, u_char);
int rip_neighbor_lookup (struct sockaddr_in *);
@@ -372,6 +379,7 @@ void rip_zebra_ipv4_add (struct prefix_ipv4 *, struct in_addr *, u_int32_t, u_ch
void rip_zebra_ipv4_delete (struct prefix_ipv4 *, struct in_addr *, u_int32_t);
void rip_interface_multicast_set (int, struct interface *);
void rip_distribute_update_interface (struct interface *);
+void rip_if_rmap_update_interface (struct interface *);
int config_write_rip_network (struct vty *, int);
int config_write_rip_offset_list (struct vty *);