• Louis Peens's avatar
    nfp: flower: add infrastructure for pre_tun rework · 29c69134
    Louis Peens authored
    The previous implementation of using a pre_tun_table for decap has
    some limitations, causing flows to end up unoffloaded when in fact
    we are able to offload them. This is because the pre_tun_table does
    not have enough matching resolution. The next step is to instead make
    use of the neighbour table which already exists for the encap direction.
    This patch prepares for this by:
    
    - Moving nfp_tun_neigh/_v6 to main.h.
    - Creating two new "wrapping" structures, one to keep track of neighbour
      entries (previously they were send-and-forget), and another to keep
      track of pre_tun flows.
    - Create a new list in nfp_flower_priv to keep track of pre_tunnel flows
    - Create a new table in nfp_flower_priv to keep track of next neighbour
      entries
    - Initialising and destroying these new list/tables
    - Extending nfp_fl_payload->pre_tun_rule to save more information for
      future use.
    Signed-off-by: default avatarLouis Peens <louis.peens@corigine.com>
    Signed-off-by: default avatarYinjun Zhang <yinjun.zhang@corigine.com>
    Signed-off-by: default avatarSimon Horman <simon.horman@corigine.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    29c69134
tunnel_conf.c 36.8 KB