X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fvport.h;h=fc2c1761611e45cb50993bf85e2f8a40dc2db4da;hb=5953c70e61897996e8b05fadea988b3289e133de;hp=baa943240f8a8f282621a3b53fb59ac023defada;hpb=b19e8815add8374089c8a90fd276ba65c151416a;p=openvswitch diff --git a/datapath/vport.h b/datapath/vport.h index baa94324..fc2c1761 100644 --- a/datapath/vport.h +++ b/datapath/vport.h @@ -22,30 +22,30 @@ struct dp_port; /* The following definitions are for users of the vport subsytem: */ +int vport_user_add(const struct odp_vport_add __user *); +int vport_user_mod(const struct odp_vport_mod __user *); +int vport_user_del(const char __user *udevname); + +#ifdef CONFIG_COMPAT +int compat_vport_user_add(struct compat_odp_vport_add __user *); +int compat_vport_user_mod(struct compat_odp_vport_mod __user *); +#endif + +int vport_user_stats_get(struct odp_vport_stats_req __user *); +int vport_user_ether_get(struct odp_vport_ether __user *); +int vport_user_ether_set(struct odp_vport_ether __user *); +int vport_user_mtu_get(struct odp_vport_mtu __user *); +int vport_user_mtu_set(struct odp_vport_mtu __user *); + void vport_lock(void); void vport_unlock(void); int vport_init(void); void vport_exit(void); -int vport_add(const struct odp_vport_add __user *); -int vport_mod(const struct odp_vport_mod __user *); -int vport_del(const char __user *udevname); - -#ifdef CONFIG_COMPAT -int compat_vport_add(struct compat_odp_vport_add __user *); -int compat_vport_mod(struct compat_odp_vport_mod __user *); -#endif - -int vport_stats_get(struct odp_vport_stats_req __user *); -int vport_ether_get(struct odp_vport_ether __user *); -int vport_ether_set(struct odp_vport_ether __user *); -int vport_mtu_get(struct odp_vport_mtu __user *); -int vport_mtu_set(struct odp_vport_mtu __user *); - -struct vport *__vport_add(const char *name, const char *type, const void __user *config); -int __vport_mod(struct vport *, const void __user *config); -int __vport_del(struct vport *); +struct vport *vport_add(const char *name, const char *type, const void __user *config); +int vport_mod(struct vport *, const void __user *config); +int vport_del(struct vport *); struct vport *vport_locate(const char *name); @@ -237,4 +237,11 @@ vport_from_priv(const void *priv) void vport_receive(struct vport *, struct sk_buff *); void vport_record_error(struct vport *, enum vport_err_type err_type); +/* List of statically compiled vport implementations. Don't forget to also + * add yours to the list at the top of vport.c. */ +extern struct vport_ops netdev_vport_ops; +extern struct vport_ops internal_vport_ops; +extern struct vport_ops patch_vport_ops; +extern struct vport_ops gre_vport_ops; + #endif /* vport.h */