<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 25 March 2014 14:58, Andy Zhou <span dir="ltr">&lt;<a href="mailto:azhou@nicira.com" target="_blank">azhou@nicira.com</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


     /* Metadata. */<br>
+    if (present_attrs &amp; (UINT64_C(1) &lt;&lt; OVS_KEY_ATTR_RECIRC_ID)) {<br>
+        flow-&gt;recirc_id = nl_attr_get_u32(attrs[OVS_KEY_ATTR_RECIRC_ID]);<br>
+        expected_attrs |= UINT64_C(1) &lt;&lt; OVS_KEY_ATTR_RECIRC_ID;<br>
+    } else if (is_mask) {<br>
+        /* Always exact match recirc_id when datapath does not sepcify it. */<br>
+        flow-&gt;recirc_id = UINT32_MAX;<br>
+    }<br>
+<br>
+    if (present_attrs &amp; (UINT64_C(1) &lt;&lt; OVS_KEY_ATTR_DP_HASH)) {<br>
+        flow-&gt;dp_hash = nl_attr_get_u32(attrs[OVS_KEY_ATTR_DP_HASH]);<br>
+        expected_attrs |= UINT64_C(1) &lt;&lt; OVS_KEY_ATTR_DP_HASH;<br>
+    }<br>
     if (present_attrs &amp; (UINT64_C(1) &lt;&lt; OVS_KEY_ATTR_PRIORITY)) {<br>
         flow-&gt;skb_priority = nl_attr_get_u32(attrs[OVS_KEY_ATTR_PRIORITY]);<br>
         expected_attrs |= UINT64_C(1) &lt;&lt; OVS_KEY_ATTR_PRIORITY;<br></blockquote><div><br></div><div>What&#39;s the reasoning behind the &quot;else if (is_mask)&quot; case for recirc_id, and why does this not apply to dp_hash? </div>

</div></div></div>