summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-09-05 11:40:08 -0700
committerDavid S. Miller <davem@davemloft.net>2017-09-05 11:40:08 -0700
commitc4492d8ade52861392e5f5b7615d7d6b335b1a7b (patch)
tree47563e759a4e046e163078c1898949814416c1cf /include
parent2c08ab3f2504bc7ba816ce6fde051b8bd5f028e4 (diff)
parent1eed4dfb81b193af3299edeed2827337f9999e78 (diff)
downloadlinux-c4492d8ade52861392e5f5b7615d7d6b335b1a7b.tar.gz
linux-c4492d8ade52861392e5f5b7615d7d6b335b1a7b.tar.bz2
linux-c4492d8ade52861392e5f5b7615d7d6b335b1a7b.zip
Merge branch 'flow_dissector-fixes'
Tom Herbert says: ==================== flow_dissector: Flow dissector fixes This patch set fixes some basic issues with __skb_flow_dissect function. Items addressed: - Cleanup control flow in the function; in particular eliminate a bunch of goto's and implement a simplified control flow model - Add limits for number of encapsulations and headers that can be dissected v2: - Simplify the logic for limits on flow dissection. Just set the limit based on the number of headers the flow dissector can processes. The accounted headers includes encapsulation headers, extension headers, or other shim headers. Tested: Ran normal traffic, GUE, and VXLAN traffic. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/flow_dissector.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
index e2663e900b0a..fc3dce730a6b 100644
--- a/include/net/flow_dissector.h
+++ b/include/net/flow_dissector.h
@@ -19,6 +19,14 @@ struct flow_dissector_key_control {
#define FLOW_DIS_FIRST_FRAG BIT(1)
#define FLOW_DIS_ENCAPSULATION BIT(2)
+enum flow_dissect_ret {
+ FLOW_DISSECT_RET_OUT_GOOD,
+ FLOW_DISSECT_RET_OUT_BAD,
+ FLOW_DISSECT_RET_PROTO_AGAIN,
+ FLOW_DISSECT_RET_IPPROTO_AGAIN,
+ FLOW_DISSECT_RET_CONTINUE,
+};
+
/**
* struct flow_dissector_key_basic:
* @thoff: Transport header offset