From: Shannon Nelson <shannon.nel...@oracle.com>

Restore the IPsec hardware IP table after reloading the SA tables.
This doesn't make much difference now, but will matter when we add
support for VF IPsec offloads.

Signed-off-by: Shannon Nelson <shannon.nel...@oracle.com>
Tested-by: Andrew Bowers <andrewx.bow...@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
index e515246d0bce..434065109b8d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
@@ -301,14 +301,6 @@ void ixgbe_ipsec_restore(struct ixgbe_adapter *adapter)
        ixgbe_ipsec_clear_hw_tables(adapter);
        ixgbe_ipsec_start_engine(adapter);
 
-       /* reload the IP addrs */
-       for (i = 0; i < IXGBE_IPSEC_MAX_RX_IP_COUNT; i++) {
-               struct rx_ip_sa *ipsa = &ipsec->ip_tbl[i];
-
-               if (ipsa->used)
-                       ixgbe_ipsec_set_rx_ip(hw, i, ipsa->ipaddr);
-       }
-
        /* reload the Rx and Tx keys */
        for (i = 0; i < IXGBE_IPSEC_MAX_SA_COUNT; i++) {
                struct rx_sa *rsa = &ipsec->rx_tbl[i];
@@ -322,6 +314,14 @@ void ixgbe_ipsec_restore(struct ixgbe_adapter *adapter)
                if (tsa->used)
                        ixgbe_ipsec_set_tx_sa(hw, i, tsa->key, tsa->salt);
        }
+
+       /* reload the IP addrs */
+       for (i = 0; i < IXGBE_IPSEC_MAX_RX_IP_COUNT; i++) {
+               struct rx_ip_sa *ipsa = &ipsec->ip_tbl[i];
+
+               if (ipsa->used)
+                       ixgbe_ipsec_set_rx_ip(hw, i, ipsa->ipaddr);
+       }
 }
 
 /**
-- 
2.17.1

Reply via email to