On Mon, Sep 15, 2014 at 02:25:14PM +1200, Joe Stringer wrote: > One of the limiting factors on the number of flows that can be supported > in the datapath is the overhead of assembling flow dump messages in the > datapath. This patch adds a new alternative to dumping the key, mask and > actions from the datapath, which is a 128-bit unique identifier for the > flow. For each flow dump, the dpif user specifies whether to skip these > attributes, allowing the common case to only dump a pair of 128-bit ID and > flow stats. This increases the number of flows that a revalidator can > handle per second by up to 40% with the linux datapath. > > The unique identifiers ("UID") for a flow are generated by the dpif. > During upcall processing, the dpif will provide a UID for each flow > which is based on the original flow key. During flow dump, if the > datapath provides the UID, then the dpif will pass it up transparently. > Otherwise, the dpif will generate the UID. This simplifies backward > compatibility handling in ofproto-dpif-upcall. > > Signed-off-by: Joe Stringer <joestrin...@nicira.com>
I don't understand what's going on with the datapath interface. The comment on ovs_flow_attr refers to OVS_DP_F_INDEX_BY_UID but there is no other reference to this in the patch. The comment on OVS_FLOW_ATTR_UID says that it is 64 bits, but the commit message says 128: + OVS_FLOW_ATTR_UID, /* 64-bit Unique flow identifier. */ Actually I think that the comment on that should be more like: OVS_FLOW_ATTR_UID, /* Sequence of OVS_UID_ATTR_* attributes. */ but I'm not really sure. Similar typo on OVS_UID_ATTR_ID: + OVS_UID_ATTR_ID, /* u64 unique flow identifier. */ If you explain this stuff then I'll continue to review the patch. Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev