[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160916.042448.465580563570138252.davem@davemloft.net>
Date: Fri, 16 Sep 2016 04:24:48 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: mark.tomlinson@...iedtelesis.co.nz
Cc: dsa@...ulusnetworks.com, netdev@...r.kernel.org
Subject: Re: [PATCH v2] net: VRF: Pass original iif to ip_route_input()
From: Mark Tomlinson <mark.tomlinson@...iedtelesis.co.nz>
Date: Thu, 15 Sep 2016 11:40:05 +1200
> The function ip_rcv_finish() calls l3mdev_ip_rcv(). On any VRF except
> the global VRF, this replaces skb->dev with the VRF master interface.
> When calling ip_route_input_noref() from here, the checks for forwarding
> look at this master device instead of the initial ingress interface.
> This will allow packets to be routed which normally would be dropped.
> For example, an interface that is not assigned an IP address should
> drop packets, but because the checking is against the master device, the
> packet will be forwarded.
>
> The fix here is to still call l3mdev_ip_rcv(), but remember the initial
> net_device. This is passed to the other functions within ip_rcv_finish,
> so they still see the original interface.
>
> Signed-off-by: Mark Tomlinson <mark.tomlinson@...iedtelesis.co.nz>
> Acked-by: David Ahern <dsa@...ulusnetworks.com>
Applied.
Powered by blists - more mailing lists