summaryrefslogtreecommitdiff
path: root/isisd/isis_te.h
diff options
context:
space:
mode:
authorOlivier Dugeon <olivier.dugeon@orange.com>2019-04-15 16:11:40 +0200
committerOlivier Dugeon <olivier.dugeon@orange.com>2019-04-25 18:59:26 +0200
commit2e2a8b913607fa7ea8744f1fee98208e38cef5df (patch)
tree2cee1a8859c39a3f75913c277fb3c8ace65284f3 /isisd/isis_te.h
parentbbd8da796b1ad74ca5ad2e6e0ff22178dcb63f0b (diff)
isisd: Add IS-IS-TE support per Area
Solve issue #4032 - Change MPLS-TE from global to per Area - Add new mpls_te_area structure to area in replacement of global variable isisMPLS_TE - Move mpls-te from global to instance in frr-isisd.yang - Change code in isis_te.c, isis_northbound.c, isis_cli.c, isis_pdu.c, isis_lsp.c and isis_zebra.c accordingly Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Diffstat (limited to 'isisd/isis_te.h')
-rw-r--r--isisd/isis_te.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/isisd/isis_te.h b/isisd/isis_te.h
index e9eff08cd1..beb0c1836f 100644
--- a/isisd/isis_te.h
+++ b/isisd/isis_te.h
@@ -244,11 +244,10 @@ typedef enum _status_t { disable, enable, learn } status_t;
/* Mode for Inter-AS LSP */ /* TODO: Check how if LSP is flooded in RFC5316 */
typedef enum _interas_mode_t { off, region, as, emulate } interas_mode_t;
-#define IS_MPLS_TE(m) (m.status == enable)
-#define IS_CIRCUIT_TE(c) (c->status == enable)
+#define IS_MPLS_TE(m) (m && m->status == enable)
-/* Following structure are internal use only. */
-struct isis_mpls_te {
+/* Per area MPLS-TE parameters */
+struct mpls_te_area {
/* Status of MPLS-TE: enable or disable */
status_t status;
@@ -259,15 +258,11 @@ struct isis_mpls_te {
interas_mode_t inter_as;
struct in_addr interas_areaid;
- /* Circuit list on which TE are enable */
- struct list *cir_list;
-
/* MPLS_TE router ID */
struct in_addr router_id;
};
-extern struct isis_mpls_te isisMplsTE;
-
+/* Per Circuit MPLS-TE parameters */
struct mpls_te_circuit {
/* Status of MPLS-TE on this interface */
@@ -318,6 +313,5 @@ uint8_t add_te_subtlvs(uint8_t *, struct mpls_te_circuit *);
uint8_t build_te_subtlvs(uint8_t *, struct isis_circuit *);
void isis_link_params_update(struct isis_circuit *, struct interface *);
void isis_mpls_te_update(struct interface *);
-void isis_mpls_te_config_write_router(struct vty *);
#endif /* _ZEBRA_ISIS_MPLS_TE_H */