packages: quagga/quagga-ospf.patch (NEW) - fix ospf build

lisu lisu at pld-linux.org
Wed Mar 23 11:22:17 CET 2011


Author: lisu                         Date: Wed Mar 23 10:22:17 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- fix ospf build

---- Files affected:
packages/quagga:
   quagga-ospf.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/quagga/quagga-ospf.patch
diff -u /dev/null packages/quagga/quagga-ospf.patch:1.1
--- /dev/null	Wed Mar 23 11:22:17 2011
+++ packages/quagga/quagga-ospf.patch	Wed Mar 23 11:22:12 2011
@@ -0,0 +1,94 @@
+diff -ru quagga.a/ospfd/ospf_lsa.h quagga.b/ospfd/ospf_lsa.h
+--- quagga.a/ospfd/ospf_lsa.h   2011-03-23 11:04:36.144939371 +0100
++++ quagga.b/ospfd/ospf_lsa.h   2011-03-23 11:03:11.226321351 +0100
+@@ -114,6 +114,9 @@
+
+   /* Refreshement List or Queue */
+   int refresh_list;
++
++  /* For Type-9 Opaque-LSAs */
++  struct ospf_interface *oi;
+ };
+
+ /* OSPF LSA Link Type. */
+diff -ru quagga.a/ospfd/ospf_nsm.c quagga.b/ospfd/ospf_nsm.c
+--- quagga.a/ospfd/ospf_nsm.c   2011-03-23 11:04:36.134938356 +0100
++++ quagga.b/ospfd/ospf_nsm.c   2011-03-23 11:03:11.229655023 +0100
+@@ -216,7 +216,7 @@
+     {
+     case OSPF_OPAQUE_LINK_LSA:
+       /* Exclude type-9 LSAs that does not have the same "oi" with "nbr". */
+-      if (lsa->oi != nbr->oi)
++      if (nbr->oi && ospf_if_exists (lsa->oi) != nbr->oi)
+           return 0;
+       break;
+     case OSPF_OPAQUE_AREA_LSA:
+diff -ru quagga.a/ospfd/ospf_opaque.c quagga.b/ospfd/ospf_opaque.c
+--- quagga.a/ospfd/ospf_opaque.c        2011-03-23 11:04:36.144939371 +0100
++++ quagga.b/ospfd/ospf_opaque.c        2011-03-23 11:03:11.229655023 +0100
+@@ -251,7 +251,7 @@
+   void (* config_write_debug )(struct vty *vty);
+   void (* show_opaque_info   )(struct vty *vty, struct ospf_lsa *lsa);
+   int  (* lsa_originator)(void *arg);
+-  void (* lsa_refresher )(struct ospf_lsa *lsa);
++  struct ospf_lsa *(* lsa_refresher )(struct ospf_lsa *lsa);
+   int (* new_lsa_hook)(struct ospf_lsa *lsa);
+   int (* del_lsa_hook)(struct ospf_lsa *lsa);
+ };
+@@ -354,7 +354,7 @@
+   void (* config_write_debug )(struct vty *vty),
+   void (* show_opaque_info   )(struct vty *vty, struct ospf_lsa *lsa),
+   int  (* lsa_originator)(void *arg),
+-  void (* lsa_refresher )(struct ospf_lsa *lsa),
++  struct ospf_lsa *(* lsa_refresher )(struct ospf_lsa *lsa),
+   int (* new_lsa_hook)(struct ospf_lsa *lsa),
+   int (* del_lsa_hook)(struct ospf_lsa *lsa))
+ {
+@@ -1608,12 +1608,13 @@
+   return new;
+ }
+
+-void
++struct ospf_lsa *
+ ospf_opaque_lsa_refresh (struct ospf_lsa *lsa)
+ {
+   struct ospf *ospf;
+   struct ospf_opaque_functab *functab;
+-
++  struct ospf_lsa *new = NULL;
++
+   ospf = ospf_lookup ();
+
+   if ((functab = ospf_opaque_functab_lookup (lsa)) == NULL
+@@ -1633,9 +1634,9 @@
+       ospf_lsa_flush (ospf, lsa);
+     }
+   else
+-    (* functab->lsa_refresher)(lsa);
++    new = (* functab->lsa_refresher)(lsa);
+
+-  return;
++  return new;
+ }
+
+ /*------------------------------------------------------------------------*
+--- quagga.a/ospfd/ospf_opaque.h	2011-03-23 11:04:36.141605700 +0100
++++ quagga.b/ospfd/ospf_opaque.h	2011-03-23 11:03:11.229655023 +0100
+@@ -120,7 +120,7 @@
+   void (* config_write_debug )(struct vty *vty),
+   void (* show_opaque_info   )(struct vty *vty, struct ospf_lsa *lsa),
+   int  (* lsa_originator)(void *arg),
+-  void (* lsa_refresher )(struct ospf_lsa *lsa),
++  struct ospf_lsa *(* lsa_refresher )(struct ospf_lsa *lsa),
+   int (* new_lsa_hook)(struct ospf_lsa *lsa),
+   int (* del_lsa_hook)(struct ospf_lsa *lsa)
+ );
+@@ -143,7 +143,7 @@
+ 						int *init_delay);
+ extern struct ospf_lsa *ospf_opaque_lsa_install (struct ospf_lsa *,
+ 						 int rt_recalc);
+-extern void ospf_opaque_lsa_refresh (struct ospf_lsa *lsa);
++extern struct ospf_lsa *ospf_opaque_lsa_refresh (struct ospf_lsa *lsa);
+ 
+ extern void ospf_opaque_lsa_reoriginate_schedule (void *lsa_type_dependent,
+ 						  u_char lsa_type,
================================================================


More information about the pld-cvs-commit mailing list