From 0caa07034a3f23c9134e7aae5d5f077814b5825a Mon Sep 17 00:00:00 2001 From: Hyong Youb Kim Date: Tue, 31 Jul 2018 14:26:13 -0700 Subject: [PATCH] net/enic: reset VXLAN port during initialization The NIC persists the vxlan port number across vNIC init/de-init (e.g. restart testpmd). So, explicitly reset the setting to the default value (4789) as part of the initialization. Fixes: 8a4efd17410c ("net/enic: add handlers to add/delete vxlan port number") Signed-off-by: Hyong Youb Kim Reviewed-by: John Daley --- drivers/net/enic/enic_main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index d9ce602ba1..fd940c583e 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -1663,6 +1663,16 @@ static int enic_dev_init(struct enic *enic) enic->overlay_offload = true; enic->vxlan_port = ENIC_DEFAULT_VXLAN_PORT; dev_info(enic, "Overlay offload is enabled\n"); + /* + * Reset the vxlan port to the default, as the NIC firmware + * does not reset it automatically and keeps the old setting. + */ + if (vnic_dev_overlay_offload_cfg(enic->vdev, + OVERLAY_CFG_VXLAN_PORT_UPDATE, + ENIC_DEFAULT_VXLAN_PORT)) { + dev_err(enic, "failed to update vxlan port\n"); + return -EINVAL; + } } return 0; -- 2.20.1