]> Pileus Git - ~andy/linux/blobdiff - include/linux/mlx4/qp.h
net/mlx4: move RSS related definitions to be global
[~andy/linux] / include / linux / mlx4 / qp.h
index 48cc4cb9785856b5469e322250672b3e9a1a2449..6562ff6aa9d69f9e92ed1b339cbff25f7b874c98 100644 (file)
@@ -97,6 +97,33 @@ enum {
        MLX4_QP_BIT_RIC                         = 1 <<  4,
 };
 
+enum {
+       MLX4_RSS_HASH_XOR                       = 0,
+       MLX4_RSS_HASH_TOP                       = 1,
+
+       MLX4_RSS_UDP_IPV6                       = 1 << 0,
+       MLX4_RSS_UDP_IPV4                       = 1 << 1,
+       MLX4_RSS_TCP_IPV6                       = 1 << 2,
+       MLX4_RSS_IPV6                           = 1 << 3,
+       MLX4_RSS_TCP_IPV4                       = 1 << 4,
+       MLX4_RSS_IPV4                           = 1 << 5,
+
+       /* offset of mlx4_rss_context within mlx4_qp_context.pri_path */
+       MLX4_RSS_OFFSET_IN_QPC_PRI_PATH         = 0x24,
+       /* offset of being RSS indirection QP within mlx4_qp_context.flags */
+       MLX4_RSS_QPC_FLAG_OFFSET                = 13,
+};
+
+struct mlx4_rss_context {
+       __be32                  base_qpn;
+       __be32                  default_qpn;
+       u16                     reserved;
+       u8                      hash_fn;
+       u8                      flags;
+       __be32                  rss_key[10];
+       __be32                  base_qpn_udp;
+};
+
 struct mlx4_qp_path {
        u8                      fl;
        u8                      reserved1[2];