#include "zebra/connected.h"
#include "zebra/rtadv.h"
#include "zebra/zebra_mpls.h"
+#include "zebra/debug.h"
/* communicate the withdrawal of a connected address */
static void
/* Schedule LSP forwarding entries for processing, if appropriate. */
if (ifp->vrf_id == VRF_DEFAULT)
{
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
+ if (IS_ZEBRA_DEBUG_MPLS)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
ifp->vrf_id, ifp->name);
- zebra_mpls_lsp_schedule (vrf_info_lookup(ifp->vrf_id));
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
}
}
/* Schedule LSP forwarding entries for processing, if appropriate. */
if (ifp->vrf_id == VRF_DEFAULT)
{
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
+ if (IS_ZEBRA_DEBUG_MPLS)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
ifp->vrf_id, ifp->name);
- zebra_mpls_lsp_schedule (vrf_info_lookup(ifp->vrf_id));
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
}
}
/* Schedule LSP forwarding entries for processing, if appropriate. */
if (ifp->vrf_id == VRF_DEFAULT)
{
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
+ if (IS_ZEBRA_DEBUG_MPLS)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
ifp->vrf_id, ifp->name);
- zebra_mpls_lsp_schedule (vrf_info_lookup(ifp->vrf_id));
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
}
}
/* Schedule LSP forwarding entries for processing, if appropriate. */
if (ifp->vrf_id == VRF_DEFAULT)
{
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
+ if (IS_ZEBRA_DEBUG_MPLS)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
ifp->vrf_id, ifp->name);
- zebra_mpls_lsp_schedule (vrf_info_lookup(ifp->vrf_id));
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
}
}
/* Schedule LSP forwarding entries for processing, if appropriate. */
if (ifp->vrf_id == VRF_DEFAULT)
{
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
+ if (IS_ZEBRA_DEBUG_MPLS)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
ifp->vrf_id, ifp->name);
- zebra_mpls_lsp_schedule (vrf_info_lookup(ifp->vrf_id));
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
}
}
/* Schedule LSP forwarding entries for processing, if appropriate. */
if (ifp->vrf_id == VRF_DEFAULT)
{
- if (IS_ZEBRA_DEBUG_RIB_DETAILED)
+ if (IS_ZEBRA_DEBUG_MPLS)
zlog_debug ("%u: IF %s IPv4 address add/up, scheduling MPLS processing",
ifp->vrf_id, ifp->name);
- zebra_mpls_lsp_schedule (vrf_info_lookup(ifp->vrf_id));
+ mpls_mark_lsps_for_processing (vrf_info_lookup(ifp->vrf_id));
}
}
zebra_evaluate_rnh(zvrf->vrf_id, AF_INET6, 0, RNH_IMPORT_CHECK_TYPE, NULL);
}
}
+
+ /* Schedule LSPs for processing, if needed. */
+ zvrf = vrf_info_lookup(VRF_DEFAULT);
+ if (mpls_should_lsps_be_processed(zvrf))
+ {
+ if (IS_ZEBRA_DEBUG_MPLS)
+ zlog_debug ("%u: Scheduling all LSPs upon RIB completion", zvrf->vrf_id);
+ zebra_mpls_lsp_schedule (zvrf);
+ mpls_unmark_lsps_for_processing(zvrf);
+ }
}
/* Dispatch the meta queue by picking, processing and unlocking the next RN from