bridge: broute: make broute a real ebtables table
authorFlorian Westphal <fw@strlen.de>
Thu, 11 Apr 2019 14:36:42 +0000 (16:36 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 11 Apr 2019 23:47:50 +0000 (01:47 +0200)
commit223fd0adfa8af36d5d9b5d38016e579ee052f367
tree6a08e0e189e03375a672078349df260ab955509d
parent971502d77faa50a37c89bc6d172450294ad9a5fd
bridge: broute: make broute a real ebtables table

This makes broute a normal ebtables table, hooking at PREROUTING.
The broute hook is removed.

It uses skb->cb to signal to bridge rx handler that the skb should be
routed instead of being bridged.

This change is backwards compatible with ebtables as no userspace visible
parts are changed.

This means we can also remove the !ops test in ebt_register_table,
it was only there for broute table sake.

Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/linux/if_bridge.h
net/bridge/br_input.c
net/bridge/br_private.h
net/bridge/netfilter/ebtable_broute.c
net/bridge/netfilter/ebtables.c