Hi Ben, Thanks for the quick response.
I am not sure whether the flow matches. But a few observations. 1. There are two flows seen in ofctl dump-flows output before the traffic starts. First one is a default rule with action as "NORMAL" (hub mode ?). Second one is the new flow which I added with ofctl (output is port 2). There is no flow in dpctl output at this stage. 2. When traffic is started, dpctl output shows only one entry with action 2,3. (traffic is entering via port 1). I can see the new field also in the dpctl output with mask as zero. As per my understanding, this is an evidence that the flow is matched in ovs-vswitchd. But why is the mask value zero and also why is the action set as 2,3 instead of 2 alone ? The packet counters in dpctl and the counters on the added flow in ofctl match. So statistics part seems to be fine. 3. I added one more flow with a different value for the new field using ofctl. Started traffic with both the previous value and new value simultaneously. I still observe that there is only one flow in dpctl output with the earlier entry. kernel is not able to distinguish the flows and the counters are incremented on the existing flow. There is no new flow seen in dpctl output. 4. Suppose the switch has only the "NORMAL" rule. I started the traffic. The hub mode rule is seen in dpctl. Then a flow is added with the new field using ofctl. Observed that the dpctl output is updated with the new field value and the mask still is zero. No change in the actions part. I put debug logs just after xlate_actions in the hadle_upcalls function. The mask value for other fields are printed along with the new field. Mask is as expected for other fields except the new field. I suspect the miniflow part. What are the changes required in miniflow when a new field is introduced in flow ? Expecting your inputs. Regards Jimson On 8/3/15, Ben Pfaff <[email protected]> wrote: > On Mon, Aug 03, 2015 at 02:29:23PM +0530, jimson chacko wrote: >> Hi, >> >> I am using version 2.3.0 of OVS. >> >> I have added a new filed (eg; gtp tunnel id) and changed FLOW_WC_SEQ. >> Compiled the code. All the errors given by the compiler were fixed. >> >> I added a flow with ofctl add-flow command and retrieved the same using >> ofctl dump-flows. Output shows both value and mask as in the input. >> >> When I sent traffic to the vswitch, the kernel module throws the >> exception >> packet with the NL Key filled in properly with the new attribute along >> with >> other attributes present in the packet. >> >> xlate_actions should identify the flow in the flow table and should give >> me >> the proper mask value for the new field in xout. But the mask value is >> coming as zero. >> >> >> Can you let me know what the issue could be ? Is there any issue with the >> minimask etc ? > > It's hard to guess based on such a brief description, but: do your flows > match on the new field? If not, then translation would generate a mask > of 0. > _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
