SD_JSON_BUILD_PAIR_UNSIGNED("FirewallMask", rule->fwmask),
JSON_BUILD_PAIR_UNSIGNED_NON_ZERO("Table", rule->table),
JSON_BUILD_PAIR_STRING_NON_EMPTY("TableString", table),
- SD_JSON_BUILD_PAIR_BOOLEAN("Invert", rule->invert_rule),
+ SD_JSON_BUILD_PAIR_BOOLEAN("Invert", FLAGS_SET(rule->flags, FIB_RULE_INVERT)),
SD_JSON_BUILD_PAIR_CONDITION(rule->suppress_prefixlen >= 0,
"SuppressPrefixLength", SD_JSON_BUILD_UNSIGNED(rule->suppress_prefixlen)),
SD_JSON_BUILD_PAIR_CONDITION(rule->suppress_ifgroup >= 0,
return r;
}
- if (rule->invert_rule) {
- r = sd_rtnl_message_routing_policy_rule_set_flags(m, FIB_RULE_INVERT);
- if (r < 0)
- return r;
- }
+ r = sd_rtnl_message_routing_policy_rule_set_flags(m, rule->flags);
+ if (r < 0)
+ return r;
if (rule->l3mdev) {
r = sd_netlink_message_append_u8(m, FRA_L3MDEV, 1);
}
}
- unsigned flags;
- r = sd_rtnl_message_routing_policy_rule_get_flags(message, &flags);
+ r = sd_rtnl_message_routing_policy_rule_get_flags(message, &tmp->flags);
if (r < 0) {
log_warning_errno(r, "rtnl: received rule message without valid flag, ignoring: %m");
return 0;
}
- tmp->invert_rule = flags & FIB_RULE_INVERT;
r = sd_netlink_message_read_u32(message, FRA_FWMARK, &tmp->fwmark);
if (r < 0 && r != -ENODATA) {
return 0;
}
- n->invert_rule = r;
+ SET_FLAG(n->flags, FIB_RULE_INVERT, r);
TAKE_PTR(n);
return 0;