diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-09-04 11:06:51 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-09-04 11:06:51 +0200 |
commit | f9c799a00e705b1420b214628c2bb2a30bf491d9 (patch) | |
tree | 23386935f0128d31acab5f86da41774cac0a4de5 /proto/ospf/rt.c | |
parent | d2ceaf4ec82837239a35ace00399ce3aa845849e (diff) | |
download | bird-f9c799a00e705b1420b214628c2bb2a30bf491d9.tar bird-f9c799a00e705b1420b214628c2bb2a30bf491d9.zip |
Temporary OSPFv3 development commit (changing multicast support).
Diffstat (limited to 'proto/ospf/rt.c')
-rw-r--r-- | proto/ospf/rt.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c index 27bd226..0f6efd7 100644 --- a/proto/ospf/rt.c +++ b/proto/ospf/rt.c @@ -26,6 +26,8 @@ static void rt_sync(struct proto_ospf *po); #endif +#ifdef OSPFv3 + static inline u32 * get_ipv6_prefix(u32 *buf, ip_addr *addr, int *pxlen, u8 *pxopts, u16 *rest) { @@ -56,6 +58,9 @@ get_ipv6_addr(u32 *buf, ip_addr *addr) return buf + 4; } +#endif + + static void fill_ri(orta * orta) { @@ -839,8 +844,8 @@ ospf_ext_spf(struct proto_ospf *po) if (en->lsa.rt == p->cf->global->router_id) continue; - DBG("%s: Working on LSA. ID: %R, RT: %R, Type: %u, Mask %I\n", - p->name, en->lsa.id, en->lsa.rt, en->lsa.type, le->netmask); + DBG("%s: Working on LSA. ID: %R, RT: %R, Type: %u\n", + p->name, en->lsa.id, en->lsa.rt, en->lsa.type); le = en->lsa_body; @@ -1056,7 +1061,7 @@ static inline int match_dr(struct ospf_iface *ifa, struct top_hash_entry *en) { #ifdef OSPFv2 - return (ifa->drid == en->lsa.rt) && (ifa->drip == ipa_from_u32(en->lsa.id)); + return (ifa->drid == en->lsa.rt) && (ipa_to_u32(ifa->drip) == en->lsa.id); #else /* OSPFv3 */ return (ifa->drid == en->lsa.rt) && (ifa->dr_iface_id == en->lsa.id); #endif |