equal
deleted
inserted
replaced
23 $::res->{'tunnel-pair'} = {}; |
23 $::res->{'tunnel-pair'} = {}; |
24 $::res->{'cfm-service'} = {}; |
24 $::res->{'cfm-service'} = {}; |
25 $::res->{vc} = {}; |
25 $::res->{vc} = {}; |
26 $::res->{vs} = {}; |
26 $::res->{vs} = {}; |
27 $::res->{"vs-vlans"} = {}; |
27 $::res->{"vs-vlans"} = {}; |
28 |
28 $::res->{vlans} = {}; |
29 |
29 |
30 # local (current line) attribute-value-list, ie. property value |
30 # local (current line) attribute-value-list, ie. property value |
31 my $avl = {}; |
31 my $avl = {}; |
|
32 my $vlan_range = {}; |
32 |
33 |
33 # Consumes attribute value list. |
34 # Consumes attribute value list. |
34 # @param type Type (port/sub_port/etc). |
35 # @param type Type (port/sub_port/etc). |
35 # @param id Identifier, eg. port number. |
36 # @param id Identifier, eg. port number. |
36 sub consume_avl { |
37 sub consume_avl { |
76 | l_tunnel_pair |
77 | l_tunnel_pair |
77 | l_tunnel |
78 | l_tunnel |
78 | l_cfm_service |
79 | l_cfm_service |
79 | l_vc |
80 | l_vc |
80 | l_vs |
81 | l_vs |
|
82 | l_vlan |
81 | word(s) eol |
83 | word(s) eol |
82 |
84 |
83 word: /[0-9a-zA-Z:\/_\#\"\.,-]+/ |
85 word: /[0-9a-zA-Z:\/_\#\"\.,-]+/ |
84 { $item[1] } |
86 { $item[1] } |
85 |
87 |
254 for (my $i = $from; $i <= $to; $i++) { |
256 for (my $i = $from; $i <= $to; $i++) { |
255 $::res->{"vs-vlans"}->{$i} = 1; |
257 $::res->{"vs-vlans"}->{$i} = 1; |
256 } |
258 } |
257 } |
259 } |
258 |
260 |
|
261 # Vlan |
|
262 vlan_s_range: /\d+/"-"/\d+/ |
|
263 { for (my $i = $item[1]; $i <= $item[3]; $i++) { $vlan_range->{$i} = 1; } } |
|
264 | /\d+/ |
|
265 { $vlan_range->{$item[1]} = 1 } |
|
266 vlan_range: vlan_s_range","vlan_range |
|
267 | vlan_s_range |
|
268 l_vlan: "vlan" "create" "vlan" vlan_range |
|
269 { |
|
270 foreach my $vlan (keys %$vlan_range) { |
|
271 $::res->{vlans}->{$vlan} = 1; |
|
272 } |
|
273 $vlan_range = {}; |
|
274 } |