2020-03-27 20:39:37 +00:00
Manage ports in bridge
======================
2024-03-06 13:30:18 +00:00
[![GitHub stars ](https://img.shields.io/github/stars/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=red )](https://github.com/eworm-de/routeros-scripts/stargazers)
[![GitHub forks ](https://img.shields.io/github/forks/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=green )](https://github.com/eworm-de/routeros-scripts/network)
[![GitHub watchers ](https://img.shields.io/github/watchers/eworm-de/routeros-scripts?logo=GitHub&style=flat&color=blue )](https://github.com/eworm-de/routeros-scripts/watchers)
[![required RouterOS version ](https://img.shields.io/badge/RouterOS-7.12-yellow?style=flat )](https://mikrotik.com/download/changelogs/)
[![Telegram group @routeros_scripts ](https://img.shields.io/badge/Telegram-%40routeros__scripts-%2326A5E4?logo=telegram&style=flat )](https://t.me/routeros_scripts)
[![donate with PayPal ](https://img.shields.io/badge/Like_it%3F-Donate!-orange?logo=githubsponsors&logoColor=orange&style=flat )](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick& hosted_button_id=A4ZXBD6YS2W8J)
2023-01-10 13:45:27 +00:00
[⬅️ Go back to main README ](../../README.md )
2020-03-27 20:39:37 +00:00
2022-02-12 12:15:33 +00:00
> ℹ ️ ️ **Info**: This module can not be used on its own but requires the base
> installation. See [main README](../../README.md) for details.
2021-05-03 13:07:50 +00:00
2020-03-27 20:39:37 +00:00
Description
-----------
2021-11-12 13:10:13 +00:00
This module and its functio are are supposed to handle interfaces and
switching them from one bridge to another.
2020-03-27 20:39:37 +00:00
Requirements and installation
-----------------------------
2021-11-12 13:10:13 +00:00
Just install the module:
2020-03-27 20:39:37 +00:00
2021-11-15 19:22:56 +00:00
$ScriptInstallUpdate mod/bridge-port-to;
2020-03-27 20:39:37 +00:00
Configuration
-------------
2022-05-11 08:15:05 +00:00
The configuration goes to ports' comments (`/interface/bridge/port`).
2020-03-27 20:39:37 +00:00
2022-05-11 08:15:05 +00:00
/interface/bridge/port/add bridge=br-guest comment="default=dhcp-client, alt=br-guest" disabled=yes interface=en1;
/interface/bridge/port/add bridge=br-intern comment="default=br-intern, alt=br-guest" interface=en2;
/interface/bridge/port/add bridge=br-guest comment="default=br-guest, extra=br-extra" interface=en3;
2020-03-27 20:39:37 +00:00
Also dhcp client can be handled:
2022-05-11 08:15:05 +00:00
/ip/dhcp-client/add comment="toggle with bridge port" disabled=no interface=en1;
2020-03-27 20:39:37 +00:00
2021-02-18 13:52:47 +00:00
Add a scheduler to start with default setup on system startup:
2020-03-27 20:39:37 +00:00
2021-11-15 21:17:43 +00:00
$ScriptInstallUpdate global-wait;
2022-06-08 19:30:55 +00:00
/system/scheduler/add name=bridge-port-to on-event="/system/script/run global-wait; :global BridgePortTo; \$BridgePortTo default;" start-time=startup;
2020-03-27 20:39:37 +00:00
Usage and invocation
--------------------
The usage examples show what happens with the configuration from above.
2021-11-12 13:10:13 +00:00
Running the function `$BridgePortTo` with parameter `default` applies all
configuration given with `default=` :
2020-03-27 20:39:37 +00:00
2021-11-12 13:10:13 +00:00
$BridgePortTo default;
2020-03-27 20:39:37 +00:00
For the three interfaces we get this configuration:
* The special value `dhcp-client` enables the dhcp client for interface `en1` . The bridge port entry is disabled.
* Interface `en2` is put in bridge `br-intern` .
* Interface `en3` is put in bridge `br-guest` .
2021-11-12 13:10:13 +00:00
Running the function `$BridgePortTo` with parameter `alt` applies all
configuration given with `alt=` :
2020-03-27 20:39:37 +00:00
2021-11-12 13:10:13 +00:00
$BridgePortTo alt;
2020-03-27 20:39:37 +00:00
* Interface `en1` is put in bridge `br-guest` , dhcp client for the interface is disabled.
* Interface `en2` is put in bridge `br-guest` .
* Interface `en3` is unchanged, stays in bridge `br-guest` .
2021-11-12 13:10:13 +00:00
Running the function `$BridgePortTo` with parameter `extra` applies another
configuration:
2020-03-27 20:39:37 +00:00
2021-11-12 13:10:13 +00:00
$BridgePortTo extra;
2020-03-27 20:39:37 +00:00
* Interfaces `en1` and `en2` are unchanged.
* Interface `en3` is put in bridge `br-intern` .
2021-11-11 13:44:26 +00:00
See also
--------
2021-11-15 21:17:43 +00:00
* [Wait for global functions und modules ](../global-wait.md )
2021-11-12 13:10:13 +00:00
* [Manage VLANs on bridge ports ](bridge-port-vlan.md )
2021-11-11 13:44:26 +00:00
2020-03-27 20:39:37 +00:00
---
2023-01-10 13:45:27 +00:00
[⬅️ Go back to main README ](../../README.md )
[⬆️ Go back to top ](#top )