net/mlx5: Introduce E-switch QoS management
[linux-2.6-block.git] / drivers / net / ethernet / mellanox / mlx5 / core / eswitch.h
index 2e2938e08cdae9838efc7d0f2f48f926e7c21575..fb8de34b6baf5ea762d08c8ae64034297d7f86ec 100644 (file)
@@ -115,6 +115,7 @@ struct mlx5_vport_info {
        u8                      qos;
        u64                     node_guid;
        int                     link_state;
+       u32                     max_rate;
        bool                    spoofchk;
        bool                    trusted;
 };
@@ -133,6 +134,11 @@ struct mlx5_vport {
 
        struct mlx5_vport_info  info;
 
+       struct {
+               bool            enabled;
+               u32             esw_tsar_ix;
+       } qos;
+
        bool                    enabled;
        u16                     enabled_events;
 };
@@ -209,6 +215,12 @@ struct mlx5_eswitch {
         */
        struct mutex            state_lock;
        struct esw_mc_addr      *mc_promisc;
+
+       struct {
+               bool            enabled;
+               u32             root_tsar_id;
+       } qos;
+
        struct mlx5_esw_offload offloads;
        int                     mode;
 };