diff options
author | paul <paul> | 2003-05-24 13:48:16 +0000 |
---|---|---|
committer | paul <paul> | 2003-05-24 13:48:16 +0000 |
commit | b0795bbf490bbac91b3079cac1e6f96bfb48d82b (patch) | |
tree | befe8854645f7d52bdda281b2ab49eb959ff025e /ospfd/ospf_interface.c | |
parent | f3da9ac12eff8cb23e0a11c6ab21aaf3b6457476 (diff) | |
download | quagga-b0795bbf490bbac91b3079cac1e6f96bfb48d82b.tar.bz2 quagga-b0795bbf490bbac91b3079cac1e6f96bfb48d82b.tar.xz |
2003-05-24 Kenji Yabuuchi
* ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
match for interface lookup.
Diffstat (limited to 'ospfd/ospf_interface.c')
-rw-r--r-- | ospfd/ospf_interface.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index c37e1948..569e4781 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -425,7 +425,11 @@ ospf_if_lookup_recv_if (struct ospf *ospf, struct in_addr src) else { if (prefix_match (oi->address, (struct prefix *) &addr)) - match = oi; + { + if (match == NULL || + (match->address->prefixlen < oi->address->prefixlen) + match = oi; + } } } |