summaryrefslogtreecommitdiff
path: root/ripd/ripd.h
diff options
context:
space:
mode:
authorvincent <vincent>2005-09-29 11:25:50 +0000
committervincent <vincent>2005-09-29 11:25:50 +0000
commitfbf5d033041e406ecefd27c2deebf5a4953d1155 (patch)
treee9173ab5e05fc86e95f325d2cb2a7a123eb33327 /ripd/ripd.h
parent3fdb2dd9dd8b4ab3517896092dd1b677d191adf9 (diff)
2005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
* lib/filer.c: show protocol name in filter_show() * lib/plist.c: show protocol name in vty_show_prefix_entry() * routemap.c: show protocol name in vty_show_route_map_entry() * lib/vty.c: in vty_command(), show protocol name if command unknown * zebra/zserv.c: Always provide distance fo route add * ripd/rip_snmp.c: rip2IfConfReceive() sends values in conformance with RFC. Also PeerDomain is now set to a STRING type. * ripd/ripd.h: rip_redistribute_add() API includes metric and distance * ripd/ripd.c: rip_redistribute_add() API i.e. stores metric and distance Now allows a RIP-route to overcome a redistributed route coming from a protocol with worse (higher) administrative distance Metrics from redistribution are shown in show ip rip * ripd/rip_zebra.c: adapt to the rip_redistribute_add() API, i.e. provide distance and metric * ripd/rip_interface.c: adapt to the rip_redistribute_add() API * ripd/rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage rather a CMD_WARNING, because set metric ius shared with other protocols using larger values (such as OSPF) The match metric action takes first external metric if present (from redistribution) then RIP metric.
Diffstat (limited to 'ripd/ripd.h')
-rw-r--r--ripd/ripd.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/ripd/ripd.h b/ripd/ripd.h
index 7874871e..6ddd52d5 100644
--- a/ripd/ripd.h
+++ b/ripd/ripd.h
@@ -200,6 +200,10 @@ struct rip_info
/* Metric of this route. */
u_int32_t metric;
+ /* External metric of this route.
+ if learnt from an externalm proto */
+ u_int32_t external_metric;
+
/* Tag information of this route. */
u_int16_t tag;
@@ -393,7 +397,7 @@ int rip_request_send (struct sockaddr_in *, struct interface *, u_char,
struct connected *);
int rip_neighbor_lookup (struct sockaddr_in *);
void rip_redistribute_add (int, int, struct prefix_ipv4 *, unsigned int,
- struct in_addr *);
+ struct in_addr *, unsigned int, unsigned char);
void rip_redistribute_delete (int, int, struct prefix_ipv4 *, unsigned int);
void rip_redistribute_withdraw (int);
void rip_zebra_ipv4_add (struct prefix_ipv4 *, struct in_addr *, u_int32_t, u_char);