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: Tom Herbert <hidden>
Date: 2015-05-22 15:14:21

On Fri, May 22, 2015 at 1:14 AM, Jiri Pirko [off-list ref] wrote:
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help