network: drop unnecessary routing policy rules
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 28 Oct 2020 11:27:23 +0000 (20:27 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 12 Mar 2021 16:34:35 +0000 (17:34 +0100)
commit131f78322eb9c72d2cdf27aa919191c9693f88d7
treec027a2ec76bdd003043e3974a98ec8d1e32e7c8a
parent968f67ff7114485ee582b8323ba4ff622d1cad1e
network: drop unnecessary routing policy rules

networkd already drop foreign address, routes, and nexthops on startup,
except those created by kernel. However, previously, routing policy
rules were not. The logic of serialization/deserialization of rules only
works for rules created by previous invocation of networkd, and does not
work for one created by other tools like `ip rule`.

This makes networkd drop foreign routing policy rules except created by
kernel on startup. Also, remove rules created by networkd when the
corresponding links are dropped or networkd is stopping.

[#17477,4/5] cherry-picked from 0b81225e5791f660506f7db0ab88078cf296b771
src/network/networkd-link.c
src/network/networkd-routing-policy-rule.c
src/network/networkd-routing-policy-rule.h