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: 06635a35d1
("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>
This commit is contained in:
parent
bd5850d39f
commit
12c227ec89
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue