aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2018-11-09 21:27:52 +0100
committerGravatar Christian Hesse <mail@eworm.de>2018-11-09 21:27:52 +0100
commit7843574cd625babef3b7351f6be13867b8da7cac (patch)
tree779b932506c117f4f7a4b49f92f385ec610d1ab3
parent0b121705b2de98f0bc447afc88c0f5d4e73235bd (diff)
add script 'ip-addr-bridge'
-rw-r--r--ip-addr-bridge14
1 files changed, 14 insertions, 0 deletions
diff --git a/ip-addr-bridge b/ip-addr-bridge
new file mode 100644
index 0000000..924bba9
--- /dev/null
+++ b/ip-addr-bridge
@@ -0,0 +1,14 @@
+#!rsc
+# RouterOS script: ip-addr-bridge
+# Copyright (c) 2018 Christian Hesse <mail@eworm.de>
+#
+# enable or disable ip addresses based on bridge port state
+
+:foreach bridge in=[ / interface bridge find ] do={
+ :local brname [ / interface bridge get $bridge name ];
+ :if ([ / interface bridge port print count-only where bridge=$brname and inactive=no ] = 0) do={
+ / ip address disable [ find where !dynamic interface=$brname ];
+ } else={
+ / ip address enable [ find where !dynamic interface=$brname ];
+ }
+}