From bec71bd4c0ccc18abb8de73ef2a1c81748433f05 Mon Sep 17 00:00:00 2001 From: Paul Rock Date: Sun, 17 Feb 2019 13:31:27 +0300 Subject: [PATCH] example of new type of syntax added --- examples/vlans_bridge_v3.php | 60 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 examples/vlans_bridge_v3.php diff --git a/examples/vlans_bridge_v3.php b/examples/vlans_bridge_v3.php new file mode 100644 index 0000000..3b01301 --- /dev/null +++ b/examples/vlans_bridge_v3.php @@ -0,0 +1,60 @@ + '192.168.5.1', + 'user' => 'admin', + 'pass' => 'admin', + 'legacy' => true +]); + +/* + * Create VLAN 100 on 3-8 ports + * 200 on 9-16 + * 300 on 17-24 + */ +$vlans = [ + 100 => [3, 4, 5, 6, 7, 8], + 200 => [9, 10, 11, 12, 13, 14, 15, 16], + 300 => [17, 18, 19, 20, 21, 22, 23, 24], +]; + +// Run commands for each vlan +foreach ($vlans as $vlanId => $ports) { + + // Add bridges + $response = $client->wr([ + '/interface/bridge/add', + "=name=vlan$vlanId-bridge", + 'vlan-filtering=no' + ]); + print_r($response); + + // Add ports to bridge + foreach ($ports as $port) { + $response = $client->wr([ + '/interface/bridge/port/add', + "=bridge=vlan$vlanId-bridge", + "=pvid=$vlanId", + "=interface=ether$port" + ]); + print_r($response); + } + + // Add untagged ports to bridge with tagging + foreach ($ports as $port) { + $response = $client->wr([ + '/interface/bridge/vlan/add', + "=bridge=vlan$vlanId-bridge", + "=untagged=ether$port", + "=vlan-ids=$vlanId" + ]); + print_r($response); + } + +}