Revert "netfilter: flowtable: teardown flow if cached mtu is stale"
This reverts commitb8baac3b9c. IPv4 packets with no DF flag set on result in frequent flow entry teardown cycles, this is visible in the network topology that is used in the nft_flowtable.sh test. nft_flowtable.sh test ocassionally fails reporting that the dscp_fwd test sees no packets going through the flowtable path. Fixes:b8baac3b9c("netfilter: flowtable: teardown flow if cached mtu is stale") Reported-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
e589adf5b7
commit
cf56aa8dd2
|
|
@ -381,10 +381,8 @@ static int nf_flow_offload_forward(struct nf_flowtable_ctx *ctx,
|
|||
flow = container_of(tuplehash, struct flow_offload, tuplehash[dir]);
|
||||
|
||||
mtu = flow->tuplehash[dir].tuple.mtu + ctx->offset;
|
||||
if (unlikely(nf_flow_exceeds_mtu(skb, mtu))) {
|
||||
flow_offload_teardown(flow);
|
||||
if (unlikely(nf_flow_exceeds_mtu(skb, mtu)))
|
||||
return 0;
|
||||
}
|
||||
|
||||
iph = (struct iphdr *)(skb_network_header(skb) + ctx->offset);
|
||||
thoff = (iph->ihl * 4) + ctx->offset;
|
||||
|
|
@ -662,10 +660,8 @@ static int nf_flow_offload_ipv6_forward(struct nf_flowtable_ctx *ctx,
|
|||
flow = container_of(tuplehash, struct flow_offload, tuplehash[dir]);
|
||||
|
||||
mtu = flow->tuplehash[dir].tuple.mtu + ctx->offset;
|
||||
if (unlikely(nf_flow_exceeds_mtu(skb, mtu))) {
|
||||
flow_offload_teardown(flow);
|
||||
if (unlikely(nf_flow_exceeds_mtu(skb, mtu)))
|
||||
return 0;
|
||||
}
|
||||
|
||||
ip6h = (struct ipv6hdr *)(skb_network_header(skb) + ctx->offset);
|
||||
thoff = sizeof(*ip6h) + ctx->offset;
|
||||
|
|
|
|||
Loading…
Reference in New Issue