summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlok Mishra <almishra@marvell.com>2024-06-24 15:56:16 +0500
committerDamjan Marion <dmarion@0xa5.net>2024-07-15 17:13:57 +0000
commit9bff049b84c15813dcd70c03895bc627444778bf (patch)
treef6920cffe69d87f03efe01aa64c7c43d3aa4dd9e
parent34fa0ce8f70a341df432b0baa3deaa1e87c71b95 (diff)
octeon: fix link down issue
An issue is noticed when the link state of the ethernet interface is toggled to down and again brought up. The link status shows "up" in the "show interface", but shows "down" in "show hardware-interface". This issue does not occur when the link is brought up for the first time, but only manifests when the interface is brought down and up again. This happens because the device status and VNET_HW_INTERFACE_FLAG_LINK_UP aren't correctly updated during the port stop, preventing them from being updated during the port start. This patch fixes this issue in the port stop function. Type: fix Fixes: 01fe7ab88e Signed-off-by: Alok Mishra <almishra@marvell.com> Change-Id: Idbc5a6c31409a3d1c5b19e14a3c9509291175677
-rw-r--r--src/plugins/dev_octeon/port.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/dev_octeon/port.c b/src/plugins/dev_octeon/port.c
index 8ba9041f858..e2402fb9399 100644
--- a/src/plugins/dev_octeon/port.c
+++ b/src/plugins/dev_octeon/port.c
@@ -393,6 +393,18 @@ oct_port_stop (vlib_main_t *vm, vnet_dev_port_t *port)
foreach_vnet_dev_port_tx_queue (q, port)
oct_txq_stop (vm, q);
+
+ vnet_dev_port_state_change (vm, port,
+ (vnet_dev_port_state_changes_t){
+ .change.link_state = 1,
+ .change.link_speed = 1,
+ .link_speed = 0,
+ .link_state = 0,
+ });
+
+ /* Update the device status */
+ cd->status = 0;
+ cd->speed = 0;
}
vnet_dev_rv_t