X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fvport.h;h=186d6bf74e041919b3961126b71969ddd2852362;hb=d8ae4d672673cd72285eb405a96b4ac3590a7639;hp=a5c17f6e5211a1c3bae26f631e1a3bb1ca3f76bc;hpb=fceb2a5bb2063023777fc75c68a2670b5169fa13;p=openvswitch diff --git a/datapath/vport.h b/datapath/vport.h index a5c17f6e..186d6bf7 100644 --- a/datapath/vport.h +++ b/datapath/vport.h @@ -10,6 +10,7 @@ #define VPORT_H 1 #include +#include #include #include @@ -55,7 +56,7 @@ int vport_detach(struct vport *); int vport_set_mtu(struct vport *, int mtu); int vport_set_addr(struct vport *, const unsigned char *); -int vport_set_stats(struct vport *, struct odp_vport_stats *); +int vport_set_stats(struct vport *, struct rtnl_link_stats64 *); const char *vport_get_name(const struct vport *); const char *vport_get_type(const struct vport *); @@ -63,7 +64,7 @@ const unsigned char *vport_get_addr(const struct vport *); struct dp_port *vport_get_dp_port(const struct vport *); struct kobject *vport_get_kobj(const struct vport *); -int vport_get_stats(struct vport *, struct odp_vport_stats *); +int vport_get_stats(struct vport *, struct rtnl_link_stats64 *); unsigned vport_get_flags(const struct vport *); int vport_is_running(const struct vport *); @@ -83,6 +84,7 @@ struct vport_percpu_stats { u64 rx_packets; u64 tx_bytes; u64 tx_packets; + seqcount_t seqlock; }; struct vport_err_stats { @@ -105,12 +107,13 @@ struct vport { spinlock_t stats_lock; struct vport_err_stats err_stats; - struct odp_vport_stats offset_stats; + struct rtnl_link_stats64 offset_stats; }; #define VPORT_F_REQUIRED (1 << 0) /* If init fails, module loading fails. */ #define VPORT_F_GEN_STATS (1 << 1) /* Track stats at the generic layer. */ -#define VPORT_F_TUN_ID (1 << 2) /* Sets OVS_CB(skb)->tun_id. */ +#define VPORT_F_FLOW (1 << 2) /* Sets OVS_CB(skb)->flow. */ +#define VPORT_F_TUN_ID (1 << 3) /* Sets OVS_CB(skb)->tun_id. */ /** * struct vport_ops - definition of a type of virtual port @@ -174,13 +177,13 @@ struct vport_ops { int (*set_mtu)(struct vport *, int mtu); int (*set_addr)(struct vport *, const unsigned char *); - int (*set_stats)(const struct vport *, struct odp_vport_stats *); + int (*set_stats)(const struct vport *, struct rtnl_link_stats64 *); /* Called with rcu_read_lock or RTNL lock. */ const char *(*get_name)(const struct vport *); const unsigned char *(*get_addr)(const struct vport *); struct kobject *(*get_kobj)(const struct vport *); - int (*get_stats)(const struct vport *, struct odp_vport_stats *); + int (*get_stats)(const struct vport *, struct rtnl_link_stats64 *); unsigned (*get_dev_flags)(const struct vport *); int (*is_running)(const struct vport *); @@ -248,5 +251,6 @@ 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; +extern struct vport_ops capwap_vport_ops; #endif /* vport.h */