From: hasso Date: Thu, 29 May 2003 22:18:15 +0000 (+0000) Subject: Commit my hack to fix options mismatch in NSSA area DD packets. It shouln't X-Git-Tag: frr-2.0-rc1~4014 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=704a6801abb2506e019f2bfa740c30293630c47f;p=matthieu%2Ffrr.git Commit my hack to fix options mismatch in NSSA area DD packets. It shouln't harm, but of course ... it is hack. --- diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index 15caee4411..2b1033ba68 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -1018,7 +1018,17 @@ ospf_db_desc (struct ip *iph, struct ospf_header *ospfh, oi->db_desc_in++; dd = (struct ospf_db_desc *) STREAM_PNT (s); - +#ifdef HAVE_NSSA + /* + * XXX HACK by Hasso Tepper. Setting P bit in NSSA area DD packets is not + * required. In fact at least JunOS sends DD packets with P bit clear. + * Until proper solution is developped, this hack should help. + */ + if (oi->area->external_routing == OSPF_AREA_NSSA) + { + dd->options = (dd->options | ((short)(8))); + } +#endif /* HAVE_NSSA */ nbr = ospf_nbr_lookup_by_addr (oi->nbrs, &iph->ip_src); if (nbr == NULL) {