netfilter: bridge: make BRNF_PKT_TYPE flag a bool
authorFlorian Westphal <fw@strlen.de>
Thu, 2 Apr 2015 12:31:45 +0000 (14:31 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 8 Apr 2015 14:49:12 +0000 (16:49 +0200)
commita1e67951e6c0b11bb11c256f8e1c45ed51fcd760
tree20b03a8d9b4546ca32369612e5ca5a0723277c4f
parent3eaf402502e49ad9c58c73e8599c7c4f345d62da
netfilter: bridge: make BRNF_PKT_TYPE flag a bool

nf_bridge_info->mask is used for several things, for example to
remember if skb->pkt_type was set to OTHER_HOST.

For a bridge, OTHER_HOST is expected case. For ip forward its a non-starter
though -- routing expects PACKET_HOST.

Bridge netfilter thus changes OTHER_HOST to PACKET_HOST before hook
invocation and then un-does it after hook traversal.

This information is irrelevant outside of br_netfilter.

After this change, ->mask now only contains flags that need to be
known outside of br_netfilter in fast-path.

Future patch changes mask into a 2bit state field in sk_buff, so that
we can remove skb->nf_bridge pointer for good and consider all remaining
places that access nf_bridge info content a not-so fastpath.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/linux/netfilter_bridge.h
include/linux/skbuff.h
net/bridge/br_netfilter.c