Re: [NETFILTER]: bridge: fix double POST_ROUTING invocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Fri, 11 Jan 2008 18:56:56 +0100

> [NETFILTER]: bridge: fix double POST_ROUTING invocation
> 
> The bridge code incorrectly causes two POST_ROUTING hook invocations
> for DNATed packets that end up on the same bridge device. This
> happens because packets with a changed destination address are passed
> to dst_output() to make them go through the neighbour output function
> again to build a new destination MAC address, before they will continue
> through the IP hooks simulated by bridge netfilter.
> 
> The resulting hook order is:
>  PREROUTING	(bridge netfilter)
>  POSTROUTING	(dst_output -> ip_output)
>  FORWARD	(bridge netfilter)
>  POSTROUTING	(bridge netfilter)
> 
> The deferred hooks used to abort the first POST_ROUTING invocation,
> but since the only thing bridge netfilter actually really wants is
> a new MAC address, we can avoid going through the IP stack completely
> by simply calling the neighbour output function directly.
> 
> Tested, reported and lots of data provided by: Damien Thebault <damien.thebault@xxxxxxxxx>
> 
> Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>

Applied, thanks Patrick.
-
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux