diff options
| -rw-r--r-- | bgpd/bgp_debug.c | 7 | ||||
| -rw-r--r-- | bgpd/bgp_dump.c | 4 | ||||
| -rw-r--r-- | bgpd/bgp_packet.c | 6 | ||||
| -rw-r--r-- | bgpd/bgp_route.c | 9 | ||||
| -rw-r--r-- | bgpd/bgp_vty.c | 6 | ||||
| -rw-r--r-- | doc/main.texi | 4 | ||||
| -rw-r--r-- | ospf6d/ospf6_spf.c | 22 | ||||
| -rw-r--r-- | ripd/rip_debug.c | 24 | ||||
| -rw-r--r-- | ripd/rip_debug.h | 1 | ||||
| -rw-r--r-- | ripngd/ripng_debug.c | 26 | ||||
| -rw-r--r-- | ripngd/ripng_debug.h | 2 | 
11 files changed, 45 insertions, 66 deletions
diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c index c2077a59..26b35dfc 100644 --- a/bgpd/bgp_debug.c +++ b/bgpd/bgp_debug.c @@ -331,7 +331,6 @@ ALIAS (no_debug_bgp_as4,         undebug_bgp_as4_cmd,         "undebug bgp as4",         UNDEBUG_STR -       DEBUG_STR         BGP_STR         "BGP AS4 actions\n") @@ -340,6 +339,7 @@ DEFUN (debug_bgp_as4_segment,         "debug bgp as4 segment",         DEBUG_STR         BGP_STR +       "BGP AS4 actions\n"         "BGP AS4 aspath segment handling\n")  {    if (vty->node == CONFIG_NODE) @@ -358,6 +358,7 @@ DEFUN (no_debug_bgp_as4_segment,         NO_STR         DEBUG_STR         BGP_STR +       "BGP AS4 actions\n"         "BGP AS4 aspath segment handling\n")  {    if (vty->node == CONFIG_NODE) @@ -374,8 +375,8 @@ ALIAS (no_debug_bgp_as4_segment,         undebug_bgp_as4_segment_cmd,         "undebug bgp as4 segment",         UNDEBUG_STR -       DEBUG_STR         BGP_STR +       "BGP AS4 actions\n"         "BGP AS4 aspath segment handling\n")  DEFUN (debug_bgp_fsm, @@ -417,7 +418,6 @@ ALIAS (no_debug_bgp_fsm,         undebug_bgp_fsm_cmd,         "undebug bgp fsm",         UNDEBUG_STR -       DEBUG_STR         BGP_STR         "Finite State Machine\n") @@ -715,7 +715,6 @@ ALIAS (no_debug_bgp_zebra,         undebug_bgp_zebra_cmd,         "undebug bgp zebra",         UNDEBUG_STR -       DEBUG_STR         BGP_STR         "BGP Zebra messages\n") diff --git a/bgpd/bgp_dump.c b/bgpd/bgp_dump.c index 8087a403..edb725a9 100644 --- a/bgpd/bgp_dump.c +++ b/bgpd/bgp_dump.c @@ -356,7 +356,11 @@ bgp_dump_routes_func (int afi, int first_run, unsigned int seq)            stream_putw(obuf, info->peer->table_dump_index);            /* Originated */ +#ifdef HAVE_CLOCK_MONOTONIC +          stream_putl (obuf, time(NULL) - (bgp_clock() - info->uptime)); +#else            stream_putl (obuf, info->uptime); +#endif /* HAVE_CLOCK_MONOTONIC */            /* Dump attribute. */            /* Skip prefix & AFI/SAFI for MP_NLRI */ diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index a5f9552c..9102add7 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -1885,12 +1885,6 @@ bgp_notify_receive (struct peer *peer, bgp_size_t size)        bgp_notify.subcode == BGP_NOTIFY_OPEN_UNSUP_PARAM )      UNSET_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN); -  /* Also apply to Unsupported Capability until remote router support -     capability. */ -  if (bgp_notify.code == BGP_NOTIFY_OPEN_ERR && -      bgp_notify.subcode == BGP_NOTIFY_OPEN_UNSUP_CAPBL) -    UNSET_FLAG (peer->sflags, PEER_STATUS_CAPABILITY_OPEN); -    BGP_EVENT_ADD (peer, Receive_NOTIFICATION_message);  } diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index df23dda3..60e9610e 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -5978,6 +5978,9 @@ route_vty_out_detail (struct vty *vty, struct bgp *bgp, struct prefix *p,    char buf1[BUFSIZ];    struct attr *attr;    int sockunion_vty_out (struct vty *, union sockunion *); +#ifdef HAVE_CLOCK_MONOTONIC +  time_t tbuf; +#endif    attr = binfo->attr; @@ -6144,8 +6147,12 @@ route_vty_out_detail (struct vty *vty, struct bgp *bgp, struct prefix *p,  	bgp_damp_info_vty (vty, binfo);        /* Line 7 display Uptime */ -      time_t tbuf = time(NULL) - (bgp_clock() - binfo->uptime); +#ifdef HAVE_CLOCK_MONOTONIC +      tbuf = time(NULL) - (bgp_clock() - binfo->uptime);        vty_out (vty, "      Last update: %s", ctime(&tbuf)); +#else +      vty_out (vty, "      Last update: %s", ctime(&binfo->uptime)); +#endif /* HAVE_CLOCK_MONOTONIC */      }    vty_out (vty, "%s", VTY_NEWLINE);  }   diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 88be52e2..ec0106a8 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -9952,7 +9952,7 @@ community_list_perror (struct vty *vty, int ret)    switch (ret)      {      case COMMUNITY_LIST_ERR_CANT_FIND_LIST: -      vty_out (vty, "%% Can't find communit-list%s", VTY_NEWLINE); +      vty_out (vty, "%% Can't find community-list%s", VTY_NEWLINE);        break;      case COMMUNITY_LIST_ERR_MALFORMED_VAL:        vty_out (vty, "%% Malformed community-list value%s", VTY_NEWLINE); @@ -10313,7 +10313,7 @@ DEFUN (show_ip_community_list_arg,    list = community_list_lookup (bgp_clist, argv[0], COMMUNITY_LIST_MASTER);    if (! list)      { -      vty_out (vty, "%% Can't find communit-list%s", VTY_NEWLINE); +      vty_out (vty, "%% Can't find community-list%s", VTY_NEWLINE);        return CMD_WARNING;      } @@ -10663,7 +10663,7 @@ DEFUN (show_ip_extcommunity_list_arg,    list = community_list_lookup (bgp_clist, argv[0], EXTCOMMUNITY_LIST_MASTER);    if (! list)      { -      vty_out (vty, "%% Can't find extcommunit-list%s", VTY_NEWLINE); +      vty_out (vty, "%% Can't find extcommunity-list%s", VTY_NEWLINE);        return CMD_WARNING;      } diff --git a/doc/main.texi b/doc/main.texi index 9966b356..a5759137 100644 --- a/doc/main.texi +++ b/doc/main.texi @@ -49,9 +49,9 @@ Up or down the current interface.  @end deffn  @deffn {Interface Command} {ip address @var{address/prefix}} {} -@deffnx {Interface Command} {ip6 address @var{address/prefix}} {} +@deffnx {Interface Command} {ipv6 address @var{address/prefix}} {}  @deffnx {Interface Command} {no ip address @var{address/prefix}} {} -@deffnx {Interface Command} {no ip6 address @var{address/prefix}} {} +@deffnx {Interface Command} {no ipv6 address @var{address/prefix}} {}  Set the IPv4 or IPv6 address/prefix for the interface.  @end deffn diff --git a/ospf6d/ospf6_spf.c b/ospf6d/ospf6_spf.c index bfb6df2e..04367f08 100644 --- a/ospf6d/ospf6_spf.c +++ b/ospf6d/ospf6_spf.c @@ -50,7 +50,9 @@ ospf6_vertex_cmp (void *a, void *b)    struct ospf6_vertex *vb = (struct ospf6_vertex *) b;    /* ascending order */ -  return (va->cost - vb->cost); +  if (va->cost != vb->cost) +    return (va->cost - vb->cost); +  return (va->hops - vb->hops);  }  static int @@ -320,22 +322,8 @@ ospf6_spf_install (struct ospf6_vertex *v,          }        prev = (struct ospf6_vertex *) route->route_option; -      if (prev->hops > v->hops) -        { -          for (ALL_LIST_ELEMENTS (prev->child_list, node, nnode, w)) -            { -              assert (w->parent == prev); -              w->parent = v; -              listnode_add_sort (v->child_list, w); -            } -          listnode_delete (prev->parent->child_list, prev); -          listnode_add_sort (v->parent->child_list, v); - -          ospf6_vertex_delete (prev); -          route->route_option = v; -        } -      else -        ospf6_vertex_delete (v); +      assert (prev->hops <= v->hops); +      ospf6_vertex_delete (v);        return -1;      } diff --git a/ripd/rip_debug.c b/ripd/rip_debug.c index 64dc27c0..662e5843 100644 --- a/ripd/rip_debug.c +++ b/ripd/rip_debug.c @@ -44,19 +44,16 @@ DEFUN (show_debugging_rip,      {        if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV)  	{ -	  vty_out (vty, "  RIP packet%s debugging is on%s", -		   IS_RIP_DEBUG_DETAIL ? " detail" : "", +	  vty_out (vty, "  RIP packet debugging is on%s",  		   VTY_NEWLINE);  	}        else  	{  	  if (IS_RIP_DEBUG_SEND) -	    vty_out (vty, "  RIP packet send%s debugging is on%s", -		     IS_RIP_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "  RIP packet send debugging is on%s",  		     VTY_NEWLINE);  	  else -	    vty_out (vty, "  RIP packet receive%s debugging is on%s", -		     IS_RIP_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "  RIP packet receive debugging is on%s",  		     VTY_NEWLINE);  	}      } @@ -105,11 +102,12 @@ DEFUN (debug_rip_packet_direct,      rip_debug_packet |= RIP_DEBUG_SEND;    if (strncmp ("recv", argv[0], strlen (argv[0])) == 0)      rip_debug_packet |= RIP_DEBUG_RECV; -  rip_debug_packet &= ~RIP_DEBUG_DETAIL;    return CMD_SUCCESS;  } -DEFUN (debug_rip_packet_detail, +/* N.B. the "detail" modifier is a no-op.  we leave this command +   for legacy compatibility. */ +DEFUN_DEPRECATED (debug_rip_packet_detail,         debug_rip_packet_detail_cmd,         "debug rip packet (recv|send) detail",         DEBUG_STR @@ -124,7 +122,6 @@ DEFUN (debug_rip_packet_detail,      rip_debug_packet |= RIP_DEBUG_SEND;    if (strncmp ("recv", argv[0], strlen (argv[0])) == 0)      rip_debug_packet |= RIP_DEBUG_RECV; -  rip_debug_packet |= RIP_DEBUG_DETAIL;    return CMD_SUCCESS;  } @@ -224,20 +221,17 @@ config_write_debug (struct vty *vty)      {        if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV)  	{ -	  vty_out (vty, "debug rip packet%s%s", -		   IS_RIP_DEBUG_DETAIL ? " detail" : "", +	  vty_out (vty, "debug rip packet%s",  		   VTY_NEWLINE);  	  write++;  	}        else  	{  	  if (IS_RIP_DEBUG_SEND) -	    vty_out (vty, "debug rip packet send%s%s", -		     IS_RIP_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "debug rip packet send%s",  		     VTY_NEWLINE);  	  else -	    vty_out (vty, "debug rip packet recv%s%s", -		     IS_RIP_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "debug rip packet recv%s",  		     VTY_NEWLINE);  	  write++;  	} diff --git a/ripd/rip_debug.h b/ripd/rip_debug.h index f3a07eea..990ec908 100644 --- a/ripd/rip_debug.h +++ b/ripd/rip_debug.h @@ -40,7 +40,6 @@  #define IS_RIP_DEBUG_PACKET (rip_debug_packet & RIP_DEBUG_PACKET)  #define IS_RIP_DEBUG_SEND   (rip_debug_packet & RIP_DEBUG_SEND)  #define IS_RIP_DEBUG_RECV   (rip_debug_packet & RIP_DEBUG_RECV) -#define IS_RIP_DEBUG_DETAIL (rip_debug_packet & RIP_DEBUG_DETAIL)  #define IS_RIP_DEBUG_ZEBRA  (rip_debug_zebra & RIP_DEBUG_ZEBRA) diff --git a/ripngd/ripng_debug.c b/ripngd/ripng_debug.c index 78f13a71..33a7cf69 100644 --- a/ripngd/ripng_debug.c +++ b/ripngd/ripng_debug.c @@ -45,19 +45,16 @@ DEFUN (show_debugging_ripng,      {        if (IS_RIPNG_DEBUG_SEND && IS_RIPNG_DEBUG_RECV)  	{ -	  vty_out (vty, "  RIPng packet%s debugging is on%s", -		   IS_RIPNG_DEBUG_DETAIL ? " detail" : "", +	  vty_out (vty, "  RIPng packet debugging is on%s",  		   VTY_NEWLINE);  	}        else  	{  	  if (IS_RIPNG_DEBUG_SEND) -	    vty_out (vty, "  RIPng packet send%s debugging is on%s", -		     IS_RIPNG_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "  RIPng packet send debugging is on%s",  		     VTY_NEWLINE);  	  else -	    vty_out (vty, "  RIPng packet receive%s debugging is on%s", -		     IS_RIPNG_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "  RIPng packet receive debugging is on%s",  		     VTY_NEWLINE);  	}      } @@ -106,11 +103,13 @@ DEFUN (debug_ripng_packet_direct,      ripng_debug_packet |= RIPNG_DEBUG_SEND;    if (strncmp ("recv", argv[0], strlen (argv[0])) == 0)      ripng_debug_packet |= RIPNG_DEBUG_RECV; -  ripng_debug_packet &= ~RIPNG_DEBUG_DETAIL; +    return CMD_SUCCESS;  } -DEFUN (debug_ripng_packet_detail, +/* N.B. the "detail" modifier is a no-op.  we leave this command +   for legacy compatibility. */ +DEFUN_DEPRECATED (debug_ripng_packet_detail,         debug_ripng_packet_detail_cmd,         "debug ripng packet (recv|send) detail",         DEBUG_STR @@ -125,7 +124,7 @@ DEFUN (debug_ripng_packet_detail,      ripng_debug_packet |= RIPNG_DEBUG_SEND;    if (strncmp ("recv", argv[0], strlen (argv[0])) == 0)      ripng_debug_packet |= RIPNG_DEBUG_RECV; -  ripng_debug_packet |= RIPNG_DEBUG_DETAIL; +    return CMD_SUCCESS;  } @@ -225,20 +224,17 @@ config_write_debug (struct vty *vty)      {        if (IS_RIPNG_DEBUG_SEND && IS_RIPNG_DEBUG_RECV)  	{ -	  vty_out (vty, "debug ripng packet%s%s", -		   IS_RIPNG_DEBUG_DETAIL ? " detail" : "", +	  vty_out (vty, "debug ripng packet%s",  		   VTY_NEWLINE);  	  write++;  	}        else  	{  	  if (IS_RIPNG_DEBUG_SEND) -	    vty_out (vty, "debug ripng packet send%s%s", -		     IS_RIPNG_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "debug ripng packet send%s",  		     VTY_NEWLINE);  	  else -	    vty_out (vty, "debug ripng packet recv%s%s", -		     IS_RIPNG_DEBUG_DETAIL ? " detail" : "", +	    vty_out (vty, "debug ripng packet recv%s",  		     VTY_NEWLINE);  	  write++;  	} diff --git a/ripngd/ripng_debug.h b/ripngd/ripng_debug.h index f5ed6eab..674345c0 100644 --- a/ripngd/ripng_debug.h +++ b/ripngd/ripng_debug.h @@ -29,7 +29,6 @@  #define RIPNG_DEBUG_PACKET  0x01  #define RIPNG_DEBUG_SEND    0x20  #define RIPNG_DEBUG_RECV    0x40 -#define RIPNG_DEBUG_DETAIL  0x80  #define RIPNG_DEBUG_ZEBRA   0x01 @@ -39,7 +38,6 @@  #define IS_RIPNG_DEBUG_PACKET (ripng_debug_packet & RIPNG_DEBUG_PACKET)  #define IS_RIPNG_DEBUG_SEND   (ripng_debug_packet & RIPNG_DEBUG_SEND)  #define IS_RIPNG_DEBUG_RECV   (ripng_debug_packet & RIPNG_DEBUG_RECV) -#define IS_RIPNG_DEBUG_DETAIL (ripng_debug_packet & RIPNG_DEBUG_DETAIL)  #define IS_RIPNG_DEBUG_ZEBRA  (ripng_debug_zebra & RIPNG_DEBUG_ZEBRA)  | 
