ethdev: fix build with libc ip6 header
authorMark Kavanagh <mark.b.kavanagh@intel.com>
Tue, 9 Dec 2014 17:32:08 +0000 (17:32 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 11 Dec 2014 00:42:02 +0000 (01:42 +0100)
The name of the rte_eth_fdir_flow's rte_eth_ipv6_flow attribute,
'ip6_flow', clashes with a macro defined in
/usr/include/netinet/ip6.h, such that when DPDK is linked with an
application that uses the afforementioned header, the macro is
expanded within the DPDK struct, causing a compilation error.

Rename the relevant attribute in DPDK to resolve this.

Signed-off-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
app/test-pmd/cmdline.c
lib/librte_ether/rte_eth_ctrl.h
lib/librte_pmd_i40e/i40e_fdir.c

index f79ea3e..882a5a2 100644 (file)
@@ -8261,9 +8261,9 @@ cmd_flow_director_filter_parsed(void *parsed_result,
        case RTE_ETH_FLOW_TYPE_UDPV6:
        case RTE_ETH_FLOW_TYPE_TCPV6:
                IPV6_ADDR_TO_ARRAY(res->ip_dst,
-                       entry.input.flow.ip6_flow.dst_ip);
+                       entry.input.flow.ipv6_flow.dst_ip);
                IPV6_ADDR_TO_ARRAY(res->ip_src,
-                       entry.input.flow.ip6_flow.src_ip);
+                       entry.input.flow.ipv6_flow.src_ip);
                /* need convert to big endian. */
                entry.input.flow.udp6_flow.dst_port =
                                rte_cpu_to_be_16(res->port_dst);
index 7088d8d..5d9c387 100644 (file)
@@ -275,7 +275,7 @@ union rte_eth_fdir_flow {
        struct rte_eth_udpv6_flow  udp6_flow;
        struct rte_eth_tcpv6_flow  tcp6_flow;
        struct rte_eth_sctpv6_flow sctp6_flow;
-       struct rte_eth_ipv6_flow   ip6_flow;
+       struct rte_eth_ipv6_flow   ipv6_flow;
 };
 
 /**
index ad38803..68511c8 100644 (file)
@@ -749,10 +749,10 @@ i40e_fdir_fill_eth_ip_head(const struct rte_eth_fdir_input *fdir_input,
                 * to the expected received packets.
                 */
                rte_memcpy(&(ip6->src_addr),
-                          &(fdir_input->flow.ip6_flow.dst_ip),
+                          &(fdir_input->flow.ipv6_flow.dst_ip),
                           IPV6_ADDR_LEN);
                rte_memcpy(&(ip6->dst_addr),
-                          &(fdir_input->flow.ip6_flow.src_ip),
+                          &(fdir_input->flow.ipv6_flow.src_ip),
                           IPV6_ADDR_LEN);
                ip6->proto = next_proto[fdir_input->flow_type];
                break;