Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12c227ec authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

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: 06635a35 ("flow_dissect: use programable dissector in skb_flow_dissect and friends")
Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent bd5850d3
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -221,13 +221,13 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
			key_basic->ip_proto = ip_proto;
			key_basic->thoff = (u16)nhoff;

			if (!skb_flow_dissector_uses_key(flow_dissector,
							 FLOW_DISSECTOR_KEY_PORTS))
				break;
			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;
		}