|
|
@ -130,6 +130,7 @@ static int nftables_do_rule(const struct nlmsghdr *nlh, void *data) {
|
|
|
|
if (nftnl_expr_foreach(r, callbacks->parse_expr, callbacks) < 0)
|
|
|
|
if (nftnl_expr_foreach(r, callbacks->parse_expr, callbacks) < 0)
|
|
|
|
return MNL_CB_OK;
|
|
|
|
return MNL_CB_OK;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (callbacks->rule_final)
|
|
|
|
callbacks->rule_final(r, callbacks);
|
|
|
|
callbacks->rule_final(r, callbacks);
|
|
|
|
|
|
|
|
|
|
|
|
return MNL_CB_OK;
|
|
|
|
return MNL_CB_OK;
|
|
|
@ -190,6 +191,7 @@ static const char *iterate_rules(struct mnl_socket *nl, int family, const char *
|
|
|
|
if (err)
|
|
|
|
if (err)
|
|
|
|
return err;
|
|
|
|
return err;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (callbacks->iterate_final)
|
|
|
|
err = callbacks->iterate_final(nl, family, chain, seq, callbacks);
|
|
|
|
err = callbacks->iterate_final(nl, family, chain, seq, callbacks);
|
|
|
|
if (err)
|
|
|
|
if (err)
|
|
|
|
return err;
|
|
|
|
return err;
|
|
|
|