[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5501D498.4050003@hartkopp.net>
Date: Thu, 12 Mar 2015 19:02:00 +0100
From: Oliver Hartkopp <socketcan@...tkopp.net>
To: Florian Westphal <fw@...len.de>, netfilter-devel@...r.kernel.org
CC: netdev@...r.kernel.org, Eyal Birger <eyal.birger@...il.com>
Subject: Re: [PATCH v2 nf-next 3/6] netfilter: bridge: use skb->cb to track
otherhost mangling
On 03/12/2015 06:05 PM, Florian Westphal wrote:
> 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.
>
> For this, cb[] can be used since the skb will never be used outside
> (fake inet) bridge forwarding while in 'fake PACKET_HOST' state.
>
> Signed-off-by: Florian Westphal <fw@...len.de>
> ---
> include/linux/netfilter_bridge.h | 1 -
> net/bridge/br_netfilter.c | 71 ++++++++++++++++++++++++++--------------
> @@ -1104,6 +1125,8 @@ static int __init br_netfilter_init(void)
> {
> int ret;
>
> + BUILD_BUG_ON(sizeof(struct nf_bridge_skb_cb) > FIELD_SIZEOF(struct sk_buff, cb));
> +
Please use sock_skb_cb_check_size(size) for cb size checking which is the
'new' check for cb sizes for netdev.
See:
http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit?id=b4772ef879a8f7d8c56118c2ae5a296fcf6f81d2
> ret = nf_register_hooks(br_nf_ops, ARRAY_SIZE(br_nf_ops));
> if (ret < 0)
> return ret;
>
Regards,
Oliver
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists