• Thomas Graf's avatar
    [NET] fib_rules: goto rule action · 0947c9fe
    Thomas Graf authored
    This patch adds a new rule action FR_ACT_GOTO which allows
    to skip a set of rules by jumping to another rule. The rule
    to jump to is specified via the FRA_GOTO attribute which
    carries a rule preference.
    
    Referring to a rule which doesn't exists is explicitely allowed.
    Such goto rules are marked with the flag FIB_RULE_UNRESOLVED
    and will act like a rule with a non-matching selector. The rule
    will become functional as soon as its target is present.
    
    The goto action enables performance optimizations by reducing
    the average number of rules that have to be passed per lookup.
    
    Example:
    0:      from all lookup local
    40:     not from all to 192.168.23.128 goto 32766
    41:     from all fwmark 0xa blackhole
    42:     from all fwmark 0xff blackhole
    32766:  from all lookup main
    Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0947c9fe
fib_rules.c 13.1 KB