mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
ipvs: Avoid unnecessary calls to skb_is_gso_sctp
[ Upstream commit 53796b03295cf7ab1fc8600016fa6dfbf4a494a0 ]
In the context of the SCTP SNAT/DNAT handler, these calls can only
return true.
Fixes: e10d3ba4d434 ("ipvs: Fix checksumming on GSO of SCTP packets")
Signed-off-by: Ismael Luceno <iluceno@suse.de>
Acked-by: Julian Anastasov <ja@ssi.bg>
Acked-by: Simon Horman <horms@kernel.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4deec9f004
commit
62b8b67cee
@@ -126,7 +126,7 @@ sctp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
|
|||||||
if (sctph->source != cp->vport || payload_csum ||
|
if (sctph->source != cp->vport || payload_csum ||
|
||||||
skb->ip_summed == CHECKSUM_PARTIAL) {
|
skb->ip_summed == CHECKSUM_PARTIAL) {
|
||||||
sctph->source = cp->vport;
|
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);
|
sctp_nat_csum(skb, sctph, sctphoff);
|
||||||
} else {
|
} else {
|
||||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
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->ip_summed == CHECKSUM_PARTIAL &&
|
||||||
!(skb_dst(skb)->dev->features & NETIF_F_SCTP_CRC))) {
|
!(skb_dst(skb)->dev->features & NETIF_F_SCTP_CRC))) {
|
||||||
sctph->dest = cp->dport;
|
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);
|
sctp_nat_csum(skb, sctph, sctphoff);
|
||||||
} else if (skb->ip_summed != CHECKSUM_PARTIAL) {
|
} else if (skb->ip_summed != CHECKSUM_PARTIAL) {
|
||||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
||||||
|
|||||||
Reference in New Issue
Block a user