On Thursday 15 June 2017 03:07 PM, Mantas Mikulėnas wrote:
On Thu, Jun 15, 2017 at 11:21 AM, Lennart Poettering <lenn...@poettering.net <mailto:lenn...@poettering.net>> wrote:

    On Tue, 13.06.17 21:44, Amish (anon.am...@gmail.com
    <mailto:anon.am...@gmail.com>) wrote:

    > Hello,
    >
    > I have the following in /etc/systemd/network/25-eth0.network
    >
    > [Match]
    > MACAddress=00:11:22:33:44:55
    >
    > [Network]
    > Address=192.168.1.32/24 <http://192.168.1.32/24>
    > Gateway=192.168.1.1
    >
    > Now I have few "dynamic" routes where destination IP keeps changing.
    >
    > Example:
    > /usr/bin/ip route add to 1.2.3.4 via 192.168.1.2 (Different gateway)
    >
    > Many more routes are added by one script which keeps adding /
    deleting
    > routes based on certain algorithms.
    >
    > Since destination IP keeps changing, I can not put it in [Route]
    section.
    >
    > Now my problem is, if for any reason the interface loses carrier
    (cable
    > fault / switch / router reboot), the IP associated with it is
    removed and
    > hence all the routes added by script gets lost.
    >
    > My question is how to stop this?
    >
    > How do I tell systemd to not to delete IP address on "Lost carrier"?
    >
    > I tried with:
    >
    > BindCarrier=lo
    > OR
    > BindCarrier=eth0
    > OR
    > BindCarrier=lo eth0
    >
    > But none worked.
    >
    > Any idea / suggestions? Something similar to -
    CriticalConnection for DHCP?
    >
    > Or may be we can have Persistent=true in "[Network]" OR
    "[Address]" section?

    This is really not how networkd is supposed to be used. Either it
    manages an interface in its entirety or not at all. It's not designed
    to manage an interface only "half-way", i.e. manage addresses but not
    the routes.


Hmm, that wasn't the actual question though, was it? The point was just to make networkd ignore carrier status (i.e. often there's no need to remove addresses just because the interface is down for a moment), not to stop managing halfway.


Yes thats what I am looking for.

I wonder, if IP is "static IP" why should it remove it from interface? or atleast let administrator have an option to specify if IP should be deleted or not on "Lost carrier"

Also on a side note:

Even if I use [Route] section in .network file. There is still an issue.

Say I have two WAN connections. WAN1 and WAN2.

All traffic goes through WAN1. (default route)

But say I add [Route] section, telling that traffic to some networks is supposed to go via WAN2.

But no sooner the "Carrier" gets lost on WAN2, the routes added by [Route] section also gets deleted.

And traffic that was supposed to go via WAN2, start going through WAN1.

Ofcourse routes get readded when WAN2 "Gains carrier" but by that time some connection get dropped / interrupted / rejected by RST as packets went through WAN1 (which was not allowed).

Please consider of adding an option to Ignore "Lost carrier" atleast for static IPs.

Thanks and regards,

Amish.
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to