summaryrefslogtreecommitdiff
path: root/libnm-core/nm-core-internal.h
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-07-11 18:54:48 +0200
committerThomas Haller <thaller@redhat.com>2019-07-16 10:03:17 +0200
commit6ea56bc04c772b49b84b74396b5e71ba5ff1a089 (patch)
tree65bfed3eb77edfba103873e8bfd2e2548fc15e83 /libnm-core/nm-core-internal.h
parent70b23c7979566f4be46d138dedfa59e215cec44b (diff)
downloadNetworkManager-6ea56bc04c772b49b84b74396b5e71ba5ff1a089.tar.gz
libnm,core: add support for "suppress_prefixlength" rule attribute
WireGuard's wq-quick configures such rules to avoid routing loops. While we currently don't have an automatic solution for this, at least we should support it via explicit user configuration. One problem is that suppress_prefixlength is relatively new and kernel might not support this attribute. That can lead to odd results, because the NetworkManager is valid but it cannot be configured on the current kernel. But this is a general problem, and we would require a general solution. The solution cannot be to only support rule attributes that are supported by the oldest possible kernel. It's not clear how much of a problem there really is, or which general solution is required (if any).
Diffstat (limited to 'libnm-core/nm-core-internal.h')
-rw-r--r--libnm-core/nm-core-internal.h39
1 files changed, 20 insertions, 19 deletions
diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h
index ad17a1d01d..912ce1b46e 100644
--- a/libnm-core/nm-core-internal.h
+++ b/libnm-core/nm-core-internal.h
@@ -661,25 +661,26 @@ gboolean nm_ip_routing_rule_get_xifname_bin (const NMIPRoutingRule *self,
gboolean iif /* or else oif */,
char out_xifname[static 16]);
-#define NM_IP_ROUTING_RULE_ATTR_ACTION "action"
-#define NM_IP_ROUTING_RULE_ATTR_DPORT_END "dport-end"
-#define NM_IP_ROUTING_RULE_ATTR_DPORT_START "dport-start"
-#define NM_IP_ROUTING_RULE_ATTR_FAMILY "family"
-#define NM_IP_ROUTING_RULE_ATTR_FROM "from"
-#define NM_IP_ROUTING_RULE_ATTR_FROM_LEN "from-len"
-#define NM_IP_ROUTING_RULE_ATTR_FWMARK "fwmark"
-#define NM_IP_ROUTING_RULE_ATTR_FWMASK "fwmask"
-#define NM_IP_ROUTING_RULE_ATTR_IIFNAME "iifname"
-#define NM_IP_ROUTING_RULE_ATTR_INVERT "invert"
-#define NM_IP_ROUTING_RULE_ATTR_IPPROTO "ipproto"
-#define NM_IP_ROUTING_RULE_ATTR_OIFNAME "oifname"
-#define NM_IP_ROUTING_RULE_ATTR_PRIORITY "priority"
-#define NM_IP_ROUTING_RULE_ATTR_SPORT_END "sport-end"
-#define NM_IP_ROUTING_RULE_ATTR_SPORT_START "sport-start"
-#define NM_IP_ROUTING_RULE_ATTR_TABLE "table"
-#define NM_IP_ROUTING_RULE_ATTR_TO "to"
-#define NM_IP_ROUTING_RULE_ATTR_TOS "tos"
-#define NM_IP_ROUTING_RULE_ATTR_TO_LEN "to-len"
+#define NM_IP_ROUTING_RULE_ATTR_ACTION "action"
+#define NM_IP_ROUTING_RULE_ATTR_DPORT_END "dport-end"
+#define NM_IP_ROUTING_RULE_ATTR_DPORT_START "dport-start"
+#define NM_IP_ROUTING_RULE_ATTR_FAMILY "family"
+#define NM_IP_ROUTING_RULE_ATTR_FROM "from"
+#define NM_IP_ROUTING_RULE_ATTR_FROM_LEN "from-len"
+#define NM_IP_ROUTING_RULE_ATTR_FWMARK "fwmark"
+#define NM_IP_ROUTING_RULE_ATTR_FWMASK "fwmask"
+#define NM_IP_ROUTING_RULE_ATTR_IIFNAME "iifname"
+#define NM_IP_ROUTING_RULE_ATTR_INVERT "invert"
+#define NM_IP_ROUTING_RULE_ATTR_IPPROTO "ipproto"
+#define NM_IP_ROUTING_RULE_ATTR_OIFNAME "oifname"
+#define NM_IP_ROUTING_RULE_ATTR_PRIORITY "priority"
+#define NM_IP_ROUTING_RULE_ATTR_SPORT_END "sport-end"
+#define NM_IP_ROUTING_RULE_ATTR_SPORT_START "sport-start"
+#define NM_IP_ROUTING_RULE_ATTR_SUPPRESS_PREFIXLENGTH "suppress-prefixlength"
+#define NM_IP_ROUTING_RULE_ATTR_TABLE "table"
+#define NM_IP_ROUTING_RULE_ATTR_TO "to"
+#define NM_IP_ROUTING_RULE_ATTR_TOS "tos"
+#define NM_IP_ROUTING_RULE_ATTR_TO_LEN "to-len"
NMIPRoutingRule *nm_ip_routing_rule_from_dbus (GVariant *variant,
gboolean strict,