diff --git a/drivers/net/ethernet/pensando/ionic/ionic_txrx.c b/drivers/net/ethernet/pensando/ionic/ionic_txrx.c index 909eca14f647ff8d34dc38674d1e4bdb74b56f4a..9dedaedc47a9344f0f66e90ae4a529d48677b219 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_txrx.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_txrx.c @@ -977,7 +977,7 @@ static int ionic_tx_calc_csum(struct ionic_queue *q, struct sk_buff *skb) stats->vlan_inserted++; } - if (skb->csum_not_inet) + if (skb_csum_is_sctp(skb)) stats->crc32_csum++; else stats->csum++; diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index b86e3dca29558655ff53cb96767bdc8e9ec8e438..f4e7cb13860007cd3eb309058345af0e91a71a32 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -4621,5 +4621,10 @@ static inline void skb_reset_redirect(struct sk_buff *skb) #endif } +static inline bool skb_csum_is_sctp(struct sk_buff *skb) +{ + return skb->csum_not_inet; +} + #endif /* __KERNEL__ */ #endif /* _LINUX_SKBUFF_H */ diff --git a/net/core/dev.c b/net/core/dev.c index e31215bf54002fbe0d61b5d51323a0a9502390f7..39827a829eb10ff8cfa092915c6d1d6438fb9f55 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3619,7 +3619,7 @@ static struct sk_buff *validate_xmit_vlan(struct sk_buff *skb, int skb_csum_hwoffload_help(struct sk_buff *skb, const netdev_features_t features) { - if (unlikely(skb->csum_not_inet)) + if (unlikely(skb_csum_is_sctp(skb))) return !!(features & NETIF_F_SCTP_CRC) ? 0 : skb_crc32c_csum_help(skb);