On 5/24/20 4:09 AM, Pablo Neira Ayuso wrote:
fib address type with... * iff can only be used in prerouting, input and forward. * oif can only be used in output, postrouting and forward. I assume your 'output' chain is something like: type filter hook output priority 0; policy drop; Anyway, I agree error reporting and documentation can do better there.
Interesting. Here is the complete fragment, as tested on a virtual machine:
table inet filter { chain wan_output { fib saddr . iif type broadcast counter drop # no non-unicast #fib saddr . iif type anycast counter drop (unicast) fib saddr . iif type multicast counter drop fib saddr . iif type blackhole counter drop fib saddr . iif type unreachable counter drop fib saddr . iif type prohibit counter drop } chain output { type filter hook output priority 0; policy accept; meta oif "lo" accept meta oif "ens3" goto wan_output } }
The output when I try to load this is:
[root@localhost Desktop]# nft -f x.nft x.nft:13:9-39: Error: Could not process rule: Operation not supported meta oif "ens3" goto wan_output ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* meta oif is being used in the output chain * replace 'goto wan_output' with drop generates no message * "nft ruleset" echos the rules properly with "drop" What is so special about the jump action? So it appears there is a disconnect when the jump target is specified.