Diff for /embedaddon/quagga/ospf6d/ospf6_area.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 17:26:12 version 1.1.1.2, 2016/11/02 10:09:11
Line 67  ospf6_area_lsdb_hook_add (struct ospf6_lsa *lsa) Line 67  ospf6_area_lsdb_hook_add (struct ospf6_lsa *lsa)
           zlog_debug ("Schedule SPF Calculation for %s",            zlog_debug ("Schedule SPF Calculation for %s",
                       OSPF6_AREA (lsa->lsdb->data)->name);                        OSPF6_AREA (lsa->lsdb->data)->name);
         }          }
      ospf6_spf_schedule (OSPF6_AREA (lsa->lsdb->data));      ospf6_spf_schedule (OSPF6_PROCESS(OSPF6_AREA (lsa->lsdb->data)->ospf6),
                           ospf6_lsadd_to_spf_reason(lsa));
       break;        break;
   
     case OSPF6_LSTYPE_INTRA_PREFIX:      case OSPF6_LSTYPE_INTRA_PREFIX:
Line 97  ospf6_area_lsdb_hook_remove (struct ospf6_lsa *lsa) Line 98  ospf6_area_lsdb_hook_remove (struct ospf6_lsa *lsa)
           zlog_debug ("Schedule SPF Calculation for %s",            zlog_debug ("Schedule SPF Calculation for %s",
                      OSPF6_AREA (lsa->lsdb->data)->name);                       OSPF6_AREA (lsa->lsdb->data)->name);
         }          }
      ospf6_spf_schedule (OSPF6_AREA (lsa->lsdb->data));      ospf6_spf_schedule (OSPF6_PROCESS(OSPF6_AREA (lsa->lsdb->data)->ospf6),
                           ospf6_lsremove_to_spf_reason(lsa));
       break;        break;
   
     case OSPF6_LSTYPE_INTRA_PREFIX:      case OSPF6_LSTYPE_INTRA_PREFIX:
Line 164  ospf6_area_create (u_int32_t area_id, struct ospf6 *o) Line 166  ospf6_area_create (u_int32_t area_id, struct ospf6 *o)
   oa->summary_router->scope = oa;    oa->summary_router->scope = oa;
   
   /* set default options */    /* set default options */
  OSPF6_OPT_SET (oa->options, OSPF6_OPT_V6);  if (CHECK_FLAG (o->flag, OSPF6_STUB_ROUTER))
     {
       OSPF6_OPT_CLEAR (oa->options, OSPF6_OPT_V6);
       OSPF6_OPT_CLEAR (oa->options, OSPF6_OPT_R);
     }
   else
     {
       OSPF6_OPT_SET (oa->options, OSPF6_OPT_V6);
       OSPF6_OPT_SET (oa->options, OSPF6_OPT_R);
     }
 
   OSPF6_OPT_SET (oa->options, OSPF6_OPT_E);    OSPF6_OPT_SET (oa->options, OSPF6_OPT_E);
   OSPF6_OPT_SET (oa->options, OSPF6_OPT_R);  
   
   oa->ospf6 = o;    oa->ospf6 = o;
   listnode_add_sort (o->area_list, oa);    listnode_add_sort (o->area_list, oa);
Line 182  ospf6_area_create (u_int32_t area_id, struct ospf6 *o) Line 193  ospf6_area_create (u_int32_t area_id, struct ospf6 *o)
 void  void
 ospf6_area_delete (struct ospf6_area *oa)  ospf6_area_delete (struct ospf6_area *oa)
 {  {
  struct listnode *n, *nnode;  struct listnode *n;
   struct ospf6_interface *oi;    struct ospf6_interface *oi;
   
   ospf6_route_table_delete (oa->range_table);    ospf6_route_table_delete (oa->range_table);
   ospf6_route_table_delete (oa->summary_prefix);    ospf6_route_table_delete (oa->summary_prefix);
   ospf6_route_table_delete (oa->summary_router);    ospf6_route_table_delete (oa->summary_router);
   
  /* ospf6 interface list */  /* The ospf6_interface structs store configuration
  for (ALL_LIST_ELEMENTS (oa->if_list, n, nnode, oi))   * information which should not be lost/reset when
    {   * deleting an area.
      ospf6_interface_delete (oi);   * So just detach the interface from the area and
    }   * keep it around. */
   for (ALL_LIST_ELEMENTS_RO (oa->if_list, n, oi))
     oi->area = NULL;
 
   list_delete (oa->if_list);    list_delete (oa->if_list);
   
   ospf6_lsdb_delete (oa->lsdb);    ospf6_lsdb_delete (oa->lsdb);
Line 246  ospf6_area_enable (struct ospf6_area *oa) Line 260  ospf6_area_enable (struct ospf6_area *oa)
   
   for (ALL_LIST_ELEMENTS (oa->if_list, node, nnode, oi))    for (ALL_LIST_ELEMENTS (oa->if_list, node, nnode, oi))
     ospf6_interface_enable (oi);      ospf6_interface_enable (oi);
     ospf6_abr_enable_area (oa);
 }  }
   
 void  void
Line 258  ospf6_area_disable (struct ospf6_area *oa) Line 273  ospf6_area_disable (struct ospf6_area *oa)
   
   for (ALL_LIST_ELEMENTS (oa->if_list, node, nnode, oi))    for (ALL_LIST_ELEMENTS (oa->if_list, node, nnode, oi))
     ospf6_interface_disable (oi);      ospf6_interface_disable (oi);
   
     ospf6_abr_disable_area (oa);
     ospf6_lsdb_remove_all (oa->lsdb);
     ospf6_lsdb_remove_all (oa->lsdb_self);
   
     ospf6_spf_table_finish(oa->spf_table);
     ospf6_route_remove_all(oa->route_table);
   
     THREAD_OFF (oa->thread_spf_calculation);
     THREAD_OFF (oa->thread_route_calculation);
   
     THREAD_OFF (oa->thread_router_lsa);
     THREAD_OFF (oa->thread_intra_prefix_lsa);
 }  }
   
 void  void
 ospf6_area_show (struct vty *vty, struct ospf6_area *oa)  ospf6_area_show (struct vty *vty, struct ospf6_area *oa)
 {  {
Line 401  DEFUN (no_area_range, Line 429  DEFUN (no_area_range,
     }      }
   
   ospf6_route_remove (range, oa->range_table);    ospf6_route_remove (range, oa->range_table);
   
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }  }
   
Line 489  DEFUN (no_area_filter_list, Line 518  DEFUN (no_area_filter_list,
        "Filter networks sent from this area\n")         "Filter networks sent from this area\n")
 {  {
   struct ospf6_area *area;    struct ospf6_area *area;
   struct prefix_list *plist;  
   
   OSPF6_CMD_AREA_GET (argv[0], area);    OSPF6_CMD_AREA_GET (argv[0], area);
   argc--;    argc--;
   argv++;    argv++;
   
   plist = prefix_list_lookup (AFI_IP6, argv[0]);  
   if (strncmp (argv[1], "in", 2) == 0)    if (strncmp (argv[1], "in", 2) == 0)
     {      {
       if (PREFIX_NAME_IN (area))        if (PREFIX_NAME_IN (area))

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>