net/sfc: do not use RSS context if it is not required
authorAndrew Rybchenko <arybchenko@solarflare.com>
Thu, 26 Apr 2018 16:48:57 +0000 (17:48 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 27 Apr 2018 17:00:57 +0000 (18:00 +0100)
RSS action with only one destination queue and no specific settings
for hash types and key does not require dedicated RSS context and
may be simplified to QUEUE action.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Roman Zhukov <roman.zhukov@oktetlabs.ru>
drivers/net/sfc/sfc_flow.c

index 41b5987..b7e54d7 100644 (file)
@@ -1295,6 +1295,17 @@ sfc_flow_parse_rss(struct sfc_adapter *sa,
        if (action_rss->level)
                return -EINVAL;
 
+       /*
+        * Dummy RSS action with only one queue and no specific settings
+        * for hash types and key does not require dedicated RSS context
+        * and may be simplified to single queue action.
+        */
+       if (action_rss->queue_num == 1 && action_rss->types == 0 &&
+           action_rss->key_len == 0) {
+               flow->spec.template.efs_dmaq_id = rxq_hw_index_min;
+               return 0;
+       }
+
        if (action_rss->types) {
                int rc;