Re: [PATCH net-next v12 5/5] openvswitch: Add support for unique flow IDs.
From: Joe Stringer <hidden>
Date: 2015-01-16 20:53:55
Also in:
lkml
On 16 January 2015 at 00:07, Pravin Shelar [off-list ref] wrote:
quoted
@@ -213,13 +223,15 @@ struct flow_stats { struct sw_flow { struct rcu_head rcu; - struct hlist_node hash_node[2]; - u32 hash; + struct { + struct hlist_node node[2]; + u32 hash; + } flow_table, ufid_table; int stats_last_writer; /* NUMA-node id of the last writer on * 'stats[0]'. */ struct sw_flow_key key; - struct sw_flow_key unmasked_key; + struct sw_flow_id *id; struct sw_flow_mask *mask; struct sw_flow_actions __rcu *sf_acts; struct flow_stats __rcu *stats[]; /* One for each NUMA node. First one@@ -243,6 +255,16 @@ struct arp_eth_header { unsigned char ar_tip[4]; /* target IP address */ } __packed;In last round we agreed on following struct flow-id which saves around four hundred bytes per flow and kmalloc per flow add operation for common case. Is there any reason for not doing it? struct { u32 ufid_len; union { u32 ufid[MAX_UFID_LENGTH / 4]; struct sw_flow_key *unmasked_key; } } id;
Ah, I thought I had addressed this before the holidays but it's clearly not we had discussed. Thanks for bringing this up, I'll make this change and repost. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev