diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2022-10-05 14:08:06 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-05 14:08:06 +0300 |
| commit | 1fa5a99d4362ce103293c04636bc97a480379df2 (patch) | |
| tree | d9c61022c3d484bf367c92e1b312faca1a5997f3 | |
| parent | b81570c690d79ebc1a03708dc17d33caa9639a5f (diff) | |
| parent | 820a9cadb2b3ad4c57c9e193455cd26a3cc081d4 (diff) | |
Merge pull request #12048 from taspelund/display_retrans_mismatch
RA logging improvements
| -rw-r--r-- | zebra/rtadv.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/zebra/rtadv.c b/zebra/rtadv.c index 93590a2f16..127888d655 100644 --- a/zebra/rtadv.c +++ b/zebra/rtadv.c @@ -664,8 +664,9 @@ static void rtadv_process_advert(uint8_t *msg, unsigned int len, zif->rtadv.lastadvcurhoplimit.tv_sec == 0)) { flog_warn( EC_ZEBRA_RA_PARAM_MISMATCH, - "%s(%u): Rx RA - our AdvCurHopLimit doesn't agree with %s", - ifp->name, ifp->ifindex, addr_str); + "%s(%u): Rx RA - our AdvCurHopLimit (%u) doesn't agree with %s (%u)", + ifp->name, ifp->ifindex, zif->rtadv.AdvCurHopLimit, + addr_str, radvert->nd_ra_curhoplimit); monotime(&zif->rtadv.lastadvcurhoplimit); } @@ -676,8 +677,11 @@ static void rtadv_process_advert(uint8_t *msg, unsigned int len, zif->rtadv.lastadvmanagedflag.tv_sec == 0)) { flog_warn( EC_ZEBRA_RA_PARAM_MISMATCH, - "%s(%u): Rx RA - our AdvManagedFlag doesn't agree with %s", - ifp->name, ifp->ifindex, addr_str); + "%s(%u): Rx RA - our AdvManagedFlag (%u) doesn't agree with %s (%u)", + ifp->name, ifp->ifindex, zif->rtadv.AdvManagedFlag, + addr_str, + !!CHECK_FLAG(radvert->nd_ra_flags_reserved, + ND_RA_FLAG_MANAGED)); monotime(&zif->rtadv.lastadvmanagedflag); } @@ -688,8 +692,11 @@ static void rtadv_process_advert(uint8_t *msg, unsigned int len, zif->rtadv.lastadvotherconfigflag.tv_sec == 0)) { flog_warn( EC_ZEBRA_RA_PARAM_MISMATCH, - "%s(%u): Rx RA - our AdvOtherConfigFlag doesn't agree with %s", - ifp->name, ifp->ifindex, addr_str); + "%s(%u): Rx RA - our AdvOtherConfigFlag (%u) doesn't agree with %s (%u)", + ifp->name, ifp->ifindex, zif->rtadv.AdvOtherConfigFlag, + addr_str, + !!CHECK_FLAG(radvert->nd_ra_flags_reserved, + ND_RA_FLAG_OTHER)); monotime(&zif->rtadv.lastadvotherconfigflag); } @@ -700,20 +707,23 @@ static void rtadv_process_advert(uint8_t *msg, unsigned int len, zif->rtadv.lastadvreachabletime.tv_sec == 0)) { flog_warn( EC_ZEBRA_RA_PARAM_MISMATCH, - "%s(%u): Rx RA - our AdvReachableTime doesn't agree with %s", - ifp->name, ifp->ifindex, addr_str); + "%s(%u): Rx RA - our AdvReachableTime (%u) doesn't agree with %s (%u)", + ifp->name, ifp->ifindex, zif->rtadv.AdvReachableTime, + addr_str, ntohl(radvert->nd_ra_reachable)); monotime(&zif->rtadv.lastadvreachabletime); } - if ((ntohl(radvert->nd_ra_retransmit) != + if ((radvert->nd_ra_retransmit && zif->rtadv.AdvRetransTimer) && + (ntohl(radvert->nd_ra_retransmit) != (unsigned int)zif->rtadv.AdvRetransTimer) && (monotime_since(&zif->rtadv.lastadvretranstimer, NULL) > SIXHOUR2USEC || zif->rtadv.lastadvretranstimer.tv_sec == 0)) { flog_warn( EC_ZEBRA_RA_PARAM_MISMATCH, - "%s(%u): Rx RA - our AdvRetransTimer doesn't agree with %s", - ifp->name, ifp->ifindex, addr_str); + "%s(%u): Rx RA - our AdvRetransTimer (%u) doesn't agree with %s (%u)", + ifp->name, ifp->ifindex, zif->rtadv.AdvRetransTimer, + addr_str, ntohl(radvert->nd_ra_retransmit)); monotime(&zif->rtadv.lastadvretranstimer); } |
