summaryrefslogtreecommitdiffstats
path: root/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch')
-rw-r--r--dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch27
1 files changed, 16 insertions, 11 deletions
diff --git a/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch b/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
index 9cb56d2d499..3e03c8968fa 100644
--- a/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
+++ b/dpdk/dpdk-2.2.0_patches/0022-bonding-fix-bond-link-detect-in-non-interrupt-mode.patch
@@ -1,25 +1,27 @@
-commit 65bcf215aae2e0b9935557e237af054ad0860bad
-Author: Nelson Escobar <neescoba@cisco.com>
-Date: Tue Mar 22 13:42:08 2016 -0700
+From a2f08a919c72af29c56b937e6c92eb104037fed5 Mon Sep 17 00:00:00 2001
+From: Nelson Escobar <neescoba@cisco.com>
+Date: Tue, 22 Mar 2016 13:42:08 -0700
+Subject: [PATCH 22/22] bonding: fix bond link detect in non-interrupt mode
- bonding: fix bond link detect in non-interrupt mode
-
Stopping then re-starting a bond interface containing slaves that
used polling for link detection caused the bond to think all slave
links were down and inactive.
-
+
Move the start of the polling for link from slave_add() to
bond_ethdev_start() and in bond_ethdev_stop() make sure we clear
the last_link_status of the slaves.
-
+
Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Signed-off-by: John Daley <johndale@cisco.com>
+---
+ drivers/net/bonding/rte_eth_bond_pmd.c | 27 +++++++++++++++++----------
+ 1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index fb26d35..f0960c6 100644
+index b1373c6..d32c6f5 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -1454,18 +1454,11 @@ slave_add(struct bond_dev_private *internals,
+@@ -1447,18 +1447,11 @@ slave_add(struct bond_dev_private *internals,
slave_details->port_id = slave_eth_dev->data->port_id;
slave_details->last_link_status = 0;
@@ -41,7 +43,7 @@ index fb26d35..f0960c6 100644
}
slave_details->link_status_wait_to_complete = 0;
-@@ -1550,6 +1543,18 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
+@@ -1543,6 +1536,18 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
eth_dev->data->port_id, internals->slaves[i].port_id);
return -1;
}
@@ -60,7 +62,7 @@ index fb26d35..f0960c6 100644
}
if (internals->user_defined_primary_port)
-@@ -1622,6 +1627,8 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
+@@ -1615,6 +1620,8 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
internals->active_slave_count = 0;
internals->link_status_polling_enabled = 0;
@@ -69,3 +71,6 @@ index fb26d35..f0960c6 100644
eth_dev->data->dev_link.link_status = 0;
eth_dev->data->dev_started = 0;
+--
+1.9.1
+