source: packages/net/quagga/patches/030-fix-opaque-support.patch @ 26362

Last change on this file since 26362 was 26362, checked in by acinonyx, 5 years ago

[packages] quagga: Renumber patches

File size: 3.0 KB
  • ospfd/ospf_lsa.h

    a b struct ospf_lsa 
    114114 
    115115  /* Refreshement List or Queue */ 
    116116  int refresh_list; 
     117   
     118  /* For Type-9 Opaque-LSAs */ 
     119  struct ospf_interface *oi; 
    117120}; 
    118121 
    119122/* OSPF LSA Link Type. */ 
  • ospfd/ospf_nsm.c

    a b ospf_db_summary_add (struct ospf_neighbo 
    216216    { 
    217217    case OSPF_OPAQUE_LINK_LSA: 
    218218      /* Exclude type-9 LSAs that does not have the same "oi" with "nbr". */ 
    219       if (lsa->oi != nbr->oi) 
     219      if (nbr->oi && ospf_if_exists (lsa->oi) != nbr->oi) 
    220220          return 0; 
    221221      break; 
    222222    case OSPF_OPAQUE_AREA_LSA: 
  • ospfd/ospf_opaque.c

    a b struct ospf_opaque_functab 
    251251  void (* config_write_debug )(struct vty *vty); 
    252252  void (* show_opaque_info   )(struct vty *vty, struct ospf_lsa *lsa); 
    253253  int  (* lsa_originator)(void *arg); 
    254   void (* lsa_refresher )(struct ospf_lsa *lsa); 
     254  struct ospf_lsa *(* lsa_refresher )(struct ospf_lsa *lsa); 
    255255  int (* new_lsa_hook)(struct ospf_lsa *lsa); 
    256256  int (* del_lsa_hook)(struct ospf_lsa *lsa); 
    257257}; 
    ospf_register_opaque_functab ( 
    354354  void (* config_write_debug )(struct vty *vty), 
    355355  void (* show_opaque_info   )(struct vty *vty, struct ospf_lsa *lsa), 
    356356  int  (* lsa_originator)(void *arg), 
    357   void (* lsa_refresher )(struct ospf_lsa *lsa), 
     357  struct ospf_lsa *(* lsa_refresher )(struct ospf_lsa *lsa), 
    358358  int (* new_lsa_hook)(struct ospf_lsa *lsa), 
    359359  int (* del_lsa_hook)(struct ospf_lsa *lsa)) 
    360360{ 
    out: 
    16081608  return new; 
    16091609} 
    16101610 
    1611 void 
     1611struct ospf_lsa * 
    16121612ospf_opaque_lsa_refresh (struct ospf_lsa *lsa) 
    16131613{ 
    16141614  struct ospf *ospf; 
    16151615  struct ospf_opaque_functab *functab; 
    1616  
     1616  struct ospf_lsa *new = NULL; 
     1617   
    16171618  ospf = ospf_lookup (); 
    16181619 
    16191620  if ((functab = ospf_opaque_functab_lookup (lsa)) == NULL 
    ospf_opaque_lsa_refresh (struct ospf_lsa 
    16331634      ospf_lsa_flush (ospf, lsa); 
    16341635    } 
    16351636  else 
    1636     (* functab->lsa_refresher)(lsa); 
     1637    new = (* functab->lsa_refresher)(lsa); 
    16371638 
    1638   return; 
     1639  return new; 
    16391640} 
    16401641 
    16411642/*------------------------------------------------------------------------* 
  • ospfd/ospf_opaque.h

    a b ospf_register_opaque_functab ( 
    120120  void (* config_write_debug )(struct vty *vty), 
    121121  void (* show_opaque_info   )(struct vty *vty, struct ospf_lsa *lsa), 
    122122  int  (* lsa_originator)(void *arg), 
    123   void (* lsa_refresher )(struct ospf_lsa *lsa), 
     123  struct ospf_lsa *(* lsa_refresher )(struct ospf_lsa *lsa), 
    124124  int (* new_lsa_hook)(struct ospf_lsa *lsa), 
    125125  int (* del_lsa_hook)(struct ospf_lsa *lsa) 
    126126); 
    extern void ospf_opaque_lsa_originate_sc 
    143143                                                int *init_delay); 
    144144extern struct ospf_lsa *ospf_opaque_lsa_install (struct ospf_lsa *, 
    145145                                                 int rt_recalc); 
    146 extern void ospf_opaque_lsa_refresh (struct ospf_lsa *lsa); 
     146extern struct ospf_lsa *ospf_opaque_lsa_refresh (struct ospf_lsa *lsa); 
    147147 
    148148extern void ospf_opaque_lsa_reoriginate_schedule (void *lsa_type_dependent, 
    149149                                                  u_char lsa_type, 
Note: See TracBrowser for help on using the repository browser.