diff options
| author | David Lamparter <equinox@diac24.net> | 2009-09-16 01:52:42 +0200 | 
|---|---|---|
| committer | Denis Ovsienko <infrastation@yandex.ru> | 2011-12-13 19:13:17 +0400 | 
| commit | e0ca5fde7be5b5ce90dae78c2477e8245aecb8e9 (patch) | |
| tree | 0e0b32ddbed4a84a3b2de9dd7217165cb81f52fa /zebra | |
| parent | ebf08631cad8a420fc6bfb7c45af5496dc11023e (diff) | |
lib: put route_types.txt to real use
this replaces most occurences of routing protocol lists by preprocessor
defines from route_types.h. the latter is autogenerated from
route_types.txt by a perl script (previously awk). adding a routing
protocol now is mostly a matter of changing route_types.txt and log.c.
Conflicts:
	lib/route_types.awk
Diffstat (limited to 'zebra')
| -rw-r--r-- | zebra/zebra_vty.c | 78 | 
1 files changed, 15 insertions, 63 deletions
| diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index ecb5d10a..05485a13 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -802,10 +802,6 @@ vty_show_ip_route (struct vty *vty, struct route_node *rn, struct rib *rib)      }  } -#define SHOW_ROUTE_V4_HEADER "Codes: K - kernel route, C - connected, " \ -  "S - static, R - RIP, O - OSPF,%s       I - ISIS, B - BGP, " \ -  "> - selected route, * - FIB route%s%s" -  DEFUN (show_ip_route,         show_ip_route_cmd,         "show ip route", @@ -828,8 +824,7 @@ DEFUN (show_ip_route,        {  	if (first)  	  { -	    vty_out (vty, SHOW_ROUTE_V4_HEADER, VTY_NEWLINE, VTY_NEWLINE, -		     VTY_NEWLINE); +	    vty_out (vty, SHOW_ROUTE_V4_HEADER);  	    first = 0;  	  }  	vty_show_ip_route (vty, rn, rib); @@ -871,8 +866,7 @@ DEFUN (show_ip_route_prefix_longer,  	{  	  if (first)  	    { -	      vty_out (vty, SHOW_ROUTE_V4_HEADER, VTY_NEWLINE, -		       VTY_NEWLINE, VTY_NEWLINE); +	      vty_out (vty, SHOW_ROUTE_V4_HEADER);  	      first = 0;  	    }  	  vty_show_ip_route (vty, rn, rib); @@ -910,8 +904,7 @@ DEFUN (show_ip_route_supernets,  	  {  	    if (first)  	      { -		vty_out (vty, SHOW_ROUTE_V4_HEADER, VTY_NEWLINE, -			 VTY_NEWLINE, VTY_NEWLINE); +		vty_out (vty, SHOW_ROUTE_V4_HEADER);  		first = 0;  	      }  	    vty_show_ip_route (vty, rn, rib); @@ -922,17 +915,11 @@ DEFUN (show_ip_route_supernets,  DEFUN (show_ip_route_protocol,         show_ip_route_protocol_cmd, -       "show ip route (bgp|connected|isis|kernel|ospf|rip|static)", +       "show ip route " QUAGGA_IP_REDIST_STR_ZEBRA,         SHOW_STR         IP_STR         "IP routing table\n" -       "Border Gateway Protocol (BGP)\n" -       "Connected\n" -       "ISO IS-IS (ISIS)\n" -       "Kernel\n" -       "Open Shortest Path First (OSPF)\n" -       "Routing Information Protocol (RIP)\n" -       "Static routes\n") +       QUAGGA_IP_REDIST_HELP_STR_ZEBRA)  {    int type;    struct route_table *table; @@ -940,21 +927,8 @@ DEFUN (show_ip_route_protocol,    struct rib *rib;    int first = 1; -  if (strncmp (argv[0], "b", 1) == 0) -    type = ZEBRA_ROUTE_BGP; -  else if (strncmp (argv[0], "c", 1) == 0) -    type = ZEBRA_ROUTE_CONNECT; -  else if (strncmp (argv[0], "k", 1) ==0) -    type = ZEBRA_ROUTE_KERNEL; -  else if (strncmp (argv[0], "o", 1) == 0) -    type = ZEBRA_ROUTE_OSPF; -  else if (strncmp (argv[0], "i", 1) == 0) -    type = ZEBRA_ROUTE_ISIS; -  else if (strncmp (argv[0], "r", 1) == 0) -    type = ZEBRA_ROUTE_RIP; -  else if (strncmp (argv[0], "s", 1) == 0) -    type = ZEBRA_ROUTE_STATIC; -  else  +  type = proto_redistnum (AFI_IP, argv[0]); +  if (type < 0)      {        vty_out (vty, "Unknown route type%s", VTY_NEWLINE);        return CMD_WARNING; @@ -971,8 +945,7 @@ DEFUN (show_ip_route_protocol,  	{  	  if (first)  	    { -	      vty_out (vty, SHOW_ROUTE_V4_HEADER, -		       VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE); +	      vty_out (vty, SHOW_ROUTE_V4_HEADER);  	      first = 0;  	    }  	  vty_show_ip_route (vty, rn, rib); @@ -1766,8 +1739,6 @@ vty_show_ipv6_route (struct vty *vty, struct route_node *rn,      }  } -#define SHOW_ROUTE_V6_HEADER "Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3,%s       I - ISIS, B - BGP, * - FIB route.%s%s" -  DEFUN (show_ipv6_route,         show_ipv6_route_cmd,         "show ipv6 route", @@ -1790,7 +1761,7 @@ DEFUN (show_ipv6_route,        {  	if (first)  	  { -	    vty_out (vty, SHOW_ROUTE_V6_HEADER, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE); +	    vty_out (vty, SHOW_ROUTE_V6_HEADER);  	    first = 0;  	  }  	vty_show_ipv6_route (vty, rn, rib); @@ -1832,7 +1803,7 @@ DEFUN (show_ipv6_route_prefix_longer,  	{  	  if (first)  	    { -	      vty_out (vty, SHOW_ROUTE_V6_HEADER, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE); +	      vty_out (vty, SHOW_ROUTE_V6_HEADER);  	      first = 0;  	    }  	  vty_show_ipv6_route (vty, rn, rib); @@ -1842,17 +1813,11 @@ DEFUN (show_ipv6_route_prefix_longer,  DEFUN (show_ipv6_route_protocol,         show_ipv6_route_protocol_cmd, -       "show ipv6 route (bgp|connected|isis|kernel|ospf6|ripng|static)", +       "show ipv6 route " QUAGGA_IP6_REDIST_STR_ZEBRA,         SHOW_STR         IP_STR         "IP routing table\n" -       "Border Gateway Protocol (BGP)\n" -       "Connected\n" -       "ISO IS-IS (ISIS)\n" -       "Kernel\n" -       "Open Shortest Path First (OSPFv3)\n" -       "Routing Information Protocol (RIPng)\n" -       "Static routes\n") +	QUAGGA_IP6_REDIST_HELP_STR_ZEBRA)  {    int type;    struct route_table *table; @@ -1860,21 +1825,8 @@ DEFUN (show_ipv6_route_protocol,    struct rib *rib;    int first = 1; -  if (strncmp (argv[0], "b", 1) == 0) -    type = ZEBRA_ROUTE_BGP; -  else if (strncmp (argv[0], "c", 1) == 0) -    type = ZEBRA_ROUTE_CONNECT; -  else if (strncmp (argv[0], "k", 1) ==0) -    type = ZEBRA_ROUTE_KERNEL; -  else if (strncmp (argv[0], "o", 1) == 0) -    type = ZEBRA_ROUTE_OSPF6; -  else if (strncmp (argv[0], "i", 1) == 0) -    type = ZEBRA_ROUTE_ISIS; -  else if (strncmp (argv[0], "r", 1) == 0) -    type = ZEBRA_ROUTE_RIPNG; -  else if (strncmp (argv[0], "s", 1) == 0) -    type = ZEBRA_ROUTE_STATIC; -  else  +  type = proto_redistnum (AFI_IP6, argv[0]); +  if (type < 0)      {        vty_out (vty, "Unknown route type%s", VTY_NEWLINE);        return CMD_WARNING; @@ -1891,7 +1843,7 @@ DEFUN (show_ipv6_route_protocol,  	{  	  if (first)  	    { -	      vty_out (vty, SHOW_ROUTE_V6_HEADER, VTY_NEWLINE, VTY_NEWLINE, VTY_NEWLINE); +	      vty_out (vty, SHOW_ROUTE_V6_HEADER);  	      first = 0;  	    }  	  vty_show_ipv6_route (vty, rn, rib); | 
