mirror of https://gitee.com/openkylin/linux.git
a5fedd43d5
skb_gso_segment is expensive, so it would be nice if we could avoid it in the future. However, userspace needs to be prepared to receive larger-than-mtu-packets (which will also have incorrect l3/l4 checksums), so we cannot simply remove it. The plan is to add a per-queue feature flag that userspace can set when binding the queue. The problem is that in nf_queue, we only have a queue number, not the queue context/configuration settings. This patch should have no impact other than the skb_gso_segment call now being in a function that has access to the queue config data. A new size attribute in nf_queue_entry is needed so nfnetlink_queue can duplicate the entry of the gso skb when segmenting the skb while also copying the route key. The follow up patch adds switch to disable skb_gso_segment when queue config says so. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> |
||
---|---|---|
.. | ||
ipv4 | ||
ipv6 | ||
nf_conntrack.h | ||
nf_conntrack_acct.h | ||
nf_conntrack_core.h | ||
nf_conntrack_ecache.h | ||
nf_conntrack_expect.h | ||
nf_conntrack_extend.h | ||
nf_conntrack_helper.h | ||
nf_conntrack_l3proto.h | ||
nf_conntrack_l4proto.h | ||
nf_conntrack_labels.h | ||
nf_conntrack_timeout.h | ||
nf_conntrack_timestamp.h | ||
nf_conntrack_tuple.h | ||
nf_conntrack_zones.h | ||
nf_log.h | ||
nf_nat.h | ||
nf_nat_core.h | ||
nf_nat_helper.h | ||
nf_nat_l3proto.h | ||
nf_nat_l4proto.h | ||
nf_queue.h | ||
nf_tproxy_core.h | ||
nfnetlink_log.h | ||
nfnetlink_queue.h | ||
xt_log.h | ||
xt_rateest.h |