• Jarno Rajahalme's avatar
    openvswitch: Find existing conntrack entry after upcall. · 289f2253
    Jarno Rajahalme authored
    Add a new function ovs_ct_find_existing() to find an existing
    conntrack entry for which this packet was already applied to.  This is
    only to be called when there is evidence that the packet was already
    tracked and committed, but we lost the ct reference due to an
    userspace upcall.
    
    ovs_ct_find_existing() is called from skb_nfct_cached(), which can now
    hide the fact that the ct reference may have been lost due to an
    upcall.  This allows ovs_ct_commit() to be simplified.
    
    This patch is needed by later "openvswitch: Interface with NAT" patch,
    as we need to be able to pass the packet through NAT using the
    original ct reference also after the reference is lost after an
    upcall.
    Signed-off-by: default avatarJarno Rajahalme <jarno@ovn.org>
    Acked-by: default avatarJoe Stringer <joe@ovn.org>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    289f2253
conntrack.c 21.7 KB