LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

[PATCH] ipvs: Avoid unnecessary calls to skb_is_gso_sctp

To: linux-kernel@xxxxxxxxxxxxxxx
Subject: [PATCH] ipvs: Avoid unnecessary calls to skb_is_gso_sctp
Cc: Ismael Luceno <iluceno@xxxxxxx>, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>, Michal Kubeček <mkubecek@xxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx
From: Ismael Luceno <iluceno@xxxxxxx>
Date: Thu, 23 May 2024 18:54:44 +0200
In the context of the SCTP SNAT/DNAT handler, these calls can only
return true.

Ref: e10d3ba4d434 ("ipvs: Fix checksumming on GSO of SCTP packets")
Signed-off-by: Ismael Luceno <iluceno@xxxxxxx>
CC: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
CC: Michal Kubeček <mkubecek@xxxxxxxx>
CC: Simon Horman <horms@xxxxxxxxxxxx>
CC: Julian Anastasov <ja@xxxxxx>
CC: lvs-devel@xxxxxxxxxxxxxxx
CC: netfilter-devel@xxxxxxxxxxxxxxx
CC: netdev@xxxxxxxxxxxxxxx
CC: coreteam@xxxxxxxxxxxxx
---
 net/netfilter/ipvs/ip_vs_proto_sctp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_proto_sctp.c 
b/net/netfilter/ipvs/ip_vs_proto_sctp.c
index 1e689c714127..83e452916403 100644
--- a/net/netfilter/ipvs/ip_vs_proto_sctp.c
+++ b/net/netfilter/ipvs/ip_vs_proto_sctp.c
@@ -126,7 +126,7 @@ sctp_snat_handler(struct sk_buff *skb, struct 
ip_vs_protocol *pp,
        if (sctph->source != cp->vport || payload_csum ||
            skb->ip_summed == CHECKSUM_PARTIAL) {
                sctph->source = cp->vport;
-               if (!skb_is_gso(skb) || !skb_is_gso_sctp(skb))
+               if (!skb_is_gso(skb))
                        sctp_nat_csum(skb, sctph, sctphoff);
        } else {
                skb->ip_summed = CHECKSUM_UNNECESSARY;
@@ -175,7 +175,7 @@ sctp_dnat_handler(struct sk_buff *skb, struct 
ip_vs_protocol *pp,
            (skb->ip_summed == CHECKSUM_PARTIAL &&
             !(skb_dst(skb)->dev->features & NETIF_F_SCTP_CRC))) {
                sctph->dest = cp->dport;
-               if (!skb_is_gso(skb) || !skb_is_gso_sctp(skb))
+               if (!skb_is_gso(skb))
                        sctp_nat_csum(skb, sctph, sctphoff);
        } else if (skb->ip_summed != CHECKSUM_PARTIAL) {
                skb->ip_summed = CHECKSUM_UNNECESSARY;
-- 
2.44.0



<Prev in Thread] Current Thread [Next in Thread>