NetworkManager/src/platform
Thomas Haller b8398b9e79 platform: add NMPRulesManager for syncing routing rules
Routing rules are unlike addresses or routes not tied to an interface.
NetworkManager thinks in terms of connection profiles. That works well
for addresses and routes, as one profile configures addresses and routes
for one device. For example, when activating a profile on a device, the
configuration does not interfere with the addresses/routes of other
devices. That is not the case for routing rules, which are global, netns-wide
entities.

When one connection profile specifies rules, then this per-device configuration
must be merged with the global configuration. And when a device disconnects later,
the rules must be removed.

Add a new NMPRulesManager API to track/untrack routing rules. Devices can
register/add there the routing rules they require. And the sync method will
apply the configuration. This is be implemented on top of NMPlatform's
caching API.
2019-03-13 09:47:37 +01:00
..
linux platform: import nl82154.h 2018-06-26 16:21:54 +02:00
tests platform: add NMPRulesManager for syncing routing rules 2019-03-13 09:47:37 +01:00
wifi platform/wifi: don't use __u32 type in "nm-wifi-utils-nl80211.c" 2019-02-22 10:05:00 +01:00
wpan platform/netlink: cleanup nla_parse*() code by using safer macros 2019-02-22 09:58:09 +01:00
nm-fake-platform.c platform: add NMPlatformObjWithIfindex helper structure for handling NMPObject types 2019-03-13 09:03:59 +01:00
nm-fake-platform.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-linux-platform.c platform: add routing-rule add/delete netlink functions 2019-03-13 09:03:59 +01:00
nm-linux-platform.h platform: use NMDedupMultiIndex for routes in NMPCache 2017-07-05 18:37:38 +02:00
nm-netlink.c platform/netlink: cleanup nlmsg_append() and add nlmsg_append_struct() macro 2019-02-22 09:58:09 +01:00
nm-netlink.h platform/netlink: cleanup nlmsg_append() and add nlmsg_append_struct() macro 2019-02-22 09:58:09 +01:00
nm-platform-private.h platform: expose emit-signal function from platform 2017-07-05 18:37:39 +02:00
nm-platform-utils.c all: replace strerror() calls with nm_strerror_native() 2019-02-12 08:50:28 +01:00
nm-platform-utils.h platform/ethtool: add code to get/set offload features via ethtool 2018-08-10 10:38:19 +02:00
nm-platform.c platform: add NMPRulesManager for syncing routing rules 2019-03-13 09:47:37 +01:00
nm-platform.h platform: add routing-rule add/delete netlink functions 2019-03-13 09:03:59 +01:00
nmp-netns.c all: replace g_strerror() calls with nm_strerror_native() 2019-02-12 08:50:28 +01:00
nmp-netns.h core: cleanup implementation of nm_auto* macros to use nm_auto() 2017-10-11 08:43:40 +02:00
nmp-object.c platform: add support for routing-rule objects and cache them in platform 2019-03-13 09:03:59 +01:00
nmp-object.h platform: add support for routing-rule objects and cache them in platform 2019-03-13 09:03:59 +01:00
nmp-rules-manager.c platform: add NMPRulesManager for syncing routing rules 2019-03-13 09:47:37 +01:00
nmp-rules-manager.h platform: add NMPRulesManager for syncing routing rules 2019-03-13 09:47:37 +01:00