mirror of
				https://github.com/Telecominfraproject/ols-ucentral-schema.git
				synced 2025-10-30 01:32:26 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ucode
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ucode
		
	
	
	
	
	
| {%
 | |
| let roles = (state.switch && state.switch.loop_detection &&
 | |
| 	     state.switch.loop_detection.roles) ?
 | |
| 			state.switch.loop_detection.roles : [];
 | |
| 
 | |
| services.set_enabled("ustpd", length(roles));
 | |
| 
 | |
| function loop_detect(role) {
 | |
| 	return (index(roles, role) >= 0) ? 1 : 0;
 | |
| }
 | |
| %}
 | |
| 
 | |
| # Basic configuration
 | |
| set network.loopback=interface
 | |
| set network.loopback.ifname='lo'
 | |
| set network.loopback.proto='static'
 | |
| set network.loopback.ipaddr='127.0.0.1'
 | |
| set network.loopback.netmask='255.0.0.0'
 | |
| 
 | |
| set network.up=device
 | |
| set network.up.name=up
 | |
| set network.up.type=bridge
 | |
| set network.up.stp={{ loop_detect("upstream") }}
 | |
| set network.up.igmp_snooping='1'
 | |
| 
 | |
| {% if (capab.platform != "switch"): %}
 | |
| set network.down=device
 | |
| set network.down.name=down
 | |
| set network.down.type=bridge
 | |
| set network.down.stp={{ loop_detect("downstream") }}
 | |
| set network.down.igmp_snooping='1'
 | |
| 
 | |
| {% endif %}
 | |
| set network.up_none=interface
 | |
| set network.up_none.ifname=up
 | |
| set network.up_none.proto=none
 | |
| 
 | |
| {% for (let k, v in capab.macaddr): %}
 | |
| add network device
 | |
| set network.@device[-1].name={{ s(k) }}
 | |
| set network.@device[-1].macaddr={{ s(v) }}
 | |
| {% endfor %}
 | |
| 
 | |
| {% for (let k, v in capab.switch): %}
 | |
| add network switch
 | |
| set network.@switch[-1].name={{ s(v.name) }}
 | |
| set network.@switch[-1].reset={{ b(v.reset) }}
 | |
| set network.@switch[-1].enable_vlan={{ b(v.enable) }}
 | |
| {% endfor %}
 | |
| 
 | |
| {% for (let k, port in ethernet.ports): %}
 | |
| {%   if (!port.switch) continue; %}
 | |
| add network switch_vlan
 | |
| set network.@switch_vlan[-1].device={{ s(port.switch.name) }}
 | |
| set network.@switch_vlan[-1].vlan={{ s(port.vlan) }}
 | |
| set network.@switch_vlan[-1].ports={{s(port.switch.port + 't ' + port.swconfig)}}
 | |
| {% endfor %}
 | 
