• John Hurley's avatar
    net: sched: refactor reinsert action · 720f22fe
    John Hurley authored
    The TC_ACT_REINSERT return type was added as an in-kernel only option to
    allow a packet ingress or egress redirect. This is used to avoid
    unnecessary skb clones in situations where they are not required. If a TC
    hook returns this code then the packet is 'reinserted' and no skb consume
    is carried out as no clone took place.
    
    This return type is only used in act_mirred. Rather than have the reinsert
    called from the main datapath, call it directly in act_mirred. Instead of
    returning TC_ACT_REINSERT, change the type to the new TC_ACT_CONSUMED
    which tells the caller that the packet has been stolen by another process
    and that no consume call is required.
    
    Moving all redirect calls to the act_mirred code is in preparation for
    tracking recursion created by act_mirred.
    Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
    Reviewed-by: default avatarSimon Horman <simon.horman@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    720f22fe
sch_generic.h 32.1 KB