<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hi, I have this script that configures routes for me between
    different routers and servers.<br>
    I have a few routers that have down in the wan and connect with the
    mesh network.<br>
    How can I dynamically change the gateway?<br>
    Example: if the wan drops, use the mesh as the gateway.
    <p><br>
    </p>
    <pre># Configure logging
log syslog all;
log "/var/log/bird.log" all;
log stderr all;
router id from "br-lan";

# Sync bird routing table with kernel
protocol kernel kernel4 {
    description "Kernel protocol for IPv4";
    metric 50;
    ipv4 {
        table master4;
        export filter {
            if proto = "lan" then reject;
            accept;
        };
        import all;
    };
};

protocol kernel kernel6 {
    description "Kernel protocol for IPv6";
    metric 300;
    ipv6 {
        table master6;
        export filter {
            if proto = "lan" then reject;
            accept;
        };
        import all;
    };
};

protocol device {
    description "Device protocol";
};

protocol direct lan {
    description "LAN protocol";
    ipv4;
    ipv6;
    interface "br-lan";
    check link;
}
protocol babel ninux {
    description "Babel protocol for NINUX network";
    ipv4 {
        export where (source = RTS_DEVICE) || (source = RTS_BABEL);
    };
    ipv6 {
        export where (source = RTS_DEVICE) || (source = RTS_BABEL);
    };
    interface "vpnbas" {
        check link;
    };
## Used to connect with other neighbours on the same layer 2 network.
## Decomment the config to use it, not this comments of course!
## Use the correct name interface, not the logical openwrt/(l)uci one.
## You can define more interfaces maches using * in regex (like "ifnet*")
## or "ifnet1", "ifnet2", "ifnetN", "otherifnetnames" form.
## You can also define more interfaces with other parameters, please refer to:
## <a class="moz-txt-link-freetext" href="https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.1">https://bird.network.cz/?get_doc&v=20&f=bird-6.html#ss6.1</a>
## After, reload the bird daemon with: /etc/init.d/bird reload
## or if you perefer, reastart with: /etc/init.d/bird restart
    interface "mesh" {
        type wireless; # or wired
        check link;
    };
}</pre>
  </body>
</html>