]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/mlx4/en_main.c
mlx4_en: UDP RSS support
[mv-sheeva.git] / drivers / net / mlx4 / en_main.c
index cacac4e966eebf0851b1f4a21e881e62608578bc..14390641704881ffb71ded6fd2d19118be07a4d6 100644 (file)
@@ -63,11 +63,12 @@ static const char mlx4_en_version[] =
  */
 
 
-/* Use a XOR rathern than Toeplitz hash function for RSS */
-MLX4_EN_PARM_INT(rss_xor, 0, "Use XOR hash function for RSS");
-
-/* RSS hash type mask - default to <saddr, daddr, sport, dport> */
-MLX4_EN_PARM_INT(rss_mask, 0xf, "RSS hash type bitmask");
+/* Enable RSS TCP traffic */
+MLX4_EN_PARM_INT(tcp_rss, 1,
+                "Enable RSS for incomming TCP traffic or disabled (0)");
+/* Enable RSS UDP traffic */
+MLX4_EN_PARM_INT(udp_rss, 1,
+                "Enable RSS for incomming UDP traffic or disabled (0)");
 
 /* Priority pausing */
 MLX4_EN_PARM_INT(pfctx, 0, "Priority based Flow Control policy on TX[7:0]."
@@ -103,8 +104,12 @@ static int mlx4_en_get_profile(struct mlx4_en_dev *mdev)
        struct mlx4_en_profile *params = &mdev->profile;
        int i;
 
-       params->rss_xor = (rss_xor != 0);
-       params->rss_mask = rss_mask & 0x1f;
+       params->tcp_rss = tcp_rss;
+       params->udp_rss = udp_rss;
+       if (params->udp_rss && !mdev->dev->caps.udp_rss) {
+               mlx4_warn(mdev, "UDP RSS is not supported on this device.\n");
+               params->udp_rss = 0;
+       }
        for (i = 1; i <= MLX4_MAX_PORTS; i++) {
                params->prof[i].rx_pause = 1;
                params->prof[i].rx_ppp = pfcrx;