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

Commit 59346afe authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

flow_dissector: change port array into src, dst tuple

parent 67a900cc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -35,8 +35,8 @@ int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq)
	data.type = FILTER_IPV4_5TUPLE;
	data.u.ipv4.src_addr = ntohl(keys->addrs.src);
	data.u.ipv4.dst_addr = ntohl(keys->addrs.dst);
	data.u.ipv4.src_port = ntohs(keys->ports.port16[0]);
	data.u.ipv4.dst_port = ntohs(keys->ports.port16[1]);
	data.u.ipv4.src_port = ntohs(keys->ports.src);
	data.u.ipv4.dst_port = ntohs(keys->ports.dst);
	data.u.ipv4.flags = FILTER_FIELDS_IPV4_5TUPLE;

	spin_lock_bh(&enic->devcmd_lock);
+2 −2
Original line number Diff line number Diff line
@@ -352,10 +352,10 @@ static int enic_grxclsrule(struct enic *enic, struct ethtool_rxnfc *cmd)
	fsp->h_u.tcp_ip4_spec.ip4dst = n->keys.addrs.dst;
	fsp->m_u.tcp_ip4_spec.ip4dst = (__u32)~0;

	fsp->h_u.tcp_ip4_spec.psrc = n->keys.ports.port16[0];
	fsp->h_u.tcp_ip4_spec.psrc = n->keys.ports.src;
	fsp->m_u.tcp_ip4_spec.psrc = (__u16)~0;

	fsp->h_u.tcp_ip4_spec.pdst = n->keys.ports.port16[1];
	fsp->h_u.tcp_ip4_spec.pdst = n->keys.ports.dst;
	fsp->m_u.tcp_ip4_spec.pdst = (__u16)~0;

	fsp->ring_cookie = n->rq_id;
+6 −3
Original line number Diff line number Diff line
@@ -34,13 +34,16 @@ struct flow_dissector_key_addrs {
/**
 * flow_dissector_key_tp_ports:
 *	@ports: port numbers of Transport header
 *		port16[0]: src port number
 *		port16[1]: dst port number
 *		src: source port number
 *		dst: destination port number
 */
struct flow_dissector_key_ports {
	union {
		__be32 ports;
		__be16 port16[2];
		struct {
			__be16 src;
			__be16 dst;
		};
	};
};

+2 −2
Original line number Diff line number Diff line
@@ -362,8 +362,8 @@ static inline void inet_set_txhash(struct sock *sk)

	keys.addrs.src = inet->inet_saddr;
	keys.addrs.dst = inet->inet_daddr;
	keys.ports.port16[0] = inet->inet_sport;
	keys.ports.port16[1] = inet->inet_dport;
	keys.ports.src = inet->inet_sport;
	keys.ports.dst = inet->inet_dport;

	sk->sk_txhash = flow_hash_from_keys(&keys);
}
+2 −2
Original line number Diff line number Diff line
@@ -700,8 +700,8 @@ static inline void ip6_set_txhash(struct sock *sk)

	keys.addrs.src = (__force __be32)ipv6_addr_hash(&np->saddr);
	keys.addrs.dst = (__force __be32)ipv6_addr_hash(&sk->sk_v6_daddr);
	keys.ports.port16[0] = inet->inet_sport;
	keys.ports.port16[1] = inet->inet_dport;
	keys.ports.src = inet->inet_sport;
	keys.ports.dst = inet->inet_dport;

	sk->sk_txhash = flow_hash_from_keys(&keys);
}
Loading