On Fri, Jan 12, 2018 at 02:57:24PM +0200, Eyal Birger wrote:
> @@ -51,9 +52,9 @@ match_xfrm_state(const struct xfrm_state *x, const struct
> xt_policy_elem *e,
> MATCH(reqid, x->props.reqid);
> }
>
> -static int
> -match_policy_in(const struct sk_buff *skb, const struct xt_policy_info *info,
> - unsigned short family)
> +int xt_policy_match_policy_in(const struct sk_buff *skb,
> + const struct xt_policy_info *info,
> + unsigned short family)
> {
> const struct xt_policy_elem *e;
> const struct sec_path *sp = skb->sp;
> @@ -80,10 +81,11 @@ match_policy_in(const struct sk_buff *skb, const struct
> xt_policy_info *info,
>
> return strict ? 1 : 0;
> }
> +EXPORT_SYMBOL_GPL(xt_policy_match_policy_in);
If you just want to call xt_policy_match from tc, then you could use
tc ipt infrastructure instead.