" source or destination IP addresses");
}
-static bool nft_ipv4_rule_find(struct nft_family_ops *ops,
- struct nftnl_rule *r, void *data)
-{
- struct iptables_command_state *cs = data;
-
- return nft_ipv46_rule_find(ops, r, cs);
-}
-
static void nft_ipv4_save_counters(const void *data)
{
const struct iptables_command_state *cs = data;
.parse_target = nft_ipv46_parse_target,
.rule_to_cs = nft_rule_to_iptables_command_state,
.clear_cs = nft_clear_iptables_command_state,
- .rule_find = nft_ipv4_rule_find,
+ .rule_find = nft_ipv46_rule_find,
.xlate = nft_ipv4_xlate,
};
" source or destination IP addresses");
}
-static bool nft_ipv6_rule_find(struct nft_family_ops *ops,
- struct nftnl_rule *r, void *data)
-{
- struct iptables_command_state *cs = data;
-
- return nft_ipv46_rule_find(ops, r, cs);
-}
-
static void nft_ipv6_save_counters(const void *data)
{
const struct iptables_command_state *cs = data;
.parse_target = nft_ipv46_parse_target,
.rule_to_cs = nft_rule_to_iptables_command_state,
.clear_cs = nft_clear_iptables_command_state,
- .rule_find = nft_ipv6_rule_find,
+ .rule_find = nft_ipv46_rule_find,
.xlate = nft_ipv6_xlate,
};
}
bool nft_ipv46_rule_find(struct nft_family_ops *ops,
- struct nftnl_rule *r, struct iptables_command_state *cs)
+ struct nftnl_rule *r, void *data)
{
- struct iptables_command_state this = {};
+ struct iptables_command_state *cs = data, this = {};
nft_rule_to_iptables_command_state(r, &this);
struct nft_handle;
void nft_ipv46_parse_target(struct xtables_target *t, void *data);
bool nft_ipv46_rule_find(struct nft_family_ops *ops, struct nftnl_rule *r,
- struct iptables_command_state *cs);
+ void *data);
bool compare_matches(struct xtables_rule_match *mt1, struct xtables_rule_match *mt2);
bool compare_targets(struct xtables_target *tg1, struct xtables_target *tg2);