mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 02:53:55 +00:00
isisd: Add a hook when writing interface config
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
This commit is contained in:
parent
215eccb0b8
commit
d56afe53aa
@ -924,6 +924,10 @@ void isis_circuit_print_vty(struct isis_circuit *circuit, struct vty *vty,
|
||||
return;
|
||||
}
|
||||
|
||||
DEFINE_HOOK(isis_circuit_config_write,
|
||||
(struct isis_circuit *circuit, struct vty *vty),
|
||||
(circuit, vty))
|
||||
|
||||
int isis_interface_config_write(struct vty *vty)
|
||||
{
|
||||
struct vrf *vrf = vrf_lookup_by_id(VRF_DEFAULT);
|
||||
@ -1138,7 +1142,7 @@ int isis_interface_config_write(struct vty *vty)
|
||||
circuit->passwd.passwd);
|
||||
write++;
|
||||
}
|
||||
write += circuit_write_mt_settings(circuit, vty);
|
||||
write += hook_call(isis_circuit_config_write, circuit, vty);
|
||||
}
|
||||
vty_endframe(vty, "!\n");
|
||||
}
|
||||
|
@ -193,4 +193,8 @@ ferr_r isis_circuit_passwd_hmac_md5_set(struct isis_circuit *circuit,
|
||||
int isis_circuit_mt_enabled_set(struct isis_circuit *circuit, uint16_t mtid,
|
||||
bool enabled);
|
||||
|
||||
DECLARE_HOOK(isis_circuit_config_write,
|
||||
(struct isis_circuit *circuit, struct vty *vty),
|
||||
(circuit, vty))
|
||||
|
||||
#endif /* _ZEBRA_ISIS_CIRCUIT_H */
|
||||
|
@ -57,6 +57,7 @@
|
||||
#include "isisd/isis_vty_common.h"
|
||||
#include "isisd/isis_bfd.h"
|
||||
#include "isisd/isis_lsp.h"
|
||||
#include "isisd/isis_mt.h"
|
||||
|
||||
/* Default configuration file name */
|
||||
#define ISISD_DEFAULT_CONFIG "isisd.conf"
|
||||
@ -216,6 +217,7 @@ int main(int argc, char **argv, char **envp)
|
||||
isis_route_map_init();
|
||||
isis_mpls_te_init();
|
||||
lsp_init();
|
||||
mt_init();
|
||||
|
||||
/* create the global 'isis' instance */
|
||||
isis_new(1);
|
||||
|
@ -302,7 +302,7 @@ circuit_get_mt_setting(struct isis_circuit *circuit, uint16_t mtid)
|
||||
return setting;
|
||||
}
|
||||
|
||||
int circuit_write_mt_settings(struct isis_circuit *circuit, struct vty *vty)
|
||||
static int circuit_write_mt_settings(struct isis_circuit *circuit, struct vty *vty)
|
||||
{
|
||||
int written = 0;
|
||||
struct listnode *node;
|
||||
@ -551,3 +551,9 @@ void tlvs_add_mt_p2p(struct isis_tlvs *tlvs, struct isis_circuit *circuit,
|
||||
tlvs_add_mt_set(circuit->area, tlvs, adj->mt_count, adj->mt_set, id,
|
||||
metric, subtlvs, subtlv_len);
|
||||
}
|
||||
|
||||
void mt_init(void)
|
||||
{
|
||||
hook_register(isis_circuit_config_write,
|
||||
circuit_write_mt_settings);
|
||||
}
|
||||
|
@ -109,7 +109,6 @@ void circuit_mt_init(struct isis_circuit *circuit);
|
||||
void circuit_mt_finish(struct isis_circuit *circuit);
|
||||
struct isis_circuit_mt_setting *
|
||||
circuit_get_mt_setting(struct isis_circuit *circuit, uint16_t mtid);
|
||||
int circuit_write_mt_settings(struct isis_circuit *circuit, struct vty *vty);
|
||||
struct isis_circuit_mt_setting **
|
||||
circuit_mt_settings(struct isis_circuit *circuit, unsigned int *mt_count);
|
||||
bool tlvs_to_adj_mt_set(struct isis_tlvs *tlvs, bool v4_usable, bool v6_usable,
|
||||
@ -122,4 +121,5 @@ void tlvs_add_mt_bcast(struct isis_tlvs *tlvs, struct isis_circuit *circuit,
|
||||
void tlvs_add_mt_p2p(struct isis_tlvs *tlvs, struct isis_circuit *circuit,
|
||||
uint8_t *id, uint32_t metric, uint8_t *subtlvs,
|
||||
uint8_t subtlv_len);
|
||||
void mt_init(void);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user