mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 05:04:09 +08:00
openvswitch: delete the unncessary skb_pull_rcsum call in ovs_ct_nat_execute
The calls to ovs_ct_nat_execute() are as below: ovs_ct_execute() ovs_ct_lookup() __ovs_ct_lookup() ovs_ct_nat() ovs_ct_nat_execute() ovs_ct_commit() __ovs_ct_lookup() ovs_ct_nat() ovs_ct_nat_execute() and since skb_pull_rcsum() and skb_push_rcsum() are already called in ovs_ct_execute(), there's no need to do it again in ovs_ct_nat_execute(). Reviewed-by: Saeed Mahameed <saeed@kernel.org> Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a2d40ce7ac
commit
bf14f4923d
@ -735,10 +735,7 @@ static int ovs_ct_nat_execute(struct sk_buff *skb, struct nf_conn *ct,
|
||||
const struct nf_nat_range2 *range,
|
||||
enum nf_nat_manip_type maniptype, struct sw_flow_key *key)
|
||||
{
|
||||
int hooknum, nh_off, err = NF_ACCEPT;
|
||||
|
||||
nh_off = skb_network_offset(skb);
|
||||
skb_pull_rcsum(skb, nh_off);
|
||||
int hooknum, err = NF_ACCEPT;
|
||||
|
||||
/* See HOOK2MANIP(). */
|
||||
if (maniptype == NF_NAT_MANIP_SRC)
|
||||
@ -755,7 +752,7 @@ static int ovs_ct_nat_execute(struct sk_buff *skb, struct nf_conn *ct,
|
||||
if (!nf_nat_icmp_reply_translation(skb, ct, ctinfo,
|
||||
hooknum))
|
||||
err = NF_DROP;
|
||||
goto push;
|
||||
goto out;
|
||||
} else if (IS_ENABLED(CONFIG_IPV6) &&
|
||||
skb->protocol == htons(ETH_P_IPV6)) {
|
||||
__be16 frag_off;
|
||||
@ -770,7 +767,7 @@ static int ovs_ct_nat_execute(struct sk_buff *skb, struct nf_conn *ct,
|
||||
hooknum,
|
||||
hdrlen))
|
||||
err = NF_DROP;
|
||||
goto push;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
/* Non-ICMP, fall thru to initialize if needed. */
|
||||
@ -788,7 +785,7 @@ static int ovs_ct_nat_execute(struct sk_buff *skb, struct nf_conn *ct,
|
||||
? nf_nat_setup_info(ct, range, maniptype)
|
||||
: nf_nat_alloc_null_binding(ct, hooknum);
|
||||
if (err != NF_ACCEPT)
|
||||
goto push;
|
||||
goto out;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -798,13 +795,11 @@ static int ovs_ct_nat_execute(struct sk_buff *skb, struct nf_conn *ct,
|
||||
|
||||
default:
|
||||
err = NF_DROP;
|
||||
goto push;
|
||||
goto out;
|
||||
}
|
||||
|
||||
err = nf_nat_packet(ct, ctinfo, hooknum, skb);
|
||||
push:
|
||||
skb_push_rcsum(skb, nh_off);
|
||||
|
||||
out:
|
||||
/* Update the flow key if NAT successful. */
|
||||
if (err == NF_ACCEPT)
|
||||
ovs_nat_update_key(key, skb, maniptype);
|
||||
|
Loading…
Reference in New Issue
Block a user