Merge pull request #12048 from taspelund/display_retrans_mismatch

RA logging improvements
This commit is contained in:
Donatas Abraitis 2022-10-05 14:08:06 +03:00 committed by GitHub
commit 1fa5a99d43
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -664,8 +664,9 @@ static void rtadv_process_advert(uint8_t *msg, unsigned int len,
zif->rtadv.lastadvcurhoplimit.tv_sec == 0)) { zif->rtadv.lastadvcurhoplimit.tv_sec == 0)) {
flog_warn( flog_warn(
EC_ZEBRA_RA_PARAM_MISMATCH, EC_ZEBRA_RA_PARAM_MISMATCH,
"%s(%u): Rx RA - our AdvCurHopLimit doesn't agree with %s", "%s(%u): Rx RA - our AdvCurHopLimit (%u) doesn't agree with %s (%u)",
ifp->name, ifp->ifindex, addr_str); ifp->name, ifp->ifindex, zif->rtadv.AdvCurHopLimit,
addr_str, radvert->nd_ra_curhoplimit);
monotime(&zif->rtadv.lastadvcurhoplimit); 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)) { zif->rtadv.lastadvmanagedflag.tv_sec == 0)) {
flog_warn( flog_warn(
EC_ZEBRA_RA_PARAM_MISMATCH, EC_ZEBRA_RA_PARAM_MISMATCH,
"%s(%u): Rx RA - our AdvManagedFlag doesn't agree with %s", "%s(%u): Rx RA - our AdvManagedFlag (%u) doesn't agree with %s (%u)",
ifp->name, ifp->ifindex, addr_str); ifp->name, ifp->ifindex, zif->rtadv.AdvManagedFlag,
addr_str,
!!CHECK_FLAG(radvert->nd_ra_flags_reserved,
ND_RA_FLAG_MANAGED));
monotime(&zif->rtadv.lastadvmanagedflag); 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)) { zif->rtadv.lastadvotherconfigflag.tv_sec == 0)) {
flog_warn( flog_warn(
EC_ZEBRA_RA_PARAM_MISMATCH, EC_ZEBRA_RA_PARAM_MISMATCH,
"%s(%u): Rx RA - our AdvOtherConfigFlag doesn't agree with %s", "%s(%u): Rx RA - our AdvOtherConfigFlag (%u) doesn't agree with %s (%u)",
ifp->name, ifp->ifindex, addr_str); ifp->name, ifp->ifindex, zif->rtadv.AdvOtherConfigFlag,
addr_str,
!!CHECK_FLAG(radvert->nd_ra_flags_reserved,
ND_RA_FLAG_OTHER));
monotime(&zif->rtadv.lastadvotherconfigflag); 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)) { zif->rtadv.lastadvreachabletime.tv_sec == 0)) {
flog_warn( flog_warn(
EC_ZEBRA_RA_PARAM_MISMATCH, EC_ZEBRA_RA_PARAM_MISMATCH,
"%s(%u): Rx RA - our AdvReachableTime doesn't agree with %s", "%s(%u): Rx RA - our AdvReachableTime (%u) doesn't agree with %s (%u)",
ifp->name, ifp->ifindex, addr_str); ifp->name, ifp->ifindex, zif->rtadv.AdvReachableTime,
addr_str, ntohl(radvert->nd_ra_reachable));
monotime(&zif->rtadv.lastadvreachabletime); 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) && (unsigned int)zif->rtadv.AdvRetransTimer) &&
(monotime_since(&zif->rtadv.lastadvretranstimer, NULL) > (monotime_since(&zif->rtadv.lastadvretranstimer, NULL) >
SIXHOUR2USEC || SIXHOUR2USEC ||
zif->rtadv.lastadvretranstimer.tv_sec == 0)) { zif->rtadv.lastadvretranstimer.tv_sec == 0)) {
flog_warn( flog_warn(
EC_ZEBRA_RA_PARAM_MISMATCH, EC_ZEBRA_RA_PARAM_MISMATCH,
"%s(%u): Rx RA - our AdvRetransTimer doesn't agree with %s", "%s(%u): Rx RA - our AdvRetransTimer (%u) doesn't agree with %s (%u)",
ifp->name, ifp->ifindex, addr_str); ifp->name, ifp->ifindex, zif->rtadv.AdvRetransTimer,
addr_str, ntohl(radvert->nd_ra_retransmit));
monotime(&zif->rtadv.lastadvretranstimer); monotime(&zif->rtadv.lastadvretranstimer);
} }