Skip to content
  • Florian Westphal's avatar
    netfilter: move skb_gso_segment into nfnetlink_queue module · a5fedd43
    Florian Westphal authored
    
    
    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: default avatarFlorian Westphal <fw@strlen.de>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    a5fedd43