common/sfc_efx/base: fix indication of MAE encap support
The indication fields in the MCDI response are individual bits, but the current code mistakenly compares the larger dword with 1. This breaks encap. type discovery. Fix that. Fixes: 891408c45a63 ("common/sfc_efx/base: indicate MAE support for encapsulation") Cc: stable@dpdk.org Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
This commit is contained in:
parent
6d360284df
commit
8076e40cde
@ -46,17 +46,20 @@ efx_mae_get_capabilities(
|
||||
|
||||
maep->em_encap_types_supported = 0;
|
||||
|
||||
if (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_VXLAN) == 1) {
|
||||
if (MCDI_OUT_DWORD_FIELD(req, MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED,
|
||||
MAE_GET_CAPS_OUT_ENCAP_TYPE_VXLAN) != 0) {
|
||||
maep->em_encap_types_supported |=
|
||||
(1U << EFX_TUNNEL_PROTOCOL_VXLAN);
|
||||
}
|
||||
|
||||
if (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_GENEVE) == 1) {
|
||||
if (MCDI_OUT_DWORD_FIELD(req, MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED,
|
||||
MAE_GET_CAPS_OUT_ENCAP_TYPE_GENEVE) != 0) {
|
||||
maep->em_encap_types_supported |=
|
||||
(1U << EFX_TUNNEL_PROTOCOL_GENEVE);
|
||||
}
|
||||
|
||||
if (MCDI_OUT_DWORD(req, MAE_GET_CAPS_OUT_ENCAP_TYPE_NVGRE) == 1) {
|
||||
if (MCDI_OUT_DWORD_FIELD(req, MAE_GET_CAPS_OUT_ENCAP_TYPES_SUPPORTED,
|
||||
MAE_GET_CAPS_OUT_ENCAP_TYPE_NVGRE) != 0) {
|
||||
maep->em_encap_types_supported |=
|
||||
(1U << EFX_TUNNEL_PROTOCOL_NVGRE);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user