net/ice/base: support RSS for GRE tunnel
[dpdk.git] / drivers / net / ice / base / ice_switch.c
index 5926635..2d8904d 100644 (file)
@@ -10,9 +10,9 @@
 #define ICE_ETH_ETHTYPE_OFFSET         12
 #define ICE_ETH_VLAN_TCI_OFFSET                14
 #define ICE_MAX_VLAN_ID                        0xFFF
+#define ICE_IPV6_ETHER_ID              0x86DD
 #define ICE_IPV4_NVGRE_PROTO_ID                0x002F
 #define ICE_PPP_IPV6_PROTO_ID          0x0057
-#define ICE_IPV6_ETHER_ID              0x86DD
 #define ICE_TCP_PROTO_ID               0x06
 #define ICE_GTPU_PROFILE               24
 #define ICE_ETH_P_8021Q                        0x8100
@@ -260,8 +260,8 @@ static const u8 dummy_udp_packet[] = {
 /* offset info for MAC + VLAN + IPv4 + UDP dummy packet */
 static const struct ice_dummy_pkt_offsets dummy_vlan_udp_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14 },
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_IPV4_OFOS,        18 },
        { ICE_UDP_ILOS,         38 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -273,9 +273,9 @@ static const u8 dummy_vlan_udp_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x08, 0x00, /* ICE_VLAN_OFOS 14 */
+       0x08, 0x00,             /* ICE_ETYPE_OL 16 */
 
        0x45, 0x00, 0x00, 0x1c, /* ICE_IPV4_OFOS 18 */
        0x00, 0x01, 0x00, 0x00,
@@ -343,8 +343,8 @@ static const u8 dummy_mpls_packet[] = {
 /* offset info for MAC + VLAN (C-tag, 802.1Q) + IPv4 + TCP dummy packet */
 static const struct ice_dummy_pkt_offsets dummy_vlan_tcp_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14 },
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_IPV4_OFOS,        18 },
        { ICE_TCP_IL,           38 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -356,9 +356,9 @@ static const u8 dummy_vlan_tcp_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x08, 0x00, /* ICE_VLAN_OFOS 14 */
+       0x08, 0x00,             /* ICE_ETYPE_OL 16 */
 
        0x45, 0x00, 0x00, 0x28, /* ICE_IPV4_OFOS 18 */
        0x00, 0x01, 0x00, 0x00,
@@ -414,8 +414,8 @@ static const u8 dummy_tcp_ipv6_packet[] = {
 static const struct ice_dummy_pkt_offsets
 dummy_vlan_tcp_ipv6_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14 },
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_IPV6_OFOS,        18 },
        { ICE_TCP_IL,           58 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -427,9 +427,9 @@ static const u8 dummy_vlan_tcp_ipv6_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x86, 0xDD, /* ICE_VLAN_OFOS 14 */
+       0x86, 0xDD,             /* ICE_ETYPE_OL 16 */
 
        0x60, 0x00, 0x00, 0x00, /* ICE_IPV6_OFOS 18 */
        0x00, 0x14, 0x06, 0x00, /* Next header is TCP */
@@ -492,8 +492,8 @@ static const u8 dummy_udp_ipv6_packet[] = {
 static const struct ice_dummy_pkt_offsets
 dummy_vlan_udp_ipv6_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14 },
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_IPV6_OFOS,        18 },
        { ICE_UDP_ILOS,         58 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -505,9 +505,9 @@ static const u8 dummy_vlan_udp_ipv6_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00,/* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x86, 0xDD, /* ICE_VLAN_OFOS 14 */
+       0x86, 0xDD,             /* ICE_ETYPE_OL 16 */
 
        0x60, 0x00, 0x00, 0x00, /* ICE_IPV6_OFOS 18 */
        0x00, 0x08, 0x11, 0x00, /* Next header UDP */
@@ -1192,16 +1192,16 @@ static const u8 dummy_ipv6_gtp_packet[] = {
 
 static const struct ice_dummy_pkt_offsets dummy_pppoe_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_PROTOCOL_LAST,    0 },
 };
 
 static const struct ice_dummy_pkt_offsets dummy_pppoe_packet_ipv4_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_IPV4_OFOS,        26 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -1212,9 +1212,9 @@ static const u8 dummy_pppoe_ipv4_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_OFOS 14 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 16 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 18 */
        0x00, 0x16,
@@ -1233,8 +1233,8 @@ static const u8 dummy_pppoe_ipv4_packet[] = {
 static const
 struct ice_dummy_pkt_offsets dummy_pppoe_ipv4_tcp_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_IPV4_OFOS,        26 },
        { ICE_TCP_IL,           46 },
@@ -1246,9 +1246,9 @@ static const u8 dummy_pppoe_ipv4_tcp_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_OFOS 14 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 16 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 18 */
        0x00, 0x16,
@@ -1273,8 +1273,8 @@ static const u8 dummy_pppoe_ipv4_tcp_packet[] = {
 static const
 struct ice_dummy_pkt_offsets dummy_pppoe_ipv4_udp_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_IPV4_OFOS,        26 },
        { ICE_UDP_ILOS,         46 },
@@ -1286,9 +1286,9 @@ static const u8 dummy_pppoe_ipv4_udp_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_OFOS 14 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 16 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 18 */
        0x00, 0x16,
@@ -1309,8 +1309,8 @@ static const u8 dummy_pppoe_ipv4_udp_packet[] = {
 
 static const struct ice_dummy_pkt_offsets dummy_pppoe_packet_ipv6_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_IPV6_OFOS,        26 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -1321,9 +1321,9 @@ static const u8 dummy_pppoe_ipv6_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_OFOS 14 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 16 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 18 */
        0x00, 0x2a,
@@ -1347,8 +1347,8 @@ static const u8 dummy_pppoe_ipv6_packet[] = {
 static const
 struct ice_dummy_pkt_offsets dummy_pppoe_packet_ipv6_tcp_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_IPV6_OFOS,        26 },
        { ICE_TCP_IL,           66 },
@@ -1360,9 +1360,9 @@ static const u8 dummy_pppoe_ipv6_tcp_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_OFOS 14 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 16 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 18 */
        0x00, 0x2a,
@@ -1392,8 +1392,8 @@ static const u8 dummy_pppoe_ipv6_tcp_packet[] = {
 static const
 struct ice_dummy_pkt_offsets dummy_pppoe_packet_ipv6_udp_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_OFOS,        14},
+       { ICE_VLAN_OFOS,        12 },
+       { ICE_ETYPE_OL,         16 },
        { ICE_PPPOE,            18 },
        { ICE_IPV6_OFOS,        26 },
        { ICE_UDP_ILOS,         66 },
@@ -1405,9 +1405,9 @@ static const u8 dummy_pppoe_ipv6_udp_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x81, 0x00,             /* ICE_ETYPE_OL 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_OFOS 12 */
 
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_OFOS 14 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 16 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 18 */
        0x00, 0x2a,
@@ -1658,9 +1658,9 @@ static const u8 dummy_ipv6_l2tpv3_pkt[] = {
 
 static const struct ice_dummy_pkt_offsets dummy_qinq_ipv4_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_EX,          14 },
-       { ICE_VLAN_IN,          18 },
+       { ICE_VLAN_EX,          12 },
+       { ICE_VLAN_IN,          16 },
+       { ICE_ETYPE_OL,         20 },
        { ICE_IPV4_OFOS,        22 },
        { ICE_PROTOCOL_LAST,    0 },
 };
@@ -1670,10 +1670,9 @@ static const u8 dummy_qinq_ipv4_pkt[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x91, 0x00,             /* ICE_ETYPE_OL 12 */
-
-       0x00, 0x00, 0x81, 0x00, /* ICE_VLAN_EX 14 */
-       0x00, 0x00, 0x08, 0x00, /* ICE_VLAN_IN 18 */
+       0x91, 0x00, 0x00, 0x00, /* ICE_VLAN_EX 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_IN 16 */
+       0x08, 0x00,             /* ICE_ETYPE_OL 20 */
 
        0x45, 0x00, 0x00, 0x1c, /* ICE_IPV4_OFOS 22 */
        0x00, 0x01, 0x00, 0x00,
@@ -1689,9 +1688,9 @@ static const u8 dummy_qinq_ipv4_pkt[] = {
 
 static const struct ice_dummy_pkt_offsets dummy_qinq_ipv6_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_EX,          14 },
-       { ICE_VLAN_IN,          18 },
+       { ICE_VLAN_EX,          12 },
+       { ICE_VLAN_IN,          16 },
+       { ICE_ETYPE_OL,         20 },
        { ICE_IPV6_OFOS,        22 },
        { ICE_PROTOCOL_LAST,    0 },
 };
@@ -1701,10 +1700,9 @@ static const u8 dummy_qinq_ipv6_pkt[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x91, 0x00,             /* ICE_ETYPE_OL 12 */
-
-       0x00, 0x00, 0x81, 0x00, /* ICE_VLAN_EX 14 */
-       0x00, 0x00, 0x86, 0xDD, /* ICE_VLAN_IN 18 */
+       0x91, 0x00, 0x00, 0x00, /* ICE_VLAN_EX 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_IN 16 */
+       0x86, 0xDD,             /* ICE_ETYPE_OL 20 */
 
        0x60, 0x00, 0x00, 0x00, /* ICE_IPV6_OFOS 22 */
        0x00, 0x10, 0x11, 0x00, /* Next header UDP */
@@ -1728,9 +1726,9 @@ static const u8 dummy_qinq_ipv6_pkt[] = {
 
 static const struct ice_dummy_pkt_offsets dummy_qinq_pppoe_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_EX,          14 },
-       { ICE_VLAN_IN,          18 },
+       { ICE_VLAN_EX,          12 },
+       { ICE_VLAN_IN,          16 },
+       { ICE_ETYPE_OL,         20 },
        { ICE_PPPOE,            22 },
        { ICE_PROTOCOL_LAST,    0 },
 };
@@ -1738,9 +1736,9 @@ static const struct ice_dummy_pkt_offsets dummy_qinq_pppoe_packet_offsets[] = {
 static const
 struct ice_dummy_pkt_offsets dummy_qinq_pppoe_ipv4_packet_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_EX,          14 },
-       { ICE_VLAN_IN,          18 },
+       { ICE_VLAN_EX,          12 },
+       { ICE_VLAN_IN,          16 },
+       { ICE_ETYPE_OL,         20 },
        { ICE_PPPOE,            22 },
        { ICE_IPV4_OFOS,        30 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -1751,10 +1749,9 @@ static const u8 dummy_qinq_pppoe_ipv4_pkt[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x91, 0x00,             /* ICE_ETYPE_OL 12 */
-
-       0x00, 0x00, 0x81, 0x00, /* ICE_VLAN_EX 14 */
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_IN 18 */
+       0x91, 0x00, 0x00, 0x00, /* ICE_VLAN_EX 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_IN 16 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 20 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 22 */
        0x00, 0x16,
@@ -1773,9 +1770,9 @@ static const u8 dummy_qinq_pppoe_ipv4_pkt[] = {
 static const
 struct ice_dummy_pkt_offsets dummy_qinq_pppoe_packet_ipv6_offsets[] = {
        { ICE_MAC_OFOS,         0 },
-       { ICE_ETYPE_OL,         12 },
-       { ICE_VLAN_EX,          14},
-       { ICE_VLAN_IN,          18 },
+       { ICE_VLAN_EX,          12 },
+       { ICE_VLAN_IN,          16 },
+       { ICE_ETYPE_OL,         20 },
        { ICE_PPPOE,            22 },
        { ICE_IPV6_OFOS,        30 },
        { ICE_PROTOCOL_LAST,    0 },
@@ -1786,10 +1783,9 @@ static const u8 dummy_qinq_pppoe_ipv6_packet[] = {
        0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00,
 
-       0x91, 0x00,             /* ICE_ETYPE_OL 12 */
-
-       0x00, 0x00, 0x81, 0x00, /* ICE_VLAN_EX 14 */
-       0x00, 0x00, 0x88, 0x64, /* ICE_VLAN_IN 18 */
+       0x91, 0x00, 0x00, 0x00, /* ICE_VLAN_EX 12 */
+       0x81, 0x00, 0x00, 0x00, /* ICE_VLAN_IN 16 */
+       0x88, 0x64,             /* ICE_ETYPE_OL 20 */
 
        0x11, 0x00, 0x00, 0x00, /* ICE_PPPOE 22 */
        0x00, 0x2a,
@@ -4734,7 +4730,7 @@ ice_add_mac_rule(struct ice_hw *hw, struct LIST_HEAD_TYPE *m_list,
                        if (ice_find_rule_entry(rule_head,
                                                &m_list_itr->fltr_info)) {
                                ice_release_lock(rule_lock);
-                               return ICE_ERR_ALREADY_EXISTS;
+                               continue;
                        }
                        ice_release_lock(rule_lock);
                        num_unicast++;
@@ -6575,7 +6571,7 @@ static const struct ice_prot_ext_tbl_entry ice_prot_ext[ICE_PROTOCOL_LAST] = {
        { ICE_MAC_OFOS,         { 0, 2, 4, 6, 8, 10, 12 } },
        { ICE_MAC_IL,           { 0, 2, 4, 6, 8, 10, 12 } },
        { ICE_ETYPE_OL,         { 0 } },
-       { ICE_VLAN_OFOS,        { 0, 2 } },
+       { ICE_VLAN_OFOS,        { 2, 0 } },
        { ICE_IPV4_OFOS,        { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 } },
        { ICE_IPV4_IL,          { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 } },
        { ICE_IPV6_OFOS,        { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
@@ -6598,8 +6594,8 @@ static const struct ice_prot_ext_tbl_entry ice_prot_ext[ICE_PROTOCOL_LAST] = {
        { ICE_AH,               { 0, 2, 4, 6, 8, 10 } },
        { ICE_NAT_T,            { 8, 10, 12, 14 } },
        { ICE_GTP_NO_PAY,       { 8, 10, 12, 14 } },
-       { ICE_VLAN_EX,          { 0, 2 } },
-       { ICE_VLAN_IN,          { 0, 2 } },
+       { ICE_VLAN_EX,          { 2, 0 } },
+       { ICE_VLAN_IN,          { 2, 0 } },
 };
 
 /* The following table describes preferred grouping of recipes.
@@ -7889,6 +7885,12 @@ ice_find_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
                        ipv6 = true;
                else if (lkups[i].type == ICE_VLAN_OFOS)
                        vlan = true;
+               else if (lkups[i].type == ICE_ETYPE_OL &&
+                        lkups[i].h_u.ethertype.ethtype_id ==
+                               CPU_TO_BE16(ICE_IPV6_ETHER_ID) &&
+                        lkups[i].m_u.ethertype.ethtype_id ==
+                               CPU_TO_BE16(0xFFFF))
+                       ipv6 = true;
                else if (lkups[i].type == ICE_IPV4_OFOS &&
                         lkups[i].h_u.ipv4_hdr.protocol ==
                                ICE_IPV4_NVGRE_PROTO_ID &&
@@ -7901,12 +7903,6 @@ ice_find_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
                         lkups[i].m_u.pppoe_hdr.ppp_prot_id ==
                                0xFFFF)
                        ipv6 = true;
-               else if (lkups[i].type == ICE_ETYPE_OL &&
-                        lkups[i].h_u.ethertype.ethtype_id ==
-                               CPU_TO_BE16(ICE_IPV6_ETHER_ID) &&
-                        lkups[i].m_u.ethertype.ethtype_id ==
-                                       0xFFFF)
-                       ipv6 = true;
                else if (lkups[i].type == ICE_IPV4_IL &&
                         lkups[i].h_u.ipv4_hdr.protocol ==
                                ICE_TCP_PROTO_ID &&