mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-28 09:16:34 +00:00
isisd: fix check for area-tag modification
Interface area-tag is not supposed to be modified once defined, but the necessary check is currently broken, because the circuit is never in init_circ_list if the area-tag is already configured for the interface. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
parent
6431621e4e
commit
b4acf005b5
@ -2075,7 +2075,6 @@ int lib_interface_isis_area_tag_modify(struct nb_cb_modify_args *args)
|
||||
struct interface *ifp;
|
||||
struct vrf *vrf;
|
||||
const char *area_tag, *ifname, *vrfname;
|
||||
struct isis *isis = NULL;
|
||||
|
||||
if (args->event == NB_EV_VALIDATE) {
|
||||
/* libyang doesn't like relative paths across module boundaries
|
||||
@ -2091,11 +2090,7 @@ int lib_interface_isis_area_tag_modify(struct nb_cb_modify_args *args)
|
||||
if (!ifp)
|
||||
return NB_OK;
|
||||
|
||||
isis = isis_lookup_by_vrfid(ifp->vrf_id);
|
||||
if (isis == NULL)
|
||||
return NB_ERR_VALIDATION;
|
||||
|
||||
circuit = circuit_lookup_by_ifp(ifp, isis->init_circ_list);
|
||||
circuit = circuit_scan_by_ifp(ifp);
|
||||
area_tag = yang_dnode_get_string(args->dnode, NULL);
|
||||
if (circuit && circuit->area && circuit->area->area_tag
|
||||
&& strcmp(circuit->area->area_tag, area_tag)) {
|
||||
|
Loading…
Reference in New Issue
Block a user