⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf6d.c

📁 linux 路由软件 可支持RIP OSPF BGP等
💻 C
📖 第 1 页 / 共 4 页
字号:
  u_int32_t adv_router = 0;  u_int32_t id = 0;  OSPF6_CMD_CHECK_RUNNING ();  type = parse_type_spec (argc, argv);  argc--;  argv++;  if ((inet_pton (AF_INET, argv[0], &id)) != 1)    {      vty_out (vty, "Link State ID is not parsable: %s%s",               argv[0], VNL);      return CMD_SUCCESS;    }  argc--;  argv++;  level = parse_show_level (argc, argv);  adv_router = o->router_id;  switch (OSPF6_LSA_SCOPE (type))    {      case OSPF6_SCOPE_AREA:        for (i = listhead (o->area_list); i; nextnode (i))          {            oa = (struct ospf6_area *) getdata (i);            vty_out (vty, AREA_LSDB_TITLE_FORMAT, VNL, oa->name, VNL, VNL);            ospf6_lsdb_show (vty, level, &type, &id, &adv_router, oa->lsdb);          }        break;      case OSPF6_SCOPE_LINKLOCAL:        for (i = listhead (o->area_list); i; nextnode (i))          {            oa = (struct ospf6_area *) getdata (i);            for (j = listhead (oa->if_list); j; nextnode (j))              {                oi = (struct ospf6_interface *) getdata (j);                vty_out (vty, IF_LSDB_TITLE_FORMAT, VNL,                         oi->interface->name, oa->name, VNL, VNL);                ospf6_lsdb_show (vty, level, &type, &id, &adv_router, oi->lsdb);              }          }        break;      case OSPF6_SCOPE_AS:        vty_out (vty, AS_LSDB_TITLE_FORMAT, VNL, VNL, VNL);        ospf6_lsdb_show (vty, level, &type, &id, &adv_router, o->lsdb);        break;      default:        assert (0);        break;    }  vty_out (vty, "%s", VNL);  return CMD_SUCCESS;}ALIAS (show_ipv6_ospf6_database_type_self_originated_linkstate_id,       show_ipv6_ospf6_database_type_self_originated_linkstate_id_detail_cmd,       "show ipv6 ospf6 database "       "(router|network|inter-prefix|inter-router|as-external|"       "group-membership|type-7|link|intra-prefix) self-originated "       "linkstate-id A.B.C.D (detail|dump|internal)",       SHOW_STR       IPV6_STR       OSPF6_STR       "Display Link state database\n"       "Display Router LSAs\n"       "Display Network LSAs\n"       "Display Inter-Area-Prefix LSAs\n"       "Display Inter-Area-Router LSAs\n"       "Display As-External LSAs\n"       "Display Group-Membership LSAs\n"       "Display Type-7 LSAs\n"       "Display Link LSAs\n"       "Display Intra-Area-Prefix LSAs\n"       "Display Self-originated LSAs\n"       "Search by Link state ID\n"       "Specify Link state ID as IPv4 address notation\n"       "Display details of LSAs\n"       "Dump LSAs\n"       "Display LSA's internal information\n"      );DEFUN (show_ipv6_ospf6_database_type_id_self_originated,       show_ipv6_ospf6_database_type_id_self_originated_cmd,       "show ipv6 ospf6 database "       "(router|network|inter-prefix|inter-router|as-external|"       "group-membership|type-7|link|intra-prefix) A.B.C.D self-originated",       SHOW_STR       IPV6_STR       OSPF6_STR       "Display Link state database\n"       "Display Router LSAs\n"       "Display Network LSAs\n"       "Display Inter-Area-Prefix LSAs\n"       "Display Inter-Area-Router LSAs\n"       "Display As-External LSAs\n"       "Display Group-Membership LSAs\n"       "Display Type-7 LSAs\n"       "Display Link LSAs\n"       "Display Intra-Area-Prefix LSAs\n"       "Specify Link state ID as IPv4 address notation\n"       "Display Self-originated LSAs\n"      ){  int level;  listnode i, j;  struct ospf6 *o = ospf6;  struct ospf6_area *oa;  struct ospf6_interface *oi;  u_int16_t type = 0;  u_int32_t adv_router = 0;  u_int32_t id = 0;  OSPF6_CMD_CHECK_RUNNING ();  type = parse_type_spec (argc, argv);  argc--;  argv++;  if ((inet_pton (AF_INET, argv[0], &id)) != 1)    {      vty_out (vty, "Link State ID is not parsable: %s%s",               argv[0], VNL);      return CMD_SUCCESS;    }  argc--;  argv++;  level = parse_show_level (argc, argv);  adv_router = o->router_id;  switch (OSPF6_LSA_SCOPE (type))    {      case OSPF6_SCOPE_AREA:        for (i = listhead (o->area_list); i; nextnode (i))          {            oa = (struct ospf6_area *) getdata (i);            vty_out (vty, AREA_LSDB_TITLE_FORMAT, VNL, oa->name, VNL, VNL);            ospf6_lsdb_show (vty, level, &type, &id, &adv_router, oa->lsdb);          }        break;      case OSPF6_SCOPE_LINKLOCAL:        for (i = listhead (o->area_list); i; nextnode (i))          {            oa = (struct ospf6_area *) getdata (i);            for (j = listhead (oa->if_list); j; nextnode (j))              {                oi = (struct ospf6_interface *) getdata (j);                vty_out (vty, IF_LSDB_TITLE_FORMAT, VNL,                         oi->interface->name, oa->name, VNL, VNL);                ospf6_lsdb_show (vty, level, &type, &id, &adv_router, oi->lsdb);              }          }        break;      case OSPF6_SCOPE_AS:        vty_out (vty, AS_LSDB_TITLE_FORMAT, VNL, VNL, VNL);        ospf6_lsdb_show (vty, level, &type, &id, &adv_router, o->lsdb);        break;      default:        assert (0);        break;    }  vty_out (vty, "%s", VNL);  return CMD_SUCCESS;}ALIAS (show_ipv6_ospf6_database_type_id_self_originated,       show_ipv6_ospf6_database_type_id_self_originated_detail_cmd,       "show ipv6 ospf6 database "       "(router|network|inter-prefix|inter-router|as-external|"       "group-membership|type-7|link|intra-prefix) A.B.C.D self-originated "       "(detail|dump|internal)",       SHOW_STR       IPV6_STR       OSPF6_STR       "Display Link state database\n"       "Display Router LSAs\n"       "Display Network LSAs\n"       "Display Inter-Area-Prefix LSAs\n"       "Display Inter-Area-Router LSAs\n"       "Display As-External LSAs\n"       "Display Group-Membership LSAs\n"       "Display Type-7 LSAs\n"       "Display Link LSAs\n"       "Display Intra-Area-Prefix LSAs\n"       "Display Self-originated LSAs\n"       "Search by Link state ID\n"       "Specify Link state ID as IPv4 address notation\n"       "Display details of LSAs\n"       "Dump LSAs\n"       "Display LSA's internal information\n"      );DEFUN (show_ipv6_ospf6_border_routers,       show_ipv6_ospf6_border_routers_cmd,       "show ipv6 ospf6 border-routers",       SHOW_STR       IP6_STR       OSPF6_STR       "Display routing table for ABR and ASBR\n"      ){  u_int32_t adv_router;  void (*showfunc) (struct vty *, struct ospf6_route *);  struct ospf6_route *ro;  struct prefix prefix;  OSPF6_CMD_CHECK_RUNNING ();  if (argc && ! strcmp ("detail", argv[0]))    {      showfunc = ospf6_route_show_detail;      argc--;      argv++;    }  else    showfunc = ospf6_brouter_show;  if (argc)    {      if ((inet_pton (AF_INET, argv[0], &adv_router)) != 1)        {          vty_out (vty, "Router ID is not parsable: %s%s", argv[0], VNL);          return CMD_SUCCESS;        }      ospf6_linkstate_prefix (adv_router, 0, &prefix);      ro = ospf6_route_lookup (&prefix, ospf6->brouter_table);      ospf6_route_show_detail (vty, ro);      return CMD_SUCCESS;    }  if (showfunc == ospf6_brouter_show)    ospf6_brouter_show_header (vty);  for (ro = ospf6_route_head (ospf6->brouter_table); ro;       ro = ospf6_route_next (ro))    (*showfunc) (vty, ro);  return CMD_SUCCESS;}ALIAS (show_ipv6_ospf6_border_routers,       show_ipv6_ospf6_border_routers_detail_cmd,       "show ipv6 ospf6 border-routers (A.B.C.D|detail)",       SHOW_STR       IP6_STR       OSPF6_STR       "Display routing table for ABR and ASBR\n"       "Specify Router-ID\n"       "Display Detail\n"      );DEFUN (show_ipv6_ospf6_linkstate,       show_ipv6_ospf6_linkstate_cmd,       "show ipv6 ospf6 linkstate",       SHOW_STR       IP6_STR       OSPF6_STR       "Display linkstate routing table\n"      ){  listnode node;  struct ospf6_area *oa;  for (node = listhead (ospf6->area_list); node; nextnode (node))    {      oa = OSPF6_AREA (getdata (node));      vty_out (vty, "%s        SPF Result in Area %s%s%s",               VNL, oa->name, VNL, VNL);      ospf6_linkstate_table_show (vty, argc, argv, oa->spf_table);    }  vty_out (vty, "%s", VNL);  return CMD_SUCCESS;}ALIAS (show_ipv6_ospf6_linkstate,       show_ipv6_ospf6_linkstate_router_cmd,       "show ipv6 ospf6 linkstate router A.B.C.D",       SHOW_STR       IP6_STR       OSPF6_STR       "Display linkstate routing table\n"       "Display Router Entry\n"       "Specify Router ID as IPv4 address notation\n"      );ALIAS (show_ipv6_ospf6_linkstate,       show_ipv6_ospf6_linkstate_network_cmd,       "show ipv6 ospf6 linkstate network A.B.C.D A.B.C.D",       SHOW_STR       IP6_STR       OSPF6_STR       "Display linkstate routing table\n"       "Display Network Entry\n"       "Specify Router ID as IPv4 address notation\n"       "Specify Link state ID as IPv4 address notation\n"      );DEFUN (show_ipv6_ospf6_linkstate_detail,       show_ipv6_ospf6_linkstate_detail_cmd,       "show ipv6 ospf6 linkstate detail",       SHOW_STR       IP6_STR       OSPF6_STR       "Display linkstate routing table\n"      ){  char *sargv[CMD_ARGC_MAX];  int i, sargc;  listnode node;  struct ospf6_area *oa;  /* copy argv to sargv and then append "detail" */  for (i = 0; i < argc; i++)    sargv[i] = argv[i];  sargc = argc;  sargv[sargc++] = "detail";  sargv[sargc] = NULL;  for (node = listhead (ospf6->area_list); node; nextnode (node))    {      oa = OSPF6_AREA (getdata (node));      vty_out (vty, "%s        SPF Result in Area %s%s%s",               VNL, oa->name, VNL, VNL);      ospf6_linkstate_table_show (vty, sargc, sargv, oa->spf_table);    }  vty_out (vty, "%s", VNL);  return CMD_SUCCESS;}/* Install ospf related commands. */voidospf6_init (){  ospf6_top_init ();  ospf6_area_init ();  ospf6_interface_init ();  ospf6_neighbor_init ();  ospf6_zebra_init ();  ospf6_lsa_init ();  ospf6_spf_init ();  ospf6_intra_init ();  ospf6_asbr_init ();  ospf6_abr_init ();#ifdef HAVE_SNMP  ospf6_snmp_init ();#endif /*HAVE_SNMP*/  install_node (&debug_node, config_write_ospf6_debug);  install_element_ospf6_debug_message ();  install_element_ospf6_debug_lsa ();  install_element_ospf6_debug_interface ();  install_element_ospf6_debug_neighbor ();  install_element_ospf6_debug_zebra ();  install_element_ospf6_debug_spf ();  install_element_ospf6_debug_route ();  install_element_ospf6_debug_asbr ();  install_element_ospf6_debug_abr ();  install_element_ospf6_debug_flood ();  install_element (VIEW_NODE, &show_version_ospf6_cmd);  install_element (ENABLE_NODE, &show_version_ospf6_cmd);  install_element (VIEW_NODE, &show_ipv6_ospf6_border_routers_cmd);  install_element (VIEW_NODE, &show_ipv6_ospf6_border_routers_detail_cmd);  install_element (ENABLE_NODE, &show_ipv6_ospf6_border_routers_cmd);  install_element (ENABLE_NODE, &show_ipv6_ospf6_border_routers_detail_cmd);  install_element (VIEW_NODE, &show_ipv6_ospf6_linkstate_cmd);  install_element (VIEW_NODE, &show_ipv6_ospf6_linkstate_router_cmd);  install_element (VIEW_NODE, &show_ipv6_ospf6_linkstate_network_cmd);  install_element (VIEW_NODE, &show_ipv6_ospf6_linkstate_detail_cmd);  install_element (ENABLE_NODE, &show_ipv6_ospf6_linkstate_cmd);  install_element (ENABLE_NODE, &show_ipv6_ospf6_linkstate_router_cmd);  install_element (ENABLE_NODE, &show_ipv6_ospf6_linkstate_network_cmd);  install_element (ENABLE_NODE, &show_ipv6_ospf6_linkstate_detail_cmd);#define INSTALL(n,c) \  install_element (n ## _NODE, &show_ipv6_ospf6_ ## c);  INSTALL (VIEW, database_cmd);  INSTALL (VIEW, database_detail_cmd);  INSTALL (VIEW, database_type_cmd);  INSTALL (VIEW, database_type_detail_cmd);  INSTALL (VIEW, database_id_cmd);  INSTALL (VIEW, database_id_detail_cmd);  INSTALL (VIEW, database_linkstate_id_cmd);  INSTALL (VIEW, database_linkstate_id_detail_cmd);  INSTALL (VIEW, database_router_cmd);  INSTALL (VIEW, database_router_detail_cmd);  INSTALL (VIEW, database_adv_router_cmd);  INSTALL (VIEW, database_adv_router_detail_cmd);  INSTALL (VIEW, database_type_id_cmd);  INSTALL (VIEW, database_type_id_detail_cmd);  INSTALL (VIEW, database_type_linkstate_id_cmd);  INSTALL (VIEW, database_type_linkstate_id_detail_cmd);  INSTALL (VIEW, database_type_router_cmd);  INSTALL (VIEW, database_type_router_detail_cmd);  INSTALL (VIEW, database_type_adv_router_cmd);  INSTALL (VIEW, database_type_adv_router_detail_cmd);  INSTALL (VIEW, database_adv_router_linkstate_id_cmd);  INSTALL (VIEW, database_adv_router_linkstate_id_detail_cmd);  INSTALL (VIEW, database_id_router_cmd);  INSTALL (VIEW, database_id_router_detail_cmd);  INSTALL (VIEW, database_type_id_router_cmd);  INSTALL (VIEW, database_type_id_router_detail_cmd);  INSTALL (VIEW, database_type_adv_router_linkstate_id_cmd);  INSTALL (VIEW, database_type_adv_router_linkstate_id_detail_cmd);  INSTALL (VIEW, database_self_originated_cmd);  INSTALL (VIEW, database_self_originated_detail_cmd);  INSTALL (VIEW, database_type_self_originated_cmd);  INSTALL (VIEW, database_type_self_originated_detail_cmd);  INSTALL (VIEW, database_type_id_self_originated_cmd);  INSTALL (VIEW, database_type_id_self_originated_detail_cmd);  INSTALL (VIEW, database_type_self_originated_linkstate_id_cmd);  INSTALL (VIEW, database_type_self_originated_linkstate_id_detail_cmd);  INSTALL (VIEW, database_type_id_self_originated_cmd);  INSTALL (VIEW, database_type_id_self_originated_detail_cmd);  INSTALL (ENABLE, database_cmd);  INSTALL (ENABLE, database_detail_cmd);  INSTALL (ENABLE, database_type_cmd);  INSTALL (ENABLE, database_type_detail_cmd);  INSTALL (ENABLE, database_id_cmd);  INSTALL (ENABLE, database_id_detail_cmd);  INSTALL (ENABLE, database_linkstate_id_cmd);  INSTALL (ENABLE, database_linkstate_id_detail_cmd);  INSTALL (ENABLE, database_router_cmd);  INSTALL (ENABLE, database_router_detail_cmd);  INSTALL (ENABLE, database_adv_router_cmd);  INSTALL (ENABLE, database_adv_router_detail_cmd);  INSTALL (ENABLE, database_type_id_cmd);  INSTALL (ENABLE, database_type_id_detail_cmd);  INSTALL (ENABLE, database_type_linkstate_id_cmd);  INSTALL (ENABLE, database_type_linkstate_id_detail_cmd);  INSTALL (ENABLE, database_type_router_cmd);  INSTALL (ENABLE, database_type_router_detail_cmd);  INSTALL (ENABLE, database_type_adv_router_cmd);  INSTALL (ENABLE, database_type_adv_router_detail_cmd);  INSTALL (ENABLE, database_adv_router_linkstate_id_cmd);  INSTALL (ENABLE, database_adv_router_linkstate_id_detail_cmd);  INSTALL (ENABLE, database_id_router_cmd);  INSTALL (ENABLE, database_id_router_detail_cmd);  INSTALL (ENABLE, database_type_id_router_cmd);  INSTALL (ENABLE, database_type_id_router_detail_cmd);  INSTALL (ENABLE, database_type_adv_router_linkstate_id_cmd);  INSTALL (ENABLE, database_type_adv_router_linkstate_id_detail_cmd);  INSTALL (ENABLE, database_self_originated_cmd);  INSTALL (ENABLE, database_self_originated_detail_cmd);  INSTALL (ENABLE, database_type_self_originated_cmd);  INSTALL (ENABLE, database_type_self_originated_detail_cmd);  INSTALL (ENABLE, database_type_id_self_originated_cmd);  INSTALL (ENABLE, database_type_id_self_originated_detail_cmd);  INSTALL (ENABLE, database_type_self_originated_linkstate_id_cmd);  INSTALL (ENABLE, database_type_self_originated_linkstate_id_detail_cmd);  INSTALL (ENABLE, database_type_id_self_originated_cmd);  INSTALL (ENABLE, database_type_id_self_originated_detail_cmd);  /* Make ospf protocol socket. */  ospf6_serv_sock ();  thread_add_read (master, ospf6_receive, NULL, ospf6_sock);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -