net: add inline function skb_csum_is_sctp

This patch is to define a inline function skb_csum_is_sctp(), and
also replace all places where it checks if it's a SCTP CSUM skb.
This function would be used later in many networking drivers in
the following patches.

Suggested-by: Alexander Duyck <alexander.duyck@gmail.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: hongrongxuan <hongrongxuan@huawei.com>
This commit is contained in:
Xin Long 2021-01-16 14:13:37 +08:00 committed by Jianping Liu
parent fd23055d7f
commit 599e4e0f53
3 changed files with 7 additions and 2 deletions

View File

@ -740,7 +740,7 @@ static int ionic_tx_calc_csum(struct ionic_queue *q, struct sk_buff *skb)
desc->csum_start = cpu_to_le16(skb_checksum_start_offset(skb));
desc->csum_offset = cpu_to_le16(skb->csum_offset);
if (skb->csum_not_inet)
if (skb_csum_is_sctp(skb))
stats->crc32_csum++;
else
stats->csum++;

View File

@ -4583,5 +4583,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 */

View File

@ -3249,7 +3249,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);