| From 0869f98784c0bbce4cdd3d56acceb0758f0d2e68 Mon Sep 17 00:00:00 2001 |
| From: David Ahern <dsa@cumulusnetworks.com> |
| Date: Tue, 3 Jan 2017 09:37:55 -0800 |
| Subject: [PATCH] net: vrf: Add missing Rx counters |
| |
| commit 926d93a33e59b2729afdbad357233c17184de9d2 upstream. |
| |
| The move from rx-handler to L3 receive handler inadvertantly dropped the |
| rx counters. Restore them. |
| |
| Fixes: 74b20582ac38 ("net: l3mdev: Add hook in ip and ipv6") |
| Reported-by: Dinesh Dutt <ddutt@cumulusnetworks.com> |
| Signed-off-by: David Ahern <dsa@cumulusnetworks.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c |
| index e823fcb94c66..45510c78c9f0 100644 |
| --- a/drivers/net/vrf.c |
| +++ b/drivers/net/vrf.c |
| @@ -907,6 +907,7 @@ static struct sk_buff *vrf_ip6_rcv(struct net_device *vrf_dev, |
| */ |
| need_strict = rt6_need_strict(&ipv6_hdr(skb)->daddr); |
| if (!ipv6_ndisc_frame(skb) && !need_strict) { |
| + vrf_rx_stats(vrf_dev, skb->len); |
| skb->dev = vrf_dev; |
| skb->skb_iif = vrf_dev->ifindex; |
| |
| @@ -947,6 +948,8 @@ static struct sk_buff *vrf_ip_rcv(struct net_device *vrf_dev, |
| goto out; |
| } |
| |
| + vrf_rx_stats(vrf_dev, skb->len); |
| + |
| skb_push(skb, skb->mac_len); |
| dev_queue_xmit_nit(skb, vrf_dev); |
| skb_pull(skb, skb->mac_len); |
| -- |
| 2.10.1 |
| |