Use skb_sec_path and secpath_exists helpers where possible.
This reduces noise in followup patch that removes skb->sp pointer.

Signed-off-by: Florian Westphal <f...@strlen.de>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c    | 6 ++++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c     | 5 +++--
 drivers/net/ethernet/intel/ixgbevf/ipsec.c        | 6 ++++--
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 2 +-
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
index 4d77f42e035c..8befc7a50f8c 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
@@ -1065,11 +1065,13 @@ int ixgbe_ipsec_tx(struct ixgbe_ring *tx_ring,
        struct ixgbe_adapter *adapter = netdev_priv(tx_ring->netdev);
        struct ixgbe_ipsec *ipsec = adapter->ipsec;
        struct xfrm_state *xs;
+       struct sec_path *sp;
        struct tx_sa *tsa;
 
-       if (unlikely(!first->skb->sp->len)) {
+       sp = skb_sec_path(first->skb);
+       if (unlikely(!sp->len)) {
                netdev_err(tx_ring->netdev, "%s: no xfrm state len = %d\n",
-                          __func__, first->skb->sp->len);
+                          __func__, sp->len);
                return 0;
        }
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 49a4ea38eb07..8ff48dd5a90a 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -8695,7 +8695,8 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
 #endif /* IXGBE_FCOE */
 
 #ifdef CONFIG_IXGBE_IPSEC
-       if (skb->sp && !ixgbe_ipsec_tx(tx_ring, first, &ipsec_tx))
+       if (secpath_exists(skb) &&
+           !ixgbe_ipsec_tx(tx_ring, first, &ipsec_tx))
                goto out_drop;
 #endif
        tso = ixgbe_tso(tx_ring, first, &hdr_len, &ipsec_tx);
@@ -10191,7 +10192,7 @@ ixgbe_features_check(struct sk_buff *skb, struct 
net_device *dev,
         */
        if (skb->encapsulation && !(features & NETIF_F_TSO_MANGLEID)) {
 #ifdef CONFIG_IXGBE_IPSEC
-               if (!skb->sp)
+               if (!secpath_exists(skb))
 #endif
                        features &= ~NETIF_F_TSO;
        }
diff --git a/drivers/net/ethernet/intel/ixgbevf/ipsec.c 
b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
index e8a3231be0bf..07644e6bf498 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ipsec.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ipsec.c
@@ -450,12 +450,14 @@ int ixgbevf_ipsec_tx(struct ixgbevf_ring *tx_ring,
        struct ixgbevf_adapter *adapter = netdev_priv(tx_ring->netdev);
        struct ixgbevf_ipsec *ipsec = adapter->ipsec;
        struct xfrm_state *xs;
+       struct sec_path *sp;
        struct tx_sa *tsa;
        u16 sa_idx;
 
-       if (unlikely(!first->skb->sp->len)) {
+       sp = skb_sec_path(first->skb);
+       if (unlikely(!sp->len)) {
                netdev_err(tx_ring->netdev, "%s: no xfrm state len = %d\n",
-                          __func__, first->skb->sp->len);
+                          __func__, sp->len);
                return 0;
        }
 
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c 
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 2de81f046fb5..49e23afa05a2 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -4157,7 +4157,7 @@ static int ixgbevf_xmit_frame_ring(struct sk_buff *skb,
        first->protocol = vlan_get_protocol(skb);
 
 #ifdef CONFIG_IXGBEVF_IPSEC
-       if (skb->sp && !ixgbevf_ipsec_tx(tx_ring, first, &ipsec_tx))
+       if (secpath_exists(skb) && !ixgbevf_ipsec_tx(tx_ring, first, &ipsec_tx))
                goto out_drop;
 #endif
        tso = ixgbevf_tso(tx_ring, first, &hdr_len, &ipsec_tx);
-- 
2.19.2

Reply via email to