net/ice/base: add ethertype check for dummy packet
In order to support switch rule for ethertype filter with ipv6 ethertype id, it has to check ethertype then find a proper dummy packet. Signed-off-by: Wei Zhao <wei.zhao1@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com>
This commit is contained in:
parent
e40daec8c6
commit
25a6a176b4
@ -12,6 +12,7 @@
|
||||
#define ICE_MAX_VLAN_ID 0xFFF
|
||||
#define ICE_IPV4_NVGRE_PROTO_ID 0x002F
|
||||
#define ICE_PPP_IPV6_PROTO_ID 0x0057
|
||||
#define ICE_IPV6_ETHER_ID 0x86DD
|
||||
|
||||
/* Dummy ethernet header needed in the ice_aqc_sw_rules_elem
|
||||
* struct to configure any switch filter rules.
|
||||
@ -5962,6 +5963,12 @@ 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;
|
||||
}
|
||||
|
||||
if (tun_type == ICE_SW_TUN_GTP) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user