Lines Matching refs:ops
77 int ovs_vport_ops_register(struct vport_ops *ops) in ovs_vport_ops_register() argument
84 if (ops->type == o->type) in ovs_vport_ops_register()
87 list_add_tail(&ops->list, &vport_ops_list); in ovs_vport_ops_register()
95 void ovs_vport_ops_unregister(struct vport_ops *ops) in ovs_vport_ops_unregister() argument
98 list_del(&ops->list); in ovs_vport_ops_unregister()
116 if (!strcmp(name, vport->ops->get_name(vport)) && in ovs_vport_locate()
134 struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *ops, in ovs_vport_alloc() argument
152 vport->ops = ops; in ovs_vport_alloc()
193 struct vport_ops *ops; in ovs_vport_lookup() local
195 list_for_each_entry(ops, &vport_ops_list, list) in ovs_vport_lookup()
196 if (ops->type == parms->type) in ovs_vport_lookup()
197 return ops; in ovs_vport_lookup()
212 struct vport_ops *ops; in ovs_vport_add() local
215 ops = ovs_vport_lookup(parms); in ovs_vport_add()
216 if (ops) { in ovs_vport_add()
219 if (!try_module_get(ops->owner)) in ovs_vport_add()
222 vport = ops->create(parms); in ovs_vport_add()
224 module_put(ops->owner); in ovs_vport_add()
229 vport->ops->get_name(vport)); in ovs_vport_add()
259 if (!vport->ops->set_options) in ovs_vport_set_options()
261 return vport->ops->set_options(vport, options); in ovs_vport_set_options()
277 module_put(vport->ops->owner); in ovs_vport_del()
278 vport->ops->destroy(vport); in ovs_vport_del()
351 if (!vport->ops->get_options) in ovs_vport_get_options()
358 err = vport->ops->get_options(vport, skb); in ovs_vport_get_options()
508 int sent = vport->ops->send(vport, skb); in ovs_vport_send()
623 if (unlikely(!vport->ops->get_egress_tun_info)) in ovs_vport_get_egress_tun_info()
626 return vport->ops->get_egress_tun_info(vport, skb, info); in ovs_vport_get_egress_tun_info()