title: Is it possible to configure dpdk RSS so that requests sent from a particular tx queue will have their responses returned on a specific rx queue?
body: <p>I am attempting to use dpdk with multiple <code>rx</code> and <code>tx</code> queues on a single physical port. The goal is to have each thread send Rpcs (with some identfier inside the packet) on its own <code>tx</code> port, and receive the responses on its own <code>rx</code> queue.</p>
  
  <p>However, in order to have the responses return to the correct queue, I need to configure <code>rss</code> to direct the response packets based on some identifier in the request.</p>
  
  <p>Logically, I'd want to stamp my request packets with the queue id of the tx queue they're being sent over, and the server side of the rpc would stamp the responses with the same queue id; the goal would be for the hardware to read the stamp and direct the response packet to the correct hardware queue.</p>
  
  <p>Based on the <a href="http://dpdk.org/doc/api/structrte__eth__rss__conf.html" rel="nofollow noreferrer">dpdk documentation</a>, it seems that I can only specify a hash key rather than an arbitrary function to decide which <code>rx</code> queue an incoming messages will arrive in. Unfortunately, I cannot seem to find the source code or documentation demonstrating how this hash key is used (which may be because it is in hardware), so I cannot arrange my packets accordingly.</p>
  
  <p>Is there some way to use the hash key to get the effect of matching requests and responses?</p>
  
  <p>Alternatively, is there some way to have dpdk run an arbitrary function to determine the correct destination queue for an incoming packet?</p>