net: ipv4: Fix multipath selection with vrf
[firefly-linux-kernel-4.4.55.git] / drivers / net / vrf.c
index 86f59ca6d69b7a3725821c7e1d9a9fb47fc66ad7..bc795b8f299734e97be5d9d41723d8be07f0058a 100644 (file)
@@ -301,7 +301,9 @@ static netdev_tx_t vrf_process_v4_outbound(struct sk_buff *skb,
                .flowi4_tos = RT_TOS(ip4h->tos),
                .flowi4_flags = FLOWI_FLAG_ANYSRC | FLOWI_FLAG_L3MDEV_SRC |
                                FLOWI_FLAG_SKIP_NH_OIF,
+               .flowi4_proto = ip4h->protocol,
                .daddr = ip4h->daddr,
+               .saddr = ip4h->saddr,
        };
 
        if (vrf_send_v4_prep(skb, &fl4, vrf_dev))