Commit 8ce43dce authored by Jacob Keller's avatar Jacob Keller Committed by Jeff Kirsher

i40e: don't use arrays for (src|dst)_ip

The code originally included src_ip and dst_ip with enough space to
support ipv6 filters. However, no actual support for ipv6 filters has
been implemented. Thus, remove the arrays and just use __be32 values.
Should ipv6 support be added in the future, we can replace these with
a union that has sizes for both values.

Change-Id: I1bc04032244a80eb6ebc8a4e6c723a4a665c1dd5
Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent fe0b0cd9
...@@ -208,8 +208,8 @@ struct i40e_fdir_filter { ...@@ -208,8 +208,8 @@ struct i40e_fdir_filter {
u8 flow_type; u8 flow_type;
u8 ip4_proto; u8 ip4_proto;
/* TX packet view of src and dst */ /* TX packet view of src and dst */
__be32 dst_ip[4]; __be32 dst_ip;
__be32 src_ip[4]; __be32 src_ip;
__be16 src_port; __be16 src_port;
__be16 dst_port; __be16 dst_port;
__be32 sctp_v_tag; __be32 sctp_v_tag;
......
...@@ -2406,8 +2406,8 @@ static int i40e_get_ethtool_fdir_entry(struct i40e_pf *pf, ...@@ -2406,8 +2406,8 @@ static int i40e_get_ethtool_fdir_entry(struct i40e_pf *pf,
*/ */
fsp->h_u.tcp_ip4_spec.psrc = rule->dst_port; fsp->h_u.tcp_ip4_spec.psrc = rule->dst_port;
fsp->h_u.tcp_ip4_spec.pdst = rule->src_port; fsp->h_u.tcp_ip4_spec.pdst = rule->src_port;
fsp->h_u.tcp_ip4_spec.ip4src = rule->dst_ip[0]; fsp->h_u.tcp_ip4_spec.ip4src = rule->dst_ip;
fsp->h_u.tcp_ip4_spec.ip4dst = rule->src_ip[0]; fsp->h_u.tcp_ip4_spec.ip4dst = rule->src_ip;
if (rule->dest_ctl == I40E_FILTER_PROGRAM_DESC_DEST_DROP_PACKET) if (rule->dest_ctl == I40E_FILTER_PROGRAM_DESC_DEST_DROP_PACKET)
fsp->ring_cookie = RX_CLS_FLOW_DISC; fsp->ring_cookie = RX_CLS_FLOW_DISC;
...@@ -2630,8 +2630,8 @@ static int i40e_set_rss_hash_opt(struct i40e_pf *pf, struct ethtool_rxnfc *nfc) ...@@ -2630,8 +2630,8 @@ static int i40e_set_rss_hash_opt(struct i40e_pf *pf, struct ethtool_rxnfc *nfc)
static bool i40e_match_fdir_input_set(struct i40e_fdir_filter *rule, static bool i40e_match_fdir_input_set(struct i40e_fdir_filter *rule,
struct i40e_fdir_filter *input) struct i40e_fdir_filter *input)
{ {
if ((rule->dst_ip[0] != input->dst_ip[0]) || if ((rule->dst_ip != input->dst_ip) ||
(rule->src_ip[0] != input->src_ip[0]) || (rule->src_ip != input->src_ip) ||
(rule->dst_port != input->dst_port) || (rule->dst_port != input->dst_port) ||
(rule->src_port != input->src_port)) (rule->src_port != input->src_port))
return false; return false;
...@@ -2807,8 +2807,8 @@ static int i40e_add_fdir_ethtool(struct i40e_vsi *vsi, ...@@ -2807,8 +2807,8 @@ static int i40e_add_fdir_ethtool(struct i40e_vsi *vsi,
*/ */
input->dst_port = fsp->h_u.tcp_ip4_spec.psrc; input->dst_port = fsp->h_u.tcp_ip4_spec.psrc;
input->src_port = fsp->h_u.tcp_ip4_spec.pdst; input->src_port = fsp->h_u.tcp_ip4_spec.pdst;
input->dst_ip[0] = fsp->h_u.tcp_ip4_spec.ip4src; input->dst_ip = fsp->h_u.tcp_ip4_spec.ip4src;
input->src_ip[0] = fsp->h_u.tcp_ip4_spec.ip4dst; input->src_ip = fsp->h_u.tcp_ip4_spec.ip4dst;
if (ntohl(fsp->m_ext.data[1])) { if (ntohl(fsp->m_ext.data[1])) {
vf_id = ntohl(fsp->h_ext.data[1]); vf_id = ntohl(fsp->h_ext.data[1]);
......
...@@ -219,9 +219,9 @@ static int i40e_add_del_fdir_udpv4(struct i40e_vsi *vsi, ...@@ -219,9 +219,9 @@ static int i40e_add_del_fdir_udpv4(struct i40e_vsi *vsi,
udp = (struct udphdr *)(raw_packet + IP_HEADER_OFFSET udp = (struct udphdr *)(raw_packet + IP_HEADER_OFFSET
+ sizeof(struct iphdr)); + sizeof(struct iphdr));
ip->daddr = fd_data->dst_ip[0]; ip->daddr = fd_data->dst_ip;
udp->dest = fd_data->dst_port; udp->dest = fd_data->dst_port;
ip->saddr = fd_data->src_ip[0]; ip->saddr = fd_data->src_ip;
udp->source = fd_data->src_port; udp->source = fd_data->src_port;
fd_data->pctype = I40E_FILTER_PCTYPE_NONF_IPV4_UDP; fd_data->pctype = I40E_FILTER_PCTYPE_NONF_IPV4_UDP;
...@@ -281,9 +281,9 @@ static int i40e_add_del_fdir_tcpv4(struct i40e_vsi *vsi, ...@@ -281,9 +281,9 @@ static int i40e_add_del_fdir_tcpv4(struct i40e_vsi *vsi,
tcp = (struct tcphdr *)(raw_packet + IP_HEADER_OFFSET tcp = (struct tcphdr *)(raw_packet + IP_HEADER_OFFSET
+ sizeof(struct iphdr)); + sizeof(struct iphdr));
ip->daddr = fd_data->dst_ip[0]; ip->daddr = fd_data->dst_ip;
tcp->dest = fd_data->dst_port; tcp->dest = fd_data->dst_port;
ip->saddr = fd_data->src_ip[0]; ip->saddr = fd_data->src_ip;
tcp->source = fd_data->src_port; tcp->source = fd_data->src_port;
if (add) { if (add) {
...@@ -359,8 +359,8 @@ static int i40e_add_del_fdir_ipv4(struct i40e_vsi *vsi, ...@@ -359,8 +359,8 @@ static int i40e_add_del_fdir_ipv4(struct i40e_vsi *vsi,
memcpy(raw_packet, packet, I40E_IP_DUMMY_PACKET_LEN); memcpy(raw_packet, packet, I40E_IP_DUMMY_PACKET_LEN);
ip = (struct iphdr *)(raw_packet + IP_HEADER_OFFSET); ip = (struct iphdr *)(raw_packet + IP_HEADER_OFFSET);
ip->saddr = fd_data->src_ip[0]; ip->saddr = fd_data->src_ip;
ip->daddr = fd_data->dst_ip[0]; ip->daddr = fd_data->dst_ip;
ip->protocol = 0; ip->protocol = 0;
fd_data->pctype = i; fd_data->pctype = i;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment