Revision 5155bb33
Added by Ermal Luçi over 16 years ago
usr/local/www/interfaces_qinq_edit.php | ||
---|---|---|
155 | 155 |
$addmembers = array_diff($nmembers, $omembers); |
156 | 156 |
if (count($addmembers) > 0) { |
157 | 157 |
foreach ($addmembers as $member) { |
158 |
$vlan = array(); |
|
159 |
$vlan['if'] = "vlan{$_POST['tag']}"; |
|
160 |
$vlan['tag'] = $member; |
|
161 |
interface_qinq2_configure($vlan); |
|
158 |
$if = "vlan{$_POST['tag']}"; |
|
159 |
$vlanif = "{$if}_{$member}"; |
|
160 |
$macaddr = get_interface_mac($if); |
|
161 |
mwexec("/usr/sbin/ngctl mkpeer {$if}qinq: eiface {$if}{$member} ether"); |
|
162 |
mwexec("/usr/sbin/ngctl name {$if}qinq:{$if}{$tag} {$if}h{$member}"); |
|
163 |
mwexec("/usr/sbin/ngctl msg {$if}qinq: addfilter '{ vlan={$member} hook=\\\"{$if}{$member}\\\" }'"); |
|
164 |
mwexec("/usr/sbin/ngctl msg {$if}h{$tag}: setifname \\\"{$vlanif}\\\""); |
|
165 |
mwexec("/usr/sbin/ngctl msg {$vlanif}: setenaddr {$macaddr}"); |
|
162 | 166 |
} |
163 | 167 |
} |
164 | 168 |
$a_qinqs[$id] = $qinqentry; |
Also available in: Unified diff
Optimize adding new members to QinQ to evitate recreating the whole QinQ members.