KOVACS Krisztian wrote:
> ip_route_output() contains a check to make sure that no flows with
> non-local source IP addresses are routed. Unfortunately this check
> makes it completely impossible to use non-local bound sockets as no
> outbound packets will make through the stack.
> 
> This patch moves the interface lookup to the multicast-specific code
> path as that is the only real user of the interface data looked up.
> 
> Signed-off-by: KOVACS Krisztian <[EMAIL PROTECTED]>
> 
> ---
> 
>  net/ipv4/route.c |   13 +++++--------
>  1 files changed, 5 insertions(+), 8 deletions(-)
> 
> diff --git a/net/ipv4/route.c b/net/ipv4/route.c
> index 537b976..bb1158a 100644
> --- a/net/ipv4/route.c
> +++ b/net/ipv4/route.c
> @@ -2498,11 +2498,6 @@ #endif
>                   ZERONET(oldflp->fl4_src))
>                       goto out;
>  
> -             /* It is equivalent to inet_addr_type(saddr) == RTN_LOCAL */
> -             dev_out = ip_dev_find(oldflp->fl4_src);
> -             if (dev_out == NULL)
> -                     goto out;
> -

I'm not sure how exactly this is used by applications, but couldn't you
restrict this to sockets without freebind?
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to