Tunnel configuration may fail because of insufficient access rights
on a virtual function. Ignore the failure if a tunnel configuration
with empty UDP ports is requested.
Fixes:
17551f6dffcc ("net/sfc/base: add API to control UDP tunnel ports")
Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
{
efx_tunnel_cfg_t *etcp = &enp->en_tunnel_cfg;
efx_rc_t rc;
- boolean_t resetting;
+ boolean_t resetting = B_FALSE;
efsys_lock_state_t state;
efx_tunnel_cfg_t etc;
*/
rc = efx_mcdi_set_tunnel_encap_udp_ports(enp, &etc, B_FALSE,
&resetting);
- if (rc != 0)
- goto fail2;
+ if (rc != 0) {
+ /*
+ * Do not fail if the access is denied when no
+ * tunnel encap UDP ports are configured.
+ */
+ if (rc != EACCES || etc.etc_udp_entries_num != 0)
+ goto fail2;
+ }
/*
* Although the caller should be able to handle MC reboot,