mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 06:38:04 +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