summaryrefslogtreecommitdiff
path: root/net/hsr
diff options
context:
space:
mode:
authorMurali Karicheri <m-karicheri2@ti.com>2019-04-15 18:36:03 +0300
committerDavid S. Miller <davem@davemloft.net>2019-04-16 03:22:02 +0300
commitee2c46f353901a41513ca0776d6bb6e6fd39cb98 (patch)
tree49b3133409c2ba5b9c02b5a9e451d8d8aa63ab12 /net/hsr
parent3271273388fb14a4e8c582a8c7eaf5ef958291b1 (diff)
downloadlinux-ee2c46f353901a41513ca0776d6bb6e6fd39cb98.tar.xz
net: hsr: add tx stats for master interface
Add tx stats to hsr interface. Without this ifconfig for hsr interface doesn't show tx packet stats. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/hsr')
-rw-r--r--net/hsr/hsr_forward.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/hsr/hsr_forward.c b/net/hsr/hsr_forward.c
index 0cac992192d0..ddd9605bad04 100644
--- a/net/hsr/hsr_forward.c
+++ b/net/hsr/hsr_forward.c
@@ -359,6 +359,13 @@ void hsr_forward_skb(struct sk_buff *skb, struct hsr_port *port)
goto out_drop;
hsr_register_frame_in(frame.node_src, port, frame.sequence_nr);
hsr_forward_do(&frame);
+ /* Gets called for ingress frames as well as egress from master port.
+ * So check and increment stats for master port only here.
+ */
+ if (port->type == HSR_PT_MASTER) {
+ port->dev->stats.tx_packets++;
+ port->dev->stats.tx_bytes += skb->len;
+ }
if (frame.skb_hsr)
kfree_skb(frame.skb_hsr);