From: Thomas Haller Date: Mon, 18 Feb 2019 06:28:02 +0000 (+0100) Subject: netlink: fix routing-policy-rule netlink type for FRA_GOTO/FRA_UNUSED2 X-Git-Tag: v242-rc1~305 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8abd60c18b77ec99b390d6c1dcbe616c11f5e01b;p=thirdparty%2Fsystemd.git netlink: fix routing-policy-rule netlink type for FRA_GOTO/FRA_UNUSED2 - RTA_OIF has no business in the routing-rule policy. It is numerical identical to FRA_GOTO. Fix using the correct enum value. Note that RTA_OIF/FRA_GOTO was not used by networkd, and the type was already correct at uint32. So, there is no change in behavior. - RTA_GATEWAY also does not belong to the routing-rules. It is numerical identical to FRA_UNUSED2. Obviously, that value is unused as well, so there is no actual change in behavior either. In particular that is because: - kernel would not send messages with FRA_UNUSED2 attribute. - networkd would not try to parse/send RTA_GATEWAY/FRA_UNUSED2 attributes. Fixes: bce67bbee359eec19e6778619b6651100a1c1477 --- diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c index e88c5b5653c..3fec237c285 100644 --- a/src/libsystemd/sd-netlink/netlink-types.c +++ b/src/libsystemd/sd-netlink/netlink-types.c @@ -651,8 +651,7 @@ static const NLType rtnl_routing_policy_rule_types[] = { [FRA_DST] = { .type = NETLINK_TYPE_IN_ADDR }, [FRA_SRC] = { .type = NETLINK_TYPE_IN_ADDR }, [FRA_IIFNAME] = { .type = NETLINK_TYPE_STRING }, - [RTA_OIF] = { .type = NETLINK_TYPE_U32 }, - [RTA_GATEWAY] = { .type = NETLINK_TYPE_IN_ADDR }, + [FRA_GOTO] = { .type = NETLINK_TYPE_U32 }, [FRA_PRIORITY] = { .type = NETLINK_TYPE_U32 }, [FRA_FWMARK] = { .type = NETLINK_TYPE_U32 }, [FRA_FLOW] = { .type = NETLINK_TYPE_U32 },