Lines Matching refs:ops
72 int lwtunnel_encap_add_ops(const struct lwtunnel_encap_ops *ops, in lwtunnel_encap_add_ops() argument
80 NULL, ops) ? 0 : -1; in lwtunnel_encap_add_ops()
84 int lwtunnel_encap_del_ops(const struct lwtunnel_encap_ops *ops, in lwtunnel_encap_del_ops() argument
95 ops, NULL) == ops) ? 0 : -1; in lwtunnel_encap_del_ops()
108 const struct lwtunnel_encap_ops *ops; in lwtunnel_build_state() local
121 ops = rcu_dereference(lwtun_encaps[encap_type]); in lwtunnel_build_state()
122 if (likely(ops && ops->build_state && try_module_get(ops->owner))) in lwtunnel_build_state()
127 ret = ops->build_state(net, encap, family, cfg, lws, extack); in lwtunnel_build_state()
129 module_put(ops->owner); in lwtunnel_build_state()
144 const struct lwtunnel_encap_ops *ops; in lwtunnel_valid_encap_type() local
154 ops = rcu_dereference(lwtun_encaps[encap_type]); in lwtunnel_valid_encap_type()
157 if (!ops) { in lwtunnel_valid_encap_type()
166 ops = rcu_dereference(lwtun_encaps[encap_type]); in lwtunnel_valid_encap_type()
171 ret = ops ? 0 : -EOPNOTSUPP; in lwtunnel_valid_encap_type()
215 const struct lwtunnel_encap_ops *ops = lwtun_encaps[lws->type]; in lwtstate_free() local
217 if (ops->destroy_state) { in lwtstate_free()
218 ops->destroy_state(lws); in lwtstate_free()
223 module_put(ops->owner); in lwtstate_free()
230 const struct lwtunnel_encap_ops *ops; in lwtunnel_fill_encap() local
247 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_fill_encap()
248 if (likely(ops && ops->fill_encap)) in lwtunnel_fill_encap()
249 ret = ops->fill_encap(skb, lwtstate); in lwtunnel_fill_encap()
270 const struct lwtunnel_encap_ops *ops; in lwtunnel_get_encap_size() local
281 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_get_encap_size()
282 if (likely(ops && ops->get_encap_size)) in lwtunnel_get_encap_size()
283 ret = nla_total_size(ops->get_encap_size(lwtstate)); in lwtunnel_get_encap_size()
292 const struct lwtunnel_encap_ops *ops; in lwtunnel_cmp_encap() local
309 ops = rcu_dereference(lwtun_encaps[a->type]); in lwtunnel_cmp_encap()
310 if (likely(ops && ops->cmp_encap)) in lwtunnel_cmp_encap()
311 ret = ops->cmp_encap(a, b); in lwtunnel_cmp_encap()
321 const struct lwtunnel_encap_ops *ops; in lwtunnel_output() local
335 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_output()
336 if (likely(ops && ops->output)) in lwtunnel_output()
337 ret = ops->output(net, sk, skb); in lwtunnel_output()
355 const struct lwtunnel_encap_ops *ops; in lwtunnel_xmit() local
370 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_xmit()
371 if (likely(ops && ops->xmit)) in lwtunnel_xmit()
372 ret = ops->xmit(skb); in lwtunnel_xmit()
390 const struct lwtunnel_encap_ops *ops; in lwtunnel_input() local
404 ops = rcu_dereference(lwtun_encaps[lwtstate->type]); in lwtunnel_input()
405 if (likely(ops && ops->input)) in lwtunnel_input()
406 ret = ops->input(skb); in lwtunnel_input()