]> git.puffer.fish Git - matthieu/frr.git/commitdiff
Commit my hack to fix options mismatch in NSSA area DD packets. It shouln't
authorhasso <hasso>
Thu, 29 May 2003 22:18:15 +0000 (22:18 +0000)
committerhasso <hasso>
Thu, 29 May 2003 22:18:15 +0000 (22:18 +0000)
harm, but of course ... it is hack.

ospfd/ospf_packet.c

index 15caee44119b308278e20856feb09e2599a60ff3..2b1033ba684fd3bba9a07e677698c5f340573ea5 100644 (file)
@@ -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)
     {