add_cmp_u16(r, 0, op);
}
+ add_compat(r, cs->fw.ip.proto, cs->fw.ip.invflags);
+
return cs->fw.ip.flags;
}
add_proto(r, offsetof(struct ip6_hdr, ip6_nxt), 1,
cs->fw6.ipv6.proto, cs->fw6.ipv6.invflags);
+ add_compat(r, cs->fw6.ipv6.proto, cs->fw6.ipv6.invflags);
+
return cs->fw6.ipv6.flags;
}
void *data, size_t len, int invflags);
void add_proto(struct nft_rule *r, int offset, size_t len,
uint32_t proto, int invflags);
+void add_compat(struct nft_rule *r, uint32_t proto, bool inv);
bool is_same_interfaces(const char *a_iniface, const char *a_outiface,
unsigned const char *a_iniface_mask,
nft_rule_add_expr(r, expr);
}
-static void add_compat(struct nft_rule *r, uint32_t proto, bool inv)
+void add_compat(struct nft_rule *r, uint32_t proto, bool inv)
{
nft_rule_attr_set_u32(r, NFT_RULE_ATTR_COMPAT_PROTO, proto);
nft_rule_attr_set_u32(r, NFT_RULE_ATTR_COMPAT_FLAGS,