diff options
| author | Avneesh Sachdev <avneesh@opensourcerouting.org> | 2012-04-11 23:51:08 -0700 | 
|---|---|---|
| committer | Avneesh Sachdev <avneesh@opensourcerouting.org> | 2012-04-11 23:51:08 -0700 | 
| commit | 14d2bbaa3f4aa53152472694c29f336808e47313 (patch) | |
| tree | e39bdddef4ea53207dd8fb61e1fd6b54d8c7721d /lib/log.c | |
| parent | 51d4ef832c1e58150325630e25c442866e5a6cf5 (diff) | |
| parent | e96b312150d8e376c1ef463793d1929eca3618d5 (diff) | |
Merge quagga mainline into the google ISIS code.
The steps were:
  $ git checkout google-is-is
  $ git merge quagga
  $ git checkout google-is-is -- isisd
  # Resolve conflicts in the following:
  lib/md5.h
  zebra/rt_netlink.c
  zebra/zebra_rib.c
  zebra/zserv.c
Note that the content in the isisd directory is left unchanged in the
merge. As a result, changes made to isisd as part of the following
commits on the quagga mainline are dropped.
  # 8ced4e82 is the merge base, e96b3121 is the current quagga master
  $ git log --oneline --reverse 8ced4e82..e96b3121 -- isisd
  5574999 isisd: fix crash on "no router isis" (BZ#536)
  8998075 isisd: raise hello rate for DIS (BZ#539)
  306ca83 isisd: include hash.h, not hash.c
  b82cdeb delete CVS keywords
  2f65867 isisd: indent longopts array
  b511468 quagga: option "-z" ("--socket <path>") added
  05e54ee build: delete .cvsignore files
  b4e45f6 fix zebra protocol after MP-BGP changes
  7fd6cd8 isisd: fix circuit state machine
  907fd95 isisd: send proper LSP after DIS election
  d034aa0 isisd: fix wrong next-hops from SPF
  c25eaff isisd: unexpected kernel routing table (BZ#544)
  e6b03b7 isisd: implement MD5 circuit authentication
Diffstat (limited to 'lib/log.c')
| -rw-r--r-- | lib/log.c | 86 | 
1 files changed, 57 insertions, 29 deletions
@@ -1,6 +1,4 @@  /* - * $Id$ - *   * Logging of zebra   * Copyright (C) 1997, 1998, 1999 Kunihiro Ishiguro   * @@ -22,6 +20,8 @@   * 02111-1307, USA.     */ +#define QUAGGA_DEFINE_DESC_TABLE +  #include <zebra.h>  #include "log.h" @@ -48,6 +48,7 @@ const char *zlog_proto_names[] =    "BGP",    "OSPF",    "RIPNG", +  "BABEL",    "OSPF6",    "ISIS",    "MASC", @@ -776,7 +777,8 @@ lookup (const struct message *mes, int key)   * provided otherwise.   */  const char * -mes_lookup (const struct message *meslist, int max, int index, const char *none) +mes_lookup (const struct message *meslist, int max, int index, +  const char *none, const char *mesname)  {    int pos = index - meslist[0].key; @@ -799,13 +801,13 @@ mes_lookup (const struct message *meslist, int max, int index, const char *none)  	  {  	    const char *str = (meslist->str ? meslist->str : none); -	    zlog_debug ("message index %d [%s] found in position %d (max is %d)", -		      index, str, i, max); +	    zlog_debug ("message index %d [%s] found in %s at position %d (max is %d)", +		      index, str, mesname, i, max);  	    return str;  	  }        }    } -  zlog_err("message index %d not found (max is %d)", index, max); +  zlog_err("message index %d not found in %s (max is %d)", index, mesname, max);    assert (none);    return none;  } @@ -818,29 +820,6 @@ safe_strerror(int errnum)    return (s != NULL) ? s : "Unknown error";  } -struct zebra_desc_table -{ -  unsigned int type; -  const char *string; -  char chr; -}; - -#define DESC_ENTRY(T,S,C) [(T)] = { (T), (S), (C) } -static const struct zebra_desc_table route_types[] = { -  DESC_ENTRY	(ZEBRA_ROUTE_SYSTEM,	"system",	'X' ), -  DESC_ENTRY	(ZEBRA_ROUTE_KERNEL,	"kernel",	'K' ), -  DESC_ENTRY	(ZEBRA_ROUTE_CONNECT,	"connected",	'C' ), -  DESC_ENTRY	(ZEBRA_ROUTE_STATIC,	"static",	'S' ), -  DESC_ENTRY	(ZEBRA_ROUTE_RIP,	"rip",		'R' ), -  DESC_ENTRY	(ZEBRA_ROUTE_RIPNG,	"ripng",	'R' ), -  DESC_ENTRY	(ZEBRA_ROUTE_OSPF,	"ospf",		'O' ), -  DESC_ENTRY	(ZEBRA_ROUTE_OSPF6,	"ospf6",	'O' ), -  DESC_ENTRY	(ZEBRA_ROUTE_ISIS,	"isis",		'I' ), -  DESC_ENTRY	(ZEBRA_ROUTE_BGP,	"bgp",		'B' ), -  DESC_ENTRY	(ZEBRA_ROUTE_HSLS,	"hsls",		'H' ), -}; -#undef DESC_ENTRY -  #define DESC_ENTRY(T) [(T)] = { (T), (#T), '\0' }  static const struct zebra_desc_table command_types[] = {    DESC_ENTRY	(ZEBRA_INTERFACE_ADD), @@ -865,6 +844,7 @@ static const struct zebra_desc_table command_types[] = {    DESC_ENTRY	(ZEBRA_ROUTER_ID_ADD),    DESC_ENTRY	(ZEBRA_ROUTER_ID_DELETE),    DESC_ENTRY	(ZEBRA_ROUTER_ID_UPDATE), +  DESC_ENTRY	(ZEBRA_HELLO),  };  #undef DESC_ENTRY @@ -930,4 +910,52 @@ proto_name2num(const char *s)         return route_types[i].type;     return -1;  } +  #undef RTSIZE + +int +proto_redistnum(int afi, const char *s) +{ +  if (! s) +    return -1; + +  if (afi == AFI_IP) +    { +      if (strncmp (s, "k", 1) == 0) +	return ZEBRA_ROUTE_KERNEL; +      else if (strncmp (s, "c", 1) == 0) +	return ZEBRA_ROUTE_CONNECT; +      else if (strncmp (s, "s", 1) == 0) +	return ZEBRA_ROUTE_STATIC; +      else if (strncmp (s, "r", 1) == 0) +	return ZEBRA_ROUTE_RIP; +      else if (strncmp (s, "o", 1) == 0) +	return ZEBRA_ROUTE_OSPF; +      else if (strncmp (s, "i", 1) == 0) +	return ZEBRA_ROUTE_ISIS; +      else if (strncmp (s, "bg", 2) == 0) +	return ZEBRA_ROUTE_BGP; +      else if (strncmp (s, "ba", 2) == 0) +	return ZEBRA_ROUTE_BABEL; +    } +  if (afi == AFI_IP6) +    { +      if (strncmp (s, "k", 1) == 0) +	return ZEBRA_ROUTE_KERNEL; +      else if (strncmp (s, "c", 1) == 0) +	return ZEBRA_ROUTE_CONNECT; +      else if (strncmp (s, "s", 1) == 0) +	return ZEBRA_ROUTE_STATIC; +      else if (strncmp (s, "r", 1) == 0) +	return ZEBRA_ROUTE_RIPNG; +      else if (strncmp (s, "o", 1) == 0) +	return ZEBRA_ROUTE_OSPF6; +      else if (strncmp (s, "i", 1) == 0) +	return ZEBRA_ROUTE_ISIS; +      else if (strncmp (s, "bg", 2) == 0) +	return ZEBRA_ROUTE_BGP; +      else if (strncmp (s, "ba", 2) == 0) +	return ZEBRA_ROUTE_BABEL; +    } +  return -1; +}  | 
