Lines Matching refs:ops
77 int lwtunnel_encap_add_ops(const struct lwtunnel_encap_ops *ops, in lwtunnel_encap_add_ops() argument
85 NULL, ops) ? 0 : -1; in lwtunnel_encap_add_ops()
89 int lwtunnel_encap_del_ops(const struct lwtunnel_encap_ops *ops, in lwtunnel_encap_del_ops() argument
100 ops, NULL) == ops) ? 0 : -1; in lwtunnel_encap_del_ops()
113 const struct lwtunnel_encap_ops *ops; in lwtunnel_build_state() local
126 ops = rcu_dereference(lwtun_encaps[encap_type]); in lwtunnel_build_state()
127 if (likely(ops && ops->build_state && try_module_get(ops->owner))) in lwtunnel_build_state()
132 ret = ops->build_state(net, encap, family, cfg, lws, extack); in lwtunnel_build_state()
134 module_put(ops->owner); in lwtunnel_build_state()
149 const struct lwtunnel_encap_ops *ops; in lwtunnel_valid_encap_type() local
159 ops = rcu_dereference(lwtun_encaps[encap_type]); in lwtunnel_valid_encap_type()
162 if (!ops) { in lwtunnel_valid_encap_type()
171 ops = rcu_dereference(lwtun_encaps[encap_type]); in lwtunnel_valid_encap_type()
176 ret = ops ? 0 : -EOPNOTSUPP; in lwtunnel_valid_encap_type()
220 const struct lwtunnel_encap_ops *ops = lwtun_encaps[lws->type]; in lwtstate_free() local
222 if (ops->destroy_state) { in lwtstate_free()
223 ops->destroy_state(lws); in lwtstate_free()
228 module_put(ops->owner); in lwtstate_free()
235 const struct lwtunnel_encap_ops *ops; in lwtunnel_fill_encap() local
252 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_fill_encap()
253 if (likely(ops && ops->fill_encap)) in lwtunnel_fill_encap()
254 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap()
275 const struct lwtunnel_encap_ops *ops; in lwtunnel_get_encap_size() local
286 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_get_encap_size()
287 if (likely(ops && ops->get_encap_size)) in lwtunnel_get_encap_size()
288 ret = nla_total_size(ops->get_encap_size(lwtstate)); in lwtunnel_get_encap_size()
297 const struct lwtunnel_encap_ops *ops; in lwtunnel_cmp_encap() local
314 ops = rcu_dereference(lwtun_encaps[a->type]); in lwtunnel_cmp_encap()
315 if (likely(ops && ops->cmp_encap)) in lwtunnel_cmp_encap()
316 ret = ops->cmp_encap(a, b); in lwtunnel_cmp_encap()
326 const struct lwtunnel_encap_ops *ops; in lwtunnel_output() local
340 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_output()
341 if (likely(ops && ops->output)) in lwtunnel_output()
342 ret = ops->output(net, sk, skb); in lwtunnel_output()
360 const struct lwtunnel_encap_ops *ops; in lwtunnel_xmit() local
375 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_xmit()
376 if (likely(ops && ops->xmit)) in lwtunnel_xmit()
377 ret = ops->xmit(skb); in lwtunnel_xmit()
395 const struct lwtunnel_encap_ops *ops; in lwtunnel_input() local
409 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_input()
410 if (likely(ops && ops->input)) in lwtunnel_input()
411 ret = ops->input(skb); in lwtunnel_input()