diff options
author | Thomas Graf <tgraf@suug.ch> | 2007-03-26 20:38:53 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:28:14 -0400 |
commit | fa0b2d1d2196dd46527a8d028797e2bca5930a92 (patch) | |
tree | f11350b07f1c66fa5b4e1604c618126d500dd0ae | |
parent | 2b44368307cd06c5614d7b53801f516c0654020b (diff) |
[NET] fib_rules: Add no-operation action
The use of nop rules simplifies the usage of goto rules
and adds more flexibility as they allow targets to remain
while the actual content of the branches can change easly.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/fib_rules.h | 2 | ||||
-rw-r--r-- | net/core/fib_rules.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/fib_rules.h b/include/linux/fib_rules.h index c151273293e2..f278ba781d09 100644 --- a/include/linux/fib_rules.h +++ b/include/linux/fib_rules.h | |||
@@ -54,7 +54,7 @@ enum | |||
54 | FR_ACT_UNSPEC, | 54 | FR_ACT_UNSPEC, |
55 | FR_ACT_TO_TBL, /* Pass to fixed table */ | 55 | FR_ACT_TO_TBL, /* Pass to fixed table */ |
56 | FR_ACT_GOTO, /* Jump to another rule */ | 56 | FR_ACT_GOTO, /* Jump to another rule */ |
57 | FR_ACT_RES2, | 57 | FR_ACT_NOP, /* No operation */ |
58 | FR_ACT_RES3, | 58 | FR_ACT_RES3, |
59 | FR_ACT_RES4, | 59 | FR_ACT_RES4, |
60 | FR_ACT_BLACKHOLE, /* Drop without notification */ | 60 | FR_ACT_BLACKHOLE, /* Drop without notification */ |
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c index 7ac602cc8c85..5824b2644f26 100644 --- a/net/core/fib_rules.c +++ b/net/core/fib_rules.c | |||
@@ -146,7 +146,9 @@ jumped: | |||
146 | rule = target; | 146 | rule = target; |
147 | goto jumped; | 147 | goto jumped; |
148 | } | 148 | } |
149 | } else | 149 | } else if (rule->action == FR_ACT_NOP) |
150 | continue; | ||
151 | else | ||
150 | err = ops->action(rule, fl, flags, arg); | 152 | err = ops->action(rule, fl, flags, arg); |
151 | 153 | ||
152 | if (err != -EAGAIN) { | 154 | if (err != -EAGAIN) { |