[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dce5cba2-766c-063e-745f-23b3dd83494b@ucloud.cn>
Date: Thu, 27 Jun 2019 14:22:36 +0800
From: wenxu <wenxu@...oud.cn>
To: Florian Westphal <fw@...len.de>
Cc: pablo@...filter.org, netfilter-devel@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH 2/3 nf-next] netfilter:nf_flow_table: Support bridge type
flow offload
On 6/27/2019 3:19 AM, Florian Westphal wrote:
> Florian Westphal <fw@...len.de> wrote:
>> wenxu@...oud.cn <wenxu@...oud.cn> wrote:
>>> diff --git a/net/netfilter/nf_flow_table_ip.c b/net/netfilter/nf_flow_table_ip.c
>>> index 0016bb8..9af01ef 100644
>>> --- a/net/netfilter/nf_flow_table_ip.c
>>> +++ b/net/netfilter/nf_flow_table_ip.c
>>> - neigh_xmit(NEIGH_ARP_TABLE, outdev, &nexthop, skb);
>>> + if (family == NFPROTO_IPV4) {
>>> + iph = ip_hdr(skb);
>>> + ip_decrease_ttl(iph);
>>> +
>>> + nexthop = rt_nexthop(rt, flow->tuplehash[!dir].tuple.src_v4.s_addr);
>>> + skb_dst_set_noref(skb, &rt->dst);
>>> + neigh_xmit(NEIGH_ARP_TABLE, outdev, &nexthop, skb);
>>> + } else {
>>> + const struct net_bridge_port *p;
>>> +
>>> + if (vlan_tag && (p = br_port_get_rtnl_rcu(state->in)))
>>> + __vlan_hwaccel_put_tag(skb, p->br->vlan_proto, vlan_tag);
>>> + else
>>> + __vlan_hwaccel_clear_tag(skb);
>>> +
>>> + br_dev_queue_push_xmit(state->net, state->sk, skb);
>> Won't that result in a module dep on bridge?
I will fix it in version 2
>>
>> Whats the idea with this patch?
>>
>> Do you see a performance improvement when bypassing bridge layer? If so,
>> how much?
>>
>> I just wonder if its really cheaper than not using bridge conntrack in
>> the first place :-)
This patch is based on the conntrack function in bridge. It will bypass the fdb lookup
and conntrack lookup to get the performance improvement. The more important things
for hardware offload in the future with nf_tables add hardware offload support
>
Powered by blists - more mailing lists