On Wed, Feb 10, 2016 at 7:33 AM, Mahesh Bandewar <mah...@bandewar.net> wrote:
> From: Mahesh Bandewar <mahe...@google.com>
>
> Scrub skb before hitting the iptable hooks to ensure packets hit
> these hooks.
>
> Signed-off-by: Mahesh Bandewar <mahe...@google.com>
> ---
> v1: initial patch
> v2: resend
>
>  drivers/net/ipvlan/ipvlan_core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ipvlan/ipvlan_core.c 
> b/drivers/net/ipvlan/ipvlan_core.c
> index 8c48bb2a94ea..21c380f9ccd5 100644
> --- a/drivers/net/ipvlan/ipvlan_core.c
> +++ b/drivers/net/ipvlan/ipvlan_core.c
> @@ -365,7 +365,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
>                 ip_rt_put(rt);
>                 goto err;
>         }
> -       skb_dst_drop(skb);
> +       skb_scrub_packet(skb, false);

Hmm, I am feeling we should set the xnet param to be true here when the ipvlan
device is in a different namespace with the physical one?


>         skb_dst_set(skb, &rt->dst);
>         err = ip_local_out(net, skb->sk, skb);
>         if (unlikely(net_xmit_eval(err)))
> @@ -403,7 +403,7 @@ static int ipvlan_process_v6_outbound(struct sk_buff *skb)
>                 dst_release(dst);
>                 goto err;
>         }
> -       skb_dst_drop(skb);
> +       skb_scrub_packet(skb, false);

Ditto.

Thanks!

Reply via email to