From 16705130a1c842f7de252779514e4e7f92d967e2 Mon Sep 17 00:00:00 2001 From: hasso Date: Sun, 25 May 2003 14:49:19 +0000 Subject: Merge RIP part of 6Wind patch. --- ripd/ripd.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'ripd/ripd.h') diff --git a/ripd/ripd.h b/ripd/ripd.h index 112e1cbf..260ea469 100644 --- a/ripd/ripd.h +++ b/ripd/ripd.h @@ -199,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; @@ -211,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 { @@ -239,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 @@ -253,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; @@ -369,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 *); -- cgit v1.2.1