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()
216 const struct lwtunnel_encap_ops *ops = lwtun_encaps[lws->type]; in lwtstate_free() local
218 if (ops->destroy_state) { in lwtstate_free()
219 ops->destroy_state(lws); in lwtstate_free()
224 module_put(ops->owner); in lwtstate_free()
231 const struct lwtunnel_encap_ops *ops; in lwtunnel_fill_encap() local
248 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_fill_encap()
249 if (likely(ops && ops->fill_encap)) in lwtunnel_fill_encap()
250 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap()
271 const struct lwtunnel_encap_ops *ops; in lwtunnel_get_encap_size() local
282 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_get_encap_size()
283 if (likely(ops && ops->get_encap_size)) in lwtunnel_get_encap_size()
284 ret = nla_total_size(ops->get_encap_size(lwtstate)); in lwtunnel_get_encap_size()
293 const struct lwtunnel_encap_ops *ops; in lwtunnel_cmp_encap() local
310 ops = rcu_dereference(lwtun_encaps[a->type]); in lwtunnel_cmp_encap()
311 if (likely(ops && ops->cmp_encap)) in lwtunnel_cmp_encap()
312 ret = ops->cmp_encap(a, b); in lwtunnel_cmp_encap()
322 const struct lwtunnel_encap_ops *ops; in lwtunnel_output() local
336 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_output()
337 if (likely(ops && ops->output)) in lwtunnel_output()
338 ret = ops->output(net, sk, skb); in lwtunnel_output()
356 const struct lwtunnel_encap_ops *ops; in lwtunnel_xmit() local
371 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_xmit()
372 if (likely(ops && ops->xmit)) in lwtunnel_xmit()
373 ret = ops->xmit(skb); in lwtunnel_xmit()
391 const struct lwtunnel_encap_ops *ops; in lwtunnel_input() local
405 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_input()
406 if (likely(ops && ops->input)) in lwtunnel_input()
407 ret = ops->input(skb); in lwtunnel_input()