2023-03-07 10:57:42 +01:00
|
|
|
#!rsc by RouterOS
|
|
|
|
# RouterOS script: ip-addr-bridge
|
2025-01-02 00:04:06 +01:00
|
|
|
# Copyright (c) 2018-2025 Christian Hesse <mail@eworm.de>
|
2025-01-24 20:46:11 +01:00
|
|
|
# https://rsc.eworm.de/COPYING.md
|
2023-03-07 10:57:42 +01:00
|
|
|
#
|
|
|
|
# enable or disable ip addresses based on bridge port state
|
2025-01-24 20:46:11 +01:00
|
|
|
# https://rsc.eworm.de/doc/ip-addr-bridge.md
|
2023-03-07 10:57:42 +01:00
|
|
|
|
|
|
|
:foreach Bridge in=[ /interface/bridge/find ] do={
|
|
|
|
:local BrName [ /interface/bridge/get $Bridge name ];
|
|
|
|
:if ([ :len [ /interface/bridge/port/find where bridge=$BrName ] ] > 0) do={
|
|
|
|
:if ([ :len [ /interface/bridge/port/find 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 ];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|