ciena.grammar
changeset 5 c13b1f7bebc1
parent 4 3a26769e5d6f
child 6 f6aa07070f6f
equal deleted inserted replaced
4:3a26769e5d6f 5:c13b1f7bebc1
   270 		foreach my $vlan (keys %$vlan_range) {
   270 		foreach my $vlan (keys %$vlan_range) {
   271 			$::res->{vlans}->{$vlan} = 1;
   271 			$::res->{vlans}->{$vlan} = 1;
   272 		}
   272 		}
   273 		$vlan_range = {};
   273 		$vlan_range = {};
   274 		}
   274 		}
   275 		| "vlan" "add" "vlan" vlan_range "port" port_num
   275 		| "vlan" /add|remove/ "vlan" vlan_range "port" port_num
   276 		{
   276 		{
       
   277 		my $action = ($item[2] =~ /remove/) ? 0 : 1;
   277 		foreach my $vlan (keys %$vlan_range) {
   278 		foreach my $vlan (keys %$vlan_range) {
   278 			$::res->{port}->{$item{port_num}}->{vlans}->{$vlan} = 1;
   279 			$::res->{port}->{$item{port_num}}->{vlans}->{$vlan} = $action;
   279 		}
   280 		}
   280 		$vlan_range = {};
   281 		$vlan_range = {};
   281 		}
   282 		}
   282 		| "vlan" "remove" "vlan" vlan_range "port" port_num
   283 
   283 		{
       
   284 		foreach my $vlan (keys %$vlan_range) {
       
   285 			delete $::res->{port}->{$item{port_num}}->{vlans}->{$vlan};
       
   286 		}
       
   287 		$vlan_range = {};
       
   288 		}