Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
[firefly-linux-kernel-4.4.55.git] / net / openvswitch / vport.c
index 2034c6d9cb5a51f3094747e768c93522024bea96..ec2954ffc690c612eb1b04b018134ba0f52ba5c8 100644 (file)
@@ -480,7 +480,8 @@ void ovs_vport_receive(struct vport *vport, struct sk_buff *skb,
        stats = this_cpu_ptr(vport->percpu_stats);
        u64_stats_update_begin(&stats->syncp);
        stats->rx_packets++;
-       stats->rx_bytes += skb->len + (vlan_tx_tag_present(skb) ? VLAN_HLEN : 0);
+       stats->rx_bytes += skb->len +
+                          (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0);
        u64_stats_update_end(&stats->syncp);
 
        OVS_CB(skb)->input_vport = vport;
@@ -594,14 +595,7 @@ int ovs_tunnel_get_egress_info(struct ovs_tunnel_info *egress_tun_info,
         * The process may need to be changed if the corresponding process
         * in vports ops changed.
         */
-       memset(&fl, 0, sizeof(fl));
-       fl.daddr = tun_key->ipv4_dst;
-       fl.saddr = tun_key->ipv4_src;
-       fl.flowi4_tos = RT_TOS(tun_key->ipv4_tos);
-       fl.flowi4_mark = skb_mark;
-       fl.flowi4_proto = ipproto;
-
-       rt = ip_route_output_key(net, &fl);
+       rt = ovs_tunnel_route_lookup(net, tun_key, skb_mark, &fl, ipproto);
        if (IS_ERR(rt))
                return PTR_ERR(rt);