Please kill this patch request.  It has broke pim nexthop resolution in
certain situations.

donald

On Wed, Sep 30, 2015 at 10:22 AM, Donald Sharp <[email protected]>
wrote:

> pimd is very chatty without any pim debugs turned on.
> This commit fixes a bunch of the debugs to be protected
> by appropriate pim debug statement.
>
> Signed-off-by: Donald Sharp <[email protected]>
> ---
>  pimd/pim_iface.c     |   22 +++++++++++-----------
>  pimd/pim_ifchannel.c |   10 ++++++----
>  pimd/pim_neighbor.c  |    2 +-
>  pimd/pim_rpf.c       |   14 +++++++-------
>  pimd/pim_signals.c   |    4 ++--
>  pimd/pim_zebra.c     |    2 +-
>  pimd/pim_zlookup.c   |   38 ++++++++++++++++++++------------------
>  7 files changed, 48 insertions(+), 44 deletions(-)
>
> diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
> index 6f806a1..de56d04 100644
> --- a/pimd/pim_iface.c
> +++ b/pimd/pim_iface.c
> @@ -256,14 +256,14 @@ static void on_primary_address_change(struct
> interface *ifp,
>  {
>    struct pim_interface *pim_ifp;
>
> -  {
> +  if (PIM_DEBUG_ZEBRA) {
>      char old_str[100];
>      char new_str[100];
>      pim_inet4_dump("<old?>", old_addr, old_str, sizeof(old_str));
>      pim_inet4_dump("<new?>", new_addr, new_str, sizeof(new_str));
> -    zlog_info("%s: %s: primary address changed from %s to %s on interface
> %s",
> -             __PRETTY_FUNCTION__, caller,
> -             old_str, new_str, ifp->name);
> +    zlog_debug("%s: %s: primary address changed from %s to %s on
> interface %s",
> +              __PRETTY_FUNCTION__, caller,
> +              old_str, new_str, ifp->name);
>    }
>
>    pim_ifp = ifp->info;
> @@ -329,8 +329,8 @@ static void detect_secondary_address_change(struct
> interface *ifp,
>      return;
>
>    changed = 1; /* true */
> -  zlog_debug("FIXME T31 C15 %s: on interface %s: acting on any addr
> change",
> -            __PRETTY_FUNCTION__, ifp->name);
> +  zlog_info("FIXME T31 C15 %s: on interface %s: acting on any addr
> change",
> +           __PRETTY_FUNCTION__, ifp->name);
>
>    if (PIM_DEBUG_ZEBRA) {
>      zlog_debug("%s: on interface %s: %s",
> @@ -382,7 +382,7 @@ void pim_if_addr_add(struct connected *ifc)
>    if (!if_is_operative(ifp))
>      return;
>
> -  /* if (PIM_DEBUG_ZEBRA) */ {
> +  if (PIM_DEBUG_ZEBRA) {
>      char buf[BUFSIZ];
>      prefix2str(ifc->address, buf, BUFSIZ);
>      zlog_debug("%s: %s ifindex=%d connected IP address %s %s",
> @@ -501,7 +501,7 @@ void pim_if_addr_del(struct connected *ifc, int
> force_prim_as_any)
>    ifp = ifc->ifp;
>    zassert(ifp);
>
> -  /* if (PIM_DEBUG_ZEBRA) */ {
> +  if (PIM_DEBUG_ZEBRA) {
>      char buf[BUFSIZ];
>      prefix2str(ifc->address, buf, BUFSIZ);
>      zlog_debug("%s: %s ifindex=%d disconnected IP address %s %s",
> @@ -1055,14 +1055,14 @@ int pim_if_igmp_join_add(struct interface *ifp,
>      return -4;
>    }
>
> -  {
> +  if (PIM_DEBUG_IGMP_EVENTS) {
>      char group_str[100];
>      char source_str[100];
>      pim_inet4_dump("<grp?>", group_addr, group_str, sizeof(group_str));
>      pim_inet4_dump("<src?>", source_addr, source_str, sizeof(source_str));
>      zlog_debug("%s: issued static igmp join for channel (S,G)=(%s,%s) on
> interface %s",
> -              __PRETTY_FUNCTION__,
> -              source_str, group_str, ifp->name);
> +             __PRETTY_FUNCTION__,
> +             source_str, group_str, ifp->name);
>    }
>
>    return 0;
> diff --git a/pimd/pim_ifchannel.c b/pimd/pim_ifchannel.c
> index e253a0e..e801f4e 100644
> --- a/pimd/pim_ifchannel.c
> +++ b/pimd/pim_ifchannel.c
> @@ -103,9 +103,11 @@ void pim_ifchannel_ifjoin_switch(const char *caller,
>    enum pim_ifjoin_state old_state = ch->ifjoin_state;
>
>    if (old_state == new_state) {
> -    zlog_debug("%s calledby %s: non-transition on state %d (%s)",
> -              __PRETTY_FUNCTION__, caller, new_state,
> -              pim_ifchannel_ifjoin_name(new_state));
> +    if (PIM_DEBUG_PIM_EVENTS) {
> +      zlog_debug("%s calledby %s: non-transition on state %d (%s)",
> +                __PRETTY_FUNCTION__, caller, new_state,
> +                pim_ifchannel_ifjoin_name(new_state));
> +    }
>      return;
>    }
>
> @@ -286,7 +288,7 @@ static void ifmembership_set(struct pim_ifchannel *ch,
>    if (ch->local_ifmembership == membership)
>      return;
>
> -  /* if (PIM_DEBUG_PIM_EVENTS) */ {
> +  if (PIM_DEBUG_PIM_EVENTS) {
>      char src_str[100];
>      char grp_str[100];
>      pim_inet4_dump("<src?>", ch->source_addr, src_str, sizeof(src_str));
> diff --git a/pimd/pim_neighbor.c b/pimd/pim_neighbor.c
> index 72a3538..8932dc3 100644
> --- a/pimd/pim_neighbor.c
> +++ b/pimd/pim_neighbor.c
> @@ -125,7 +125,7 @@ int pim_if_dr_election(struct interface *ifp)
>    /* DR changed ? */
>    if (old_dr_addr.s_addr != pim_ifp->pim_dr_addr.s_addr) {
>
> -    /* if (PIM_DEBUG_PIM_EVENTS) */ {
> +    if (PIM_DEBUG_PIM_EVENTS) {
>        char dr_old_str[100];
>        char dr_new_str[100];
>        pim_inet4_dump("<old_dr?>", old_dr_addr, dr_old_str,
> sizeof(dr_old_str));
> diff --git a/pimd/pim_rpf.c b/pimd/pim_rpf.c
> index dedc60a..38339da 100644
> --- a/pimd/pim_rpf.c
> +++ b/pimd/pim_rpf.c
> @@ -61,7 +61,7 @@ int pim_nexthop_lookup(struct pim_nexthop *nexthop,
>    if (num_ifindex > 1) {
>      char addr_str[100];
>      pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
> -    zlog_debug("%s %s: FIXME ignoring multiple nexthop ifindex'es
> num_ifindex=%d for address %s (using only ifindex=%d)",
> +    zlog_info("%s %s: FIXME ignoring multiple nexthop ifindex'es
> num_ifindex=%d for address %s (using only ifindex=%d)",
>               __FILE__, __PRETTY_FUNCTION__,
>               num_ifindex, addr_str, first_ifindex);
>      /* debug warning only, do not return */
> @@ -136,22 +136,22 @@ enum pim_rpf_result pim_rpf_update(struct
> pim_upstream *up,
>    }
>
>    rpf->rpf_addr = pim_rpf_find_rpf_addr(up);
> -  if (PIM_INADDR_IS_ANY(rpf->rpf_addr)) {
> +  if (PIM_INADDR_IS_ANY(rpf->rpf_addr) && PIM_DEBUG_PIM_EVENTS) {
>      /* RPF'(S,G) not found */
>      char src_str[100];
>      char grp_str[100];
>      pim_inet4_dump("<src?>", up->source_addr, src_str, sizeof(src_str));
>      pim_inet4_dump("<grp?>", up->group_addr, grp_str, sizeof(grp_str));
> -    zlog_warn("%s %s: RPF'(%s,%s) not found: won't send join upstream",
> -              __FILE__, __PRETTY_FUNCTION__,
> -              src_str, grp_str);
> +    zlog_debug("%s %s: RPF'(%s,%s) not found: won't send join upstream",
> +              __FILE__, __PRETTY_FUNCTION__,
> +              src_str, grp_str);
>      /* warning only */
>    }
>
>    /* detect change in pim_nexthop */
>    if (nexthop_mismatch(&rpf->source_nexthop, &save_nexthop)) {
>
> -    /* if (PIM_DEBUG_PIM_EVENTS) */ {
> +    if (PIM_DEBUG_PIM_EVENTS) {
>        char src_str[100];
>        char grp_str[100];
>        char nhaddr_str[100];
> @@ -176,7 +176,7 @@ enum pim_rpf_result pim_rpf_update(struct pim_upstream
> *up,
>    /* detect change in RPF_interface(S) */
>    if (save_nexthop.interface != rpf->source_nexthop.interface) {
>
> -    /* if (PIM_DEBUG_PIM_EVENTS) */ {
> +    if (PIM_DEBUG_PIM_EVENTS) {
>        char src_str[100];
>        char grp_str[100];
>        pim_inet4_dump("<src?>", up->source_addr, src_str, sizeof(src_str));
> diff --git a/pimd/pim_signals.c b/pimd/pim_signals.c
> index d1350b0..afd0259 100644
> --- a/pimd/pim_signals.c
> +++ b/pimd/pim_signals.c
> @@ -36,7 +36,7 @@
>
>  static void pim_sighup()
>  {
> -  zlog_debug ("SIGHUP received, ignoring");
> +  zlog_info ("SIGHUP received, ignoring");
>  }
>
>  static void pim_sigint()
> @@ -55,7 +55,7 @@ static void pim_sigterm()
>
>  static void pim_sigusr1()
>  {
> -  zlog_debug ("SIGUSR1 received");
> +  zlog_info ("SIGUSR1 received");
>    zlog_rotate (NULL);
>  }
>
> diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
> index dfc871b..488723f 100644
> --- a/pimd/pim_zebra.c
> +++ b/pimd/pim_zebra.c
> @@ -762,7 +762,7 @@ static int fib_lookup_if_vif_index(struct in_addr addr)
>    if (num_ifindex > 1) {
>      char addr_str[100];
>      pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
> -    zlog_debug("%s %s: FIXME ignoring multiple nexthop ifindex'es
> num_ifindex=%d for address %s (using only ifindex=%d)",
> +    zlog_info("%s %s: FIXME ignoring multiple nexthop ifindex'es
> num_ifindex=%d for address %s (using only ifindex=%d)",
>                __FILE__, __PRETTY_FUNCTION__,
>                num_ifindex, addr_str, first_ifindex);
>      /* debug warning only, do not return */
> diff --git a/pimd/pim_zlookup.c b/pimd/pim_zlookup.c
> index 67896d9..36f9544 100644
> --- a/pimd/pim_zlookup.c
> +++ b/pimd/pim_zlookup.c
> @@ -283,14 +283,14 @@ static int zclient_read_nexthop(struct zclient
> *zlookup,
>        nexthop_tab[num_ifindex].ifindex             = 0;
>        nexthop_tab[num_ifindex].protocol_distance   = distance;
>        nexthop_tab[num_ifindex].route_metric        = metric;
> -      {
> +      if (PIM_DEBUG_ZEBRA) {
>         char addr_str[100];
>         char nexthop_str[100];
>         pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
>         pim_inet4_dump("<nexthop?>",
> nexthop_tab[num_ifindex].nexthop_addr, nexthop_str, sizeof(nexthop_str));
> -       zlog_warn("%s %s: zebra returned recursive nexthop %s for address
> %s",
> -                 __FILE__, __PRETTY_FUNCTION__,
> -                 nexthop_str, addr_str);
> +       zlog_debug("%s %s: zebra returned recursive nexthop %s for address
> %s",
> +                  __FILE__, __PRETTY_FUNCTION__,
> +                  nexthop_str, addr_str);
>        }
>        ++num_ifindex;
>        break;
> @@ -375,7 +375,7 @@ int zclient_lookup_nexthop(struct zclient *zlookup,
>
>      num_ifindex = zclient_lookup_nexthop_once(qpim_zclient_lookup,
> nexthop_tab,
>
> PIM_NEXTHOP_IFINDEX_TAB_SIZE, addr);
> -    if (num_ifindex < 1) {
> +    if ((num_ifindex < 1) && PIM_DEBUG_ZEBRA) {
>        char addr_str[100];
>        pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
>        zlog_warn("%s %s: lookup=%d/%d: could not find nexthop ifindex for
> address %s",
> @@ -400,15 +400,15 @@ int zclient_lookup_nexthop(struct zclient *zlookup,
>      if (first_ifindex > 0) {
>        /* found: first ifindex is non-recursive nexthop */
>
> -      if (lookup > 0) {
> +      if ((lookup > 0) && PIM_DEBUG_ZEBRA) {
>         /* Report non-recursive success after first lookup */
>         char addr_str[100];
>         pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
> -       zlog_info("%s %s: lookup=%d/%d: found non-recursive ifindex=%d for
> address %s dist=%d met=%d",
> -                 __FILE__, __PRETTY_FUNCTION__,
> -                 lookup, max_lookup, first_ifindex, addr_str,
> -                 nexthop_tab[0].protocol_distance,
> -                 nexthop_tab[0].route_metric);
> +       zlog_debug("%s %s: lookup=%d/%d: found non-recursive ifindex=%d
> for address %s dist=%d met=%d",
> +                  __FILE__, __PRETTY_FUNCTION__,
> +                  lookup, max_lookup, first_ifindex, addr_str,
> +                  nexthop_tab[0].protocol_distance,
> +                  nexthop_tab[0].route_metric);
>
>         /* use last address as nexthop address */
>         nexthop_tab[0].nexthop_addr = addr;
> @@ -421,12 +421,12 @@ int zclient_lookup_nexthop(struct zclient *zlookup,
>        return num_ifindex;
>      }
>
> -    {
> +    if (PIM_DEBUG_ZEBRA) {
>        char addr_str[100];
>        char nexthop_str[100];
>        pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
>        pim_inet4_dump("<nexthop?>", nexthop_addr, nexthop_str,
> sizeof(nexthop_str));
> -      zlog_warn("%s %s: lookup=%d/%d: zebra returned recursive nexthop %s
> for address %s dist=%d met=%d",
> +      zlog_debug("%s %s: lookup=%d/%d: zebra returned recursive nexthop
> %s for address %s dist=%d met=%d",
>                 __FILE__, __PRETTY_FUNCTION__,
>                 lookup, max_lookup, nexthop_str, addr_str,
>                 nexthop_tab[0].protocol_distance,
> @@ -437,11 +437,13 @@ int zclient_lookup_nexthop(struct zclient *zlookup,
>
>    } /* for (max_lookup) */
>
> -  char addr_str[100];
> -  pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
> -  zlog_warn("%s %s: lookup=%d/%d: failure searching recursive nexthop
> ifindex for address %s",
> -           __FILE__, __PRETTY_FUNCTION__,
> -           lookup, max_lookup, addr_str);
> +  if (PIM_DEBUG_ZEBRA) {
> +    char addr_str[100];
> +    pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
> +    zlog_warn("%s %s: lookup=%d/%d: failure searching recursive nexthop
> ifindex for address %s",
> +             __FILE__, __PRETTY_FUNCTION__,
> +             lookup, max_lookup, addr_str);
> +  }
>
>    return -2;
>  }
> --
> 1.7.10.4
>
>
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to