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

📄 bgp_routemap.c

📁 linux 路由软件 可支持RIP OSPF BGP等
💻 C
📖 第 1 页 / 共 5 页
字号:
	    if ((bgp_static = bn->info) != NULL)	      {		if (bgp_static->rmap.name)		  bgp_static->rmap.map =			 route_map_lookup_by_name (bgp_static->rmap.name);		else		  bgp_static->rmap.map = NULL;	      }    }  /* For redistribute route-map updates. */  LIST_LOOP (bm->bgp, bgp, nn)    {      for (i = 0; i < ZEBRA_ROUTE_MAX; i++)	{	  if (bgp->rmap[ZEBRA_FAMILY_IPV4][i].name)	    bgp->rmap[ZEBRA_FAMILY_IPV4][i].map = 	      route_map_lookup_by_name (bgp->rmap[ZEBRA_FAMILY_IPV4][i].name);#ifdef HAVE_IPV6	  if (bgp->rmap[ZEBRA_FAMILY_IPV6][i].name)	    bgp->rmap[ZEBRA_FAMILY_IPV6][i].map =	      route_map_lookup_by_name (bgp->rmap[ZEBRA_FAMILY_IPV6][i].name);#endif /* HAVE_IPV6 */	}    }}DEFUN (match_ip_address,        match_ip_address_cmd,       "match ip address (<1-199>|<1300-2699>|WORD)",       MATCH_STR       IP_STR       "Match address of route\n"       "IP access-list number\n"       "IP access-list number (expanded range)\n"       "IP Access-list name\n"){  return bgp_route_match_add (vty, vty->index, "ip address", argv[0]);}DEFUN (no_match_ip_address,        no_match_ip_address_cmd,       "no match ip address",       NO_STR       MATCH_STR       IP_STR       "Match address of route\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "ip address", NULL);  return bgp_route_match_delete (vty, vty->index, "ip address", argv[0]);}ALIAS (no_match_ip_address,        no_match_ip_address_val_cmd,       "no match ip address (<1-199>|<1300-2699>|WORD)",       NO_STR       MATCH_STR       IP_STR       "Match address of route\n"       "IP access-list number\n"       "IP access-list number (expanded range)\n"       "IP Access-list name\n");DEFUN (match_ip_next_hop,        match_ip_next_hop_cmd,       "match ip next-hop (<1-199>|<1300-2699>|WORD)",       MATCH_STR       IP_STR       "Match next-hop address of route\n"       "IP access-list number\n"       "IP access-list number (expanded range)\n"       "IP Access-list name\n"){  return bgp_route_match_add (vty, vty->index, "ip next-hop", argv[0]);}DEFUN (no_match_ip_next_hop,       no_match_ip_next_hop_cmd,       "no match ip next-hop",       NO_STR       MATCH_STR       IP_STR       "Match next-hop address of route\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "ip next-hop", NULL);  return bgp_route_match_delete (vty, vty->index, "ip next-hop", argv[0]);}ALIAS (no_match_ip_next_hop,       no_match_ip_next_hop_val_cmd,       "no match ip next-hop (<1-199>|<1300-2699>|WORD)",       NO_STR       MATCH_STR       IP_STR       "Match next-hop address of route\n"       "IP access-list number\n"       "IP access-list number (expanded range)\n"       "IP Access-list name\n");DEFUN (match_ip_route_source,        match_ip_route_source_cmd,       "match ip route-source (<1-199>|<1300-2699>|WORD)",       MATCH_STR       IP_STR       "Match advertising source address of route\n"       "IP access-list number\n"       "IP access-list number (expanded range)\n"       "IP standard access-list name\n"){  return bgp_route_match_add (vty, vty->index, "ip route-source", argv[0]);}DEFUN (no_match_ip_route_source,       no_match_ip_route_source_cmd,       "no match ip route-source",       NO_STR       MATCH_STR       IP_STR       "Match advertising source address of route\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "ip route-source", NULL);  return bgp_route_match_delete (vty, vty->index, "ip route-source", argv[0]);}ALIAS (no_match_ip_route_source,       no_match_ip_route_source_val_cmd,       "no match ip route-source (<1-199>|<1300-2699>|WORD)",       NO_STR       MATCH_STR       IP_STR       "Match advertising source address of route\n"       "IP access-list number\n"       "IP access-list number (expanded range)\n"       "IP standard access-list name\n");DEFUN (match_ip_address_prefix_list,        match_ip_address_prefix_list_cmd,       "match ip address prefix-list WORD",       MATCH_STR       IP_STR       "Match address of route\n"       "Match entries of prefix-lists\n"       "IP prefix-list name\n"){  return bgp_route_match_add (vty, vty->index, "ip address prefix-list", argv[0]);}DEFUN (no_match_ip_address_prefix_list,       no_match_ip_address_prefix_list_cmd,       "no match ip address prefix-list",       NO_STR       MATCH_STR       IP_STR       "Match address of route\n"       "Match entries of prefix-lists\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "ip address prefix-list", NULL);  return bgp_route_match_delete (vty, vty->index, "ip address prefix-list", argv[0]);}ALIAS (no_match_ip_address_prefix_list,       no_match_ip_address_prefix_list_val_cmd,       "no match ip address prefix-list WORD",       NO_STR       MATCH_STR       IP_STR       "Match address of route\n"       "Match entries of prefix-lists\n"       "IP prefix-list name\n");DEFUN (match_ip_next_hop_prefix_list,        match_ip_next_hop_prefix_list_cmd,       "match ip next-hop prefix-list WORD",       MATCH_STR       IP_STR       "Match next-hop address of route\n"       "Match entries of prefix-lists\n"       "IP prefix-list name\n"){  return bgp_route_match_add (vty, vty->index, "ip next-hop prefix-list", argv[0]);}DEFUN (no_match_ip_next_hop_prefix_list,       no_match_ip_next_hop_prefix_list_cmd,       "no match ip next-hop prefix-list",       NO_STR       MATCH_STR       IP_STR       "Match next-hop address of route\n"       "Match entries of prefix-lists\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "ip next-hop prefix-list", NULL);  return bgp_route_match_delete (vty, vty->index, "ip next-hop prefix-list", argv[0]);}ALIAS (no_match_ip_next_hop_prefix_list,       no_match_ip_next_hop_prefix_list_val_cmd,       "no match ip next-hop prefix-list WORD",       NO_STR       MATCH_STR       IP_STR       "Match next-hop address of route\n"       "Match entries of prefix-lists\n"       "IP prefix-list name\n");DEFUN (match_ip_route_source_prefix_list,        match_ip_route_source_prefix_list_cmd,       "match ip route-source prefix-list WORD",       MATCH_STR       IP_STR       "Match advertising source address of route\n"       "Match entries of prefix-lists\n"       "IP prefix-list name\n"){  return bgp_route_match_add (vty, vty->index, "ip route-source prefix-list", argv[0]);}DEFUN (no_match_ip_route_source_prefix_list,       no_match_ip_route_source_prefix_list_cmd,       "no match ip route-source prefix-list",       NO_STR       MATCH_STR       IP_STR       "Match advertising source address of route\n"       "Match entries of prefix-lists\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "ip route-source prefix-list", NULL);  return bgp_route_match_delete (vty, vty->index, "ip route-source prefix-list", argv[0]);}ALIAS (no_match_ip_route_source_prefix_list,       no_match_ip_route_source_prefix_list_val_cmd,       "no match ip route-source prefix-list WORD",       NO_STR       MATCH_STR       IP_STR       "Match advertising source address of route\n"       "Match entries of prefix-lists\n"       "IP prefix-list name\n");DEFUN (match_metric,        match_metric_cmd,       "match metric <0-4294967295>",       MATCH_STR       "Match metric of route\n"       "Metric value\n"){  return bgp_route_match_add (vty, vty->index, "metric", argv[0]);}DEFUN (no_match_metric,       no_match_metric_cmd,       "no match metric",       NO_STR       MATCH_STR       "Match metric of route\n"){  if (argc == 0)    return bgp_route_match_delete (vty, vty->index, "metric", NULL);  return bgp_route_match_delete (vty, vty->index, "metric", argv[0]);}ALIAS (no_match_metric,       no_match_metric_val_cmd,       "no match metric <0-4294967295>",       NO_STR       MATCH_STR       "Match metric of route\n"       "Metric value\n");DEFUN (match_community,        match_community_cmd,       "match community (<1-99>|<100-500>|WORD)",       MATCH_STR       "Match BGP community list\n"       "Community-list number (standard)\n"       "Community-list number (expanded)\n"       "Community-list name\n"){  return bgp_route_match_add (vty, vty->index, "community", argv[0]);}DEFUN (match_community_exact,        match_community_exact_cmd,       "match community (<1-99>|<100-500>|WORD) exact-match",       MATCH_STR       "Match BGP community list\n"       "Community-list number (standard)\n"       "Community-list number (expanded)\n"       "Community-list name\n"       "Do exact matching of communities\n"){  int ret;  char *argstr;  argstr = XMALLOC (MTYPE_ROUTE_MAP_COMPILED,		    strlen (argv[0]) + strlen ("exact-match") + 2);  sprintf (argstr, "%s exact-match", argv[0]);  ret = bgp_route_match_add (vty, vty->index, "community", argstr);  XFREE (MTYPE_ROUTE_MAP_COMPILED, argstr);  return ret;}DEFUN (no_match_community,       no_match_community_cmd,       "no match community",       NO_STR       MATCH_STR       "Match BGP community list\n"){  return bgp_route_match_delete (vty, vty->index, "community", NULL);}ALIAS (no_match_community,       no_match_community_val_cmd,       "no match community (<1-99>|<100-500>|WORD)",       NO_STR       MATCH_STR       "Match BGP community list\n"       "Community-list number (standard)\n"       "Community-list number (expanded)\n"       "Community-list name\n");ALIAS (no_match_community,       no_match_community_exact_cmd,       "no match community (<1-99>|<100-500>|WORD) exact-match",       NO_STR       MATCH_STR       "Match BGP community list\n"       "Community-list number (standard)\n"       "Community-list number (expanded)\n"       "Community-list name\n"       "Do exact matching of communities\n");DEFUN (match_ecommunity,        match_ecommunity_cmd,       "match extcommunity (<1-99>|<100-500>|WORD)",       MATCH_STR       "Match BGP/VPN extended community list\n"       "Extended community-list number (standard)\n"       "Extended community-list number (expanded)\n"       "Extended community-list name\n"){  return bgp_route_match_add (vty, vty->index, "extcommunity", argv[0]);}DEFUN (no_match_ecommunity,       no_match_ecommunity_cmd,       "no match extcommunity",       NO_STR       MATCH_STR       "Match BGP/VPN extended community list\n"){  return bgp_route_match_delete (vty, vty->index, "extcommunity", NULL);}ALIAS (no_match_ecommunity,       no_match_ecommunity_val_cmd,       "no match extcommunity (<1-99>|<100-500>|WORD)",       NO_STR       MATCH_STR       "Match BGP/VPN extended community list\n"       "Extended community-list number (standard)\n"       "Extended community-list number (expanded)\n"       "Extended community-list name\n");DEFUN (match_aspath,       match_aspath_cmd,       "match as-path WORD",       MATCH_STR       "Match BGP AS path list\n"       "AS path access-list name\n"){  return bgp_route_match_add (vty, vty->index, "as-path", argv[0]);}DEFUN (no_match_aspath,       no_match_aspath_cmd,       "no match as-path",       NO_STR       MATCH_STR       "Match BGP AS path list\n"){  return bgp_route_match_delete (vty, vty->index, "as-path", NULL);}ALIAS (no_match_aspath,       no_match_aspath_val_cmd,       "no match as-path WORD",       NO_STR       MATCH_STR       "Match BGP AS path list\n"       "AS path access-list name\n");DEFUN (match_origin,       match_origin_cmd,       "match origin (egp|igp|incomplete)",       MATCH_STR       "BGP origin code\n"       "remote EGP\n"       "local IGP\n"       "unknown heritage\n"){  if (strncmp (argv[0], "igp", 2) == 0)    return bgp_route_match_add (vty, vty->index, "origin", "igp");  if (strncmp (argv[0], "egp", 1) == 0)    return bgp_route_match_add (vty, vty->index, "origin", "egp");  if (strncmp (argv[0], "incomplete", 2) == 0)    return bgp_route_match_add (vty, vty->index, "origin", "incomplete");  return CMD_WARNING;}DEFUN (no_match_origin,       no_match_origin_cmd,       "no match origin",       NO_STR       MATCH_STR       "BGP origin code\n"){  return bgp_route_match_delete (vty, vty->index, "origin", NULL);}ALIAS (no_match_origin,       no_match_origin_val_cmd,       "no match origin (egp|igp|incomplete)",       NO_STR       MATCH_STR       "BGP origin code\n"       "remote EGP\n"       "local IGP\n"       "unknown heritage\n");DEFUN (set_ip_nexthop,       set_ip_nexthop_cmd,       "set ip next-hop A.B.C.D",       SET_STR       IP_STR       "Next hop address\n"       "IP address of next hop\n"){  union sockunion su;  int ret;  ret = str2sockunion (argv[0], &su);  if (ret < 0)    {      vty_out (vty, "%% Malformed Next-hop address%s", VTY_NEWLINE);      return CMD_WARNING;    }   return bgp_route_set_add (vty, vty->index, "ip next-hop", argv[0]);}DEFUN (set_ip_nexthop_bgp,       set_ip_nexthop_bgp_cmd,       "set ip next-hop peer-address",       SET_STR       IP_STR       "Next hop address\n"       "Use peer address (for BGP only)\n"){  return bgp_route_set_add (vty, vty->index, "ip next-hop", "peer-address");}DEFUN (no_set_ip_nexthop,       no_set_ip_nexthop_cmd,       "no set ip next-hop",       NO_STR       SET_STR       IP_STR       "Next hop address\n"){  return bgp_route_set_delete (vty, vty->index, "ip next-hop", NULL);}ALIAS (no_set_ip_nexthop,       no_set_ip_nexthop_val_cmd,       "no set ip next-hop A.B.C.D",       NO_STR       SET_STR       IP_STR       "Next hop address\n"       "IP address of next hop\n");ALIAS (no_set_ip_nexthop,       no_set_ip_nexthop_val_bgp_cmd,       "no set ip next-hop peer-address",       NO_STR       SET_STR       IP_STR       "Next hop address\n"       "Use peer address (for BGP only)\n");DEFUN (set_metric,       set_metric_cmd,       "set metric <0-4294967295>",       SET_STR       "Metric value for destination routing protocol\n"       "Metric value\n"){  return bgp_route_set_add (vty, vty->index, "metric", argv[0]);}ALIAS (set_metric,       set_metric_addsub_cmd,       "set metric <+/-metric>",       SET_STR       "Metric value for destination routing protocol\n"       "Add or subtract BGP metric\n");DEFUN (no_set_metric,       no_set_metric_cmd,       "no set metric",       NO_STR       SET_STR       "Metric value for destination routing protocol\n"){  if (argc == 0)    return bgp_route_set_delete (vty, vty->index, "metric", NULL);  return bgp_route_set_delete (vty, vty->index, "metric", argv[0]);}ALIAS (no_set_metric,       no_set_metric_val_cmd,       "no set metric <0-4294967295>",       NO_STR       SET_STR       "Metric value for destination routing protocol\n"       "Metric value\n");DEFUN (set_local_pref,       set_local_pref_cmd,       "set local-preference <0-4294967295>",       SET_STR       "BGP local preference path attribute\n"

⌨️ 快捷键说明

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