Thread (26 messages) 26 messages, 3 authors, 2015-05-22

Re: [PATCH v4 net-next 09/11] net: Add IPv6 flow label to flow_keys

From: Jiri Pirko <jiri@resnulli.us>
Date: 2015-05-22 15:22:35

Fri, May 22, 2015 at 05:14:21PM CEST, tom@herbertland.com wrote:
On Fri, May 22, 2015 at 1:14 AM, Jiri Pirko [off-list ref] wrote:
quoted
Fri, May 22, 2015 at 02:11:44AM CEST, tom@herbertland.com wrote:
quoted
In flow_dissector set the flow label in flow_keys for IPv6. This also
removes the shortcircuiting of flow dissection when a non-zero label
is present, the flow label can be considered to provide additional
entropy for a hash.

Signed-off-by: Tom Herbert <redacted>
---
include/net/flow_dissector.h |  4 +++-
net/core/flow_dissector.c    | 37 +++++++++++++------------------------
2 files changed, 16 insertions(+), 25 deletions(-)
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
index 08480fb..effe607 100644
--- a/include/net/flow_dissector.h
+++ b/include/net/flow_dissector.h
@@ -28,7 +28,8 @@ struct flow_dissector_key_basic {
};

struct flow_dissector_key_tags {
-      u32     vlan_id:12;
+      u32     vlan_id:12,
+              flow_label:20;
};

/**
@@ -111,6 +112,7 @@ enum flow_dissector_key_id {
      FLOW_DISSECTOR_KEY_ETH_ADDRS, /* struct flow_dissector_key_eth_addrs */
      FLOW_DISSECTOR_KEY_TIPC_ADDRS, /* struct flow_dissector_key_tipc_addrs */
      FLOW_DISSECTOR_KEY_VLANID, /* struct flow_dissector_key_flow_tags */
+      FLOW_DISSECTOR_KEY_FLOW_LABEL, /* struct flow_dissector_key_flow_label */

I think it makes sense to pair FLOW_DISSECTOR_KEY_* with
struct flow_dissector_key_*

How about to have FLOW_DISSECTOR_KEY_TAGS istead of VLANID and FLOW_LABEL?
I thought about that, but it doesn't really save anything to be less
explicit as we still need a conditional at each occurrence. If someone
is only looking for IPv6 flow label and nothing else they are able to
do that.
So have 2 structs then.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help