Lines Matching defs:flow
4137 * to correlate ICMP error packets within the same flow which
4159 static u32 bond_ip_hash(u32 hash, struct flow_keys *flow, int xmit_policy)
4161 hash ^= (__force u32)flow_get_u32_dst(flow) ^
4162 (__force u32)flow_get_u32_src(flow);
4181 struct flow_keys flow;
4188 !bond_flow_dissect(bond, skb, data, l2_proto, nhoff, hlen, &flow))
4195 if (flow.icmp.id)
4196 memcpy(&hash, &flow.icmp, sizeof(hash));
4198 memcpy(&hash, &flow.ports.ports, sizeof(hash));
4201 return bond_ip_hash(hash, &flow, bond->params.xmit_policy);
5326 static void bond_sk_to_flow(struct sock *sk, struct flow_keys *flow)
5333 flow->control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS;
5334 flow->addrs.v6addrs.src = inet6_sk(sk)->saddr;
5335 flow->addrs.v6addrs.dst = sk->sk_v6_daddr;
5341 flow->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS;
5342 flow->addrs.v4addrs.src = inet_sk(sk)->inet_rcv_saddr;
5343 flow->addrs.v4addrs.dst = inet_sk(sk)->inet_daddr;
5347 flow->ports.src = inet_sk(sk)->inet_sport;
5348 flow->ports.dst = inet_sk(sk)->inet_dport;
5361 struct flow_keys flow;
5364 bond_sk_to_flow(sk, &flow);
5367 memcpy(&hash, &flow.ports.ports, sizeof(hash));
5369 return bond_ip_hash(hash, &flow, BOND_XMIT_POLICY_LAYER34);