|| ri->peer == ri->peer->bgp->peer_self)
return;
- if (BGP_INFO_HOLDDOWN (ri)
+ if (!BGP_INFO_COUNTABLE (ri)
&& CHECK_FLAG (ri->flags, BGP_INFO_COUNTED))
{
zlog_warn ("%s: Please report to Quagga bugzilla", __func__);
}
}
- else if (!BGP_INFO_HOLDDOWN (ri)
+ else if (BGP_INFO_COUNTABLE (ri)
&& !CHECK_FLAG (ri->flags, BGP_INFO_COUNTED))
{
SET_FLAG (ri->flags, BGP_INFO_COUNTED);
{
SET_FLAG (ri->flags, flag);
- /* early bath if we know it's not a flag that changes useability state */
- if (!CHECK_FLAG (flag, BGP_INFO_VALID|BGP_INFO_UNUSEABLE))
+ /* early bath if we know it's not a flag that changes countability state */
+ if (!CHECK_FLAG (flag, BGP_INFO_VALID|BGP_INFO_HISTORY|BGP_INFO_REMOVED))
return;
bgp_pcount_adjust (rn, ri);
{
UNSET_FLAG (ri->flags, flag);
- /* early bath if we know it's not a flag that changes useability state */
- if (!CHECK_FLAG (flag, BGP_INFO_VALID|BGP_INFO_UNUSEABLE))
+ /* early bath if we know it's not a flag that changes countability state */
+ if (!CHECK_FLAG (flag, BGP_INFO_VALID|BGP_INFO_HISTORY|BGP_INFO_REMOVED))
return;
bgp_pcount_adjust (rn, ri);
u_char tag[3];
};
+#define BGP_INFO_COUNTABLE(BI) \
+ (! CHECK_FLAG ((BI)->flags, BGP_INFO_HISTORY) \
+ && ! CHECK_FLAG ((BI)->flags, BGP_INFO_REMOVED))
+
/* Flags which indicate a route is unuseable in some form */
#define BGP_INFO_UNUSEABLE \
(BGP_INFO_HISTORY|BGP_INFO_DAMPED|BGP_INFO_REMOVED)