aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/flow_dissector.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2015-05-22 11:05:58 +0200
committerDavid S. Miller <davem@davemloft.net>2015-05-22 13:59:02 -0400
commit12c227ec89a70c14e3efcf102c5babece381e172 (patch)
tree70747dc47795325f195eade171cd4098412c931e /net/core/flow_dissector.c
parentnet: sched: pkt_cls: remove unused macros from uapi (diff)
downloadlinux-dev-12c227ec89a70c14e3efcf102c5babece381e172.tar.xz
linux-dev-12c227ec89a70c14e3efcf102c5babece381e172.zip
flow_dissector: do not break if ports are not needed in flowlabel
This restored previous behaviour. If caller does not want ports to be filled, we should not break. Fixes: 06635a35d13d ("flow_dissect: use programable dissector in skb_flow_dissect and friends") Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/flow_dissector.c')
-rw-r--r--net/core/flow_dissector.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index 703d05916a80..1f2d89300b1a 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -221,13 +221,13 @@ flow_label:
key_basic->ip_proto = ip_proto;
key_basic->thoff = (u16)nhoff;
- if (!skb_flow_dissector_uses_key(flow_dissector,
- FLOW_DISSECTOR_KEY_PORTS))
- break;
- key_ports = skb_flow_dissector_target(flow_dissector,
- FLOW_DISSECTOR_KEY_PORTS,
- target_container);
- key_ports->ports = flow_label;
+ if (skb_flow_dissector_uses_key(flow_dissector,
+ FLOW_DISSECTOR_KEY_PORTS)) {
+ key_ports = skb_flow_dissector_target(flow_dissector,
+ FLOW_DISSECTOR_KEY_PORTS,
+ target_container);
+ key_ports->ports = flow_label;
+ }
return true;
}