summaryrefslogtreecommitdiffstats
path: root/isisd/isis_lsp.c
diff options
context:
space:
mode:
authorChristian Franke <chris@opensourcerouting.org>2018-05-10 19:05:40 +0200
committerChristian Franke <chris@opensourcerouting.org>2018-09-05 11:38:13 +0200
commit92ed0cdef522c148250186cd3fbdf61cc9789d77 (patch)
treeecdf6679ab3a6f167c53a573ef41babca6a3d01f /isisd/isis_lsp.c
parentfabricd: Add support for TLV 150 (Spine-Leaf-Extension) (diff)
downloadfrr-92ed0cdef522c148250186cd3fbdf61cc9789d77.tar.xz
frr-92ed0cdef522c148250186cd3fbdf61cc9789d77.zip
fabricd: allow to configure tier-level advertisement
While OpenFabric calculates most tier numbers automatically by the fabric locality calculation algorithm, that algorithm requires two systems to be manually configured as tier 0, so it has reference points. Also, completely manual configuration is possible. To support this, introduce appropriate CLI commands and flood the configured information. Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Diffstat (limited to 'isisd/isis_lsp.c')
-rw-r--r--isisd/isis_lsp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 90bcece15..f8ebce2ef 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -929,6 +929,14 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
lsp_debug("ISIS (%s): Adding circuit specific information.",
area->area_tag);
+ if (fabricd) {
+ lsp_debug(
+ "ISIS (%s): Adding tier %" PRIu8 " spine-leaf-extension tlv.",
+ area->area_tag, fabricd_tier(area));
+ isis_tlvs_add_spine_leaf(lsp->tlvs, fabricd_tier(area), true,
+ false, false, false);
+ }
+
struct isis_circuit *circuit;
for (ALL_LIST_ELEMENTS_RO(area->circuit_list, node, circuit)) {
if (!circuit->interface)