diff options
-rw-r--r-- | ripd/ChangeLog | 5 | ||||
-rw-r--r-- | ripd/rip_routemap.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ripd/ChangeLog b/ripd/ChangeLog index 9e787d07..bd487f64 100644 --- a/ripd/ChangeLog +++ b/ripd/ChangeLog @@ -1,5 +1,10 @@ 2005-05-26 Hasso Tepper <hasso at quagga.net> + * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender + address as nexthop in routemap. + +2005-05-26 Hasso Tepper <hasso at quagga.net> + * rip_routemap.c: Make "match interface" routemap command match both - in and out interfaces. diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c index 63d0ccce..275f683e 100644 --- a/ripd/rip_routemap.c +++ b/ripd/rip_routemap.c @@ -275,7 +275,7 @@ route_match_ip_next_hop (void *rule, struct prefix *prefix, { rinfo = object; p.family = AF_INET; - p.prefix = rinfo->nexthop; + p.prefix = (rinfo->nexthop.s_addr) ? rinfo->nexthop : rinfo->from; p.prefixlen = IPV4_MAX_BITLEN; alist = access_list_lookup (AFI_IP, (char *) rule); @@ -326,7 +326,7 @@ route_match_ip_next_hop_prefix_list (void *rule, struct prefix *prefix, { rinfo = object; p.family = AF_INET; - p.prefix = rinfo->nexthop; + p.prefix = (rinfo->nexthop.s_addr) ? rinfo->nexthop : rinfo->from; p.prefixlen = IPV4_MAX_BITLEN; plist = prefix_list_lookup (AFI_IP, (char *) rule); |