ovs_mutex_lock(&dp->port_mutex);
}
+ /* The action processing expects the RSS hash to be valid, because
+ * it's always initialized at the beginning of datapath processing.
+ * In this case, though, 'execute->packet' may not have gone through
+ * the datapath at all, it may have been generated by the upper layer
+ * (OpenFlow packet-out, BFD frame, ...). */
+ if (!dp_packet_rss_valid(execute->packet)) {
+ dp_packet_set_rss_hash(execute->packet,
+ flow_hash_5tuple(execute->flow, 0));
+ }
+
packet_batch_init_packet(&pp, execute->packet);
dp_netdev_execute_actions(pmd, &pp, false, execute->actions,
execute->actions_len);
+
if (pmd->core_id == NON_PMD_CORE_ID) {
dp_netdev_pmd_unref(pmd);
ovs_mutex_unlock(&dp->port_mutex);