aboutsummaryrefslogtreecommitdiffstats
path: root/manage-umts
blob: e416ee285d03d962f3d3f4913620d0f866f5ba82 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!rsc
# RouterOS script: manage-umts
# Copyright (c) 2013-2019 Christian Hesse <mail@eworm.de>
#
# manage UMTS interface based on ethernet and wireless status

:local EtherInt "en1";
:local WlanInt "wl-station";
:local UmtsInt "t-mobile";

:local EtherStatus [ / interface ethernet get $EtherInt running ];
:local WlanStatus [ / interface wireless get $WlanInt running ];

:if ($EtherStatus = true || $WlanStatus = true) do={
  :if ([ / interface get $UmtsInt disabled ] = false) do={
    :log info ("Ethernet (" . $EtherInt . " / " . $EtherStatus . ") or " . \
      "wireless (" . $WlanInt . " / " . $WlanStatus . ") is running, " . \
      "UMTS interface " . $UmtsInt . " is enabled. Disabling...");
    / interface set disabled=yes $UmtsInt;
  }
} else={
  :if ([ / interface get $UmtsInt disabled ] = true) do={
    :log info ("Neither ethernet (" . $EtherInt . ") nor wireless (" . \
      $WlanInt . ") interface is running, UMTS interface " . $UmtsInt . \
      " is disabled. Enabling...");
    / interface set disabled=no $UmtsInt;
  }
}