diff options
| author | Olivier Dugeon <olivier.dugeon@orange.com> | 2019-04-15 16:11:40 +0200 | 
|---|---|---|
| committer | Olivier Dugeon <olivier.dugeon@orange.com> | 2019-04-25 18:59:26 +0200 | 
| commit | 2e2a8b913607fa7ea8744f1fee98208e38cef5df (patch) | |
| tree | 2cee1a8859c39a3f75913c277fb3c8ace65284f3 /isisd/isis_te.h | |
| parent | bbd8da796b1ad74ca5ad2e6e0ff22178dcb63f0b (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.h | 14 | 
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 */  | 
