netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx
@ 2025-08-10 16:09 Marek Vasut
  2025-08-11 20:47 ` Tristram.Ha
  0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2025-08-10 16:09 UTC (permalink / raw)
  To: netdev
  Cc: Marek Vasut, Andrew Lunn, Arun Ramadoss, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Tristram Ha, UNGLinuxDriver,
	Vladimir Oltean, Woojung Huh

Unlike KSZ94xx, the KSZ87xx is missing the last four MIB counters at
address 0x20..0x23, namely rx_total, tx_total, rx_discards, tx_discards.

Using values from rx_total / tx_total in rx_bytes / tx_bytes calculation
results in an underflow, because rx_total / tx_total returns values 0,
and the "raw->rx_total - stats->rx_packets * ETH_FCS_LEN;" calculation
undeflows if rx_packets / tx_packets is > 0 .

Stop using the missing MIB counters on KSZ87xx .

Fixes: c6101dd7ffb8 ("net: dsa: ksz9477: move get_stats64 to ksz_common.c")
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
---
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Arun Ramadoss <arun.ramadoss@microchip.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Tristram Ha <tristram.ha@microchip.com>
Cc: UNGLinuxDriver@microchip.com
Cc: Vladimir Oltean <olteanv@gmail.com>
Cc: Woojung Huh <woojung.huh@microchip.com>
Cc: netdev@vger.kernel.org
---
 drivers/net/dsa/microchip/ksz_common.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index 7292bfe2f7cac..9c01526779a6d 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -2239,20 +2239,23 @@ void ksz_r_mib_stats64(struct ksz_device *dev, int port)
 	/* HW counters are counting bytes + FCS which is not acceptable
 	 * for rtnl_link_stats64 interface
 	 */
-	stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
-	stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
-
+	if (!ksz_is_ksz87xx(dev)) {
+		stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
+		stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
+	}
 	stats->rx_length_errors = raw->rx_undersize + raw->rx_fragments +
 		raw->rx_oversize;
 
 	stats->rx_crc_errors = raw->rx_crc_err;
 	stats->rx_frame_errors = raw->rx_align_err;
-	stats->rx_dropped = raw->rx_discards;
+	if (!ksz_is_ksz87xx(dev))
+		stats->rx_dropped = raw->rx_discards;
 	stats->rx_errors = stats->rx_length_errors + stats->rx_crc_errors +
 		stats->rx_frame_errors  + stats->rx_dropped;
 
 	stats->tx_window_errors = raw->tx_late_col;
-	stats->tx_fifo_errors = raw->tx_discards;
+	if (!ksz_is_ksz87xx(dev))
+		stats->tx_fifo_errors = raw->tx_discards;
 	stats->tx_aborted_errors = raw->tx_exc_col;
 	stats->tx_errors = stats->tx_window_errors + stats->tx_fifo_errors +
 		stats->tx_aborted_errors;
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx
  2025-08-10 16:09 [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx Marek Vasut
@ 2025-08-11 20:47 ` Tristram.Ha
  2025-08-11 20:59   ` Marek Vasut
  0 siblings, 1 reply; 5+ messages in thread
From: Tristram.Ha @ 2025-08-11 20:47 UTC (permalink / raw)
  To: marek.vasut
  Cc: andrew, Arun.Ramadoss, edumazet, kuba, pabeni, UNGLinuxDriver,
	olteanv, Woojung.Huh, netdev

> Unlike KSZ94xx, the KSZ87xx is missing the last four MIB counters at
> address 0x20..0x23, namely rx_total, tx_total, rx_discards, tx_discards.
> 
> Using values from rx_total / tx_total in rx_bytes / tx_bytes calculation
> results in an underflow, because rx_total / tx_total returns values 0,
> and the "raw->rx_total - stats->rx_packets * ETH_FCS_LEN;" calculation
> undeflows if rx_packets / tx_packets is > 0 .
> 
> Stop using the missing MIB counters on KSZ87xx .
> 
> Fixes: c6101dd7ffb8 ("net: dsa: ksz9477: move get_stats64 to ksz_common.c")
> Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
> ---
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Arun Ramadoss <arun.ramadoss@microchip.com>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Tristram Ha <tristram.ha@microchip.com>
> Cc: UNGLinuxDriver@microchip.com
> Cc: Vladimir Oltean <olteanv@gmail.com>
> Cc: Woojung Huh <woojung.huh@microchip.com>
> Cc: netdev@vger.kernel.org
> ---
>  drivers/net/dsa/microchip/ksz_common.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/dsa/microchip/ksz_common.c
> b/drivers/net/dsa/microchip/ksz_common.c
> index 7292bfe2f7cac..9c01526779a6d 100644
> --- a/drivers/net/dsa/microchip/ksz_common.c
> +++ b/drivers/net/dsa/microchip/ksz_common.c
> @@ -2239,20 +2239,23 @@ void ksz_r_mib_stats64(struct ksz_device *dev, int port)
>         /* HW counters are counting bytes + FCS which is not acceptable
>          * for rtnl_link_stats64 interface
>          */
> -       stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
> -       stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
> -
> +       if (!ksz_is_ksz87xx(dev)) {
> +               stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
> +               stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
> +       }
>         stats->rx_length_errors = raw->rx_undersize + raw->rx_fragments +
>                 raw->rx_oversize;
> 
>         stats->rx_crc_errors = raw->rx_crc_err;
>         stats->rx_frame_errors = raw->rx_align_err;
> -       stats->rx_dropped = raw->rx_discards;
> +       if (!ksz_is_ksz87xx(dev))
> +               stats->rx_dropped = raw->rx_discards;
>         stats->rx_errors = stats->rx_length_errors + stats->rx_crc_errors +
>                 stats->rx_frame_errors  + stats->rx_dropped;
> 
>         stats->tx_window_errors = raw->tx_late_col;
> -       stats->tx_fifo_errors = raw->tx_discards;
> +       if (!ksz_is_ksz87xx(dev))
> +               stats->tx_fifo_errors = raw->tx_discards;
>         stats->tx_aborted_errors = raw->tx_exc_col;
>         stats->tx_errors = stats->tx_window_errors + stats->tx_fifo_errors +
>                 stats->tx_aborted_errors;

I am not sure why you have that problem.  In my KSZ8795 board running in
kernel 6.16 those counters are working.  Using "ethtool -S lan3" or
"ethtool -S eth0" shows rx_total and tx_total.  The "rx_discards" and
"tx_discards" are hard to get.  In KSZ8863 the "tx_discards" counter is
incremented when the port does not have link and a packet is sent to that
port.  In newer switches that behavior was changed.  Occasionally you may
get 1 or 2 at the beginning when the tail tagging function is not enabled
yet but the MAC sends out packets.  The "rx_discards" count typically
seldom happens, but somehow in my first bootup there are many from my
KSZ8795 board.

Actually that many rx_discards may be a problem I need to find out.

I think you are confused about how those MIB counters are read from
KSZ8795.  They are not using the code in ksz9477.c but in ksz8.c.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx
  2025-08-11 20:47 ` Tristram.Ha
@ 2025-08-11 20:59   ` Marek Vasut
  2025-08-11 22:09     ` Tristram.Ha
  0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2025-08-11 20:59 UTC (permalink / raw)
  To: Tristram.Ha
  Cc: andrew, Arun.Ramadoss, edumazet, kuba, pabeni, UNGLinuxDriver,
	olteanv, Woojung.Huh, netdev

On 8/11/25 10:47 PM, Tristram.Ha@microchip.com wrote:
>> Unlike KSZ94xx, the KSZ87xx is missing the last four MIB counters at
>> address 0x20..0x23, namely rx_total, tx_total, rx_discards, tx_discards.
>>
>> Using values from rx_total / tx_total in rx_bytes / tx_bytes calculation
>> results in an underflow, because rx_total / tx_total returns values 0,
>> and the "raw->rx_total - stats->rx_packets * ETH_FCS_LEN;" calculation
>> undeflows if rx_packets / tx_packets is > 0 .
>>
>> Stop using the missing MIB counters on KSZ87xx .
>>
>> Fixes: c6101dd7ffb8 ("net: dsa: ksz9477: move get_stats64 to ksz_common.c")
>> Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
>> ---
>> Cc: Andrew Lunn <andrew@lunn.ch>
>> Cc: Arun Ramadoss <arun.ramadoss@microchip.com>
>> Cc: Eric Dumazet <edumazet@google.com>
>> Cc: Jakub Kicinski <kuba@kernel.org>
>> Cc: Paolo Abeni <pabeni@redhat.com>
>> Cc: Tristram Ha <tristram.ha@microchip.com>
>> Cc: UNGLinuxDriver@microchip.com
>> Cc: Vladimir Oltean <olteanv@gmail.com>
>> Cc: Woojung Huh <woojung.huh@microchip.com>
>> Cc: netdev@vger.kernel.org
>> ---
>>   drivers/net/dsa/microchip/ksz_common.c | 13 ++++++++-----
>>   1 file changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/net/dsa/microchip/ksz_common.c
>> b/drivers/net/dsa/microchip/ksz_common.c
>> index 7292bfe2f7cac..9c01526779a6d 100644
>> --- a/drivers/net/dsa/microchip/ksz_common.c
>> +++ b/drivers/net/dsa/microchip/ksz_common.c
>> @@ -2239,20 +2239,23 @@ void ksz_r_mib_stats64(struct ksz_device *dev, int port)
>>          /* HW counters are counting bytes + FCS which is not acceptable
>>           * for rtnl_link_stats64 interface
>>           */
>> -       stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
>> -       stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
>> -
>> +       if (!ksz_is_ksz87xx(dev)) {
>> +               stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
>> +               stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
>> +       }
>>          stats->rx_length_errors = raw->rx_undersize + raw->rx_fragments +
>>                  raw->rx_oversize;
>>
>>          stats->rx_crc_errors = raw->rx_crc_err;
>>          stats->rx_frame_errors = raw->rx_align_err;
>> -       stats->rx_dropped = raw->rx_discards;
>> +       if (!ksz_is_ksz87xx(dev))
>> +               stats->rx_dropped = raw->rx_discards;
>>          stats->rx_errors = stats->rx_length_errors + stats->rx_crc_errors +
>>                  stats->rx_frame_errors  + stats->rx_dropped;
>>
>>          stats->tx_window_errors = raw->tx_late_col;
>> -       stats->tx_fifo_errors = raw->tx_discards;
>> +       if (!ksz_is_ksz87xx(dev))
>> +               stats->tx_fifo_errors = raw->tx_discards;
>>          stats->tx_aborted_errors = raw->tx_exc_col;
>>          stats->tx_errors = stats->tx_window_errors + stats->tx_fifo_errors +
>>                  stats->tx_aborted_errors;
> 
> I am not sure why you have that problem.  In my KSZ8795 board running in
> kernel 6.16 those counters are working.  Using "ethtool -S lan3" or
> "ethtool -S eth0" shows rx_total and tx_total.  The "rx_discards" and
> "tx_discards" are hard to get.  In KSZ8863 the "tx_discards" counter is
> incremented when the port does not have link and a packet is sent to that
> port.  In newer switches that behavior was changed.  Occasionally you may
> get 1 or 2 at the beginning when the tail tagging function is not enabled
> yet but the MAC sends out packets.  The "rx_discards" count typically
> seldom happens, but somehow in my first bootup there are many from my
> KSZ8795 board.
> 
> Actually that many rx_discards may be a problem I need to find out.
> 
> I think you are confused about how those MIB counters are read from
> KSZ8795.  They are not using the code in ksz9477.c but in ksz8.c.

See [1] TABLE 4-26: PORT MIB COUNTER INDIRECT MEMORY OFFSETS (CONTINUED) 
, page 108 at the very end . Notice the table ends at 0x1F 
TxMultipleCollision .

See [2] TABLE 5-6: MIB COUNTERS (CONTINUED) , page 219 at the end of the 
table . Notice the table contains four extra entries , 0x80 RxByteCnt , 
0x81 TxByteCnt , 0x82 RxDropPackets , 0x83 TXDropPackets .

These entries are present on KSZ9477 and missing on KSZ8795 .

This is what this patch attempts to address.

[1] 
https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/DataSheets/KSZ8795CLX-Data-Sheet-DS00002112.pdf
[2] 
https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/KSZ9477S-Data-Sheet-DS00002392C.pdf

-- 
Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx
  2025-08-11 20:59   ` Marek Vasut
@ 2025-08-11 22:09     ` Tristram.Ha
  2025-08-13  7:03       ` vtpieter
  0 siblings, 1 reply; 5+ messages in thread
From: Tristram.Ha @ 2025-08-11 22:09 UTC (permalink / raw)
  To: marek.vasut
  Cc: andrew, Arun.Ramadoss, edumazet, kuba, pabeni, UNGLinuxDriver,
	olteanv, Woojung.Huh, netdev

> On 8/11/25 10:47 PM, Tristram.Ha@microchip.com wrote:
> >> Unlike KSZ94xx, the KSZ87xx is missing the last four MIB counters at
> >> address 0x20..0x23, namely rx_total, tx_total, rx_discards, tx_discards.
> >>
> >> Using values from rx_total / tx_total in rx_bytes / tx_bytes calculation
> >> results in an underflow, because rx_total / tx_total returns values 0,
> >> and the "raw->rx_total - stats->rx_packets * ETH_FCS_LEN;" calculation
> >> undeflows if rx_packets / tx_packets is > 0 .
> >>
> >> Stop using the missing MIB counters on KSZ87xx .
> >>
> >> Fixes: c6101dd7ffb8 ("net: dsa: ksz9477: move get_stats64 to ksz_common.c")
> >> Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
> >> ---
> >> Cc: Andrew Lunn <andrew@lunn.ch>
> >> Cc: Arun Ramadoss <arun.ramadoss@microchip.com>
> >> Cc: Eric Dumazet <edumazet@google.com>
> >> Cc: Jakub Kicinski <kuba@kernel.org>
> >> Cc: Paolo Abeni <pabeni@redhat.com>
> >> Cc: Tristram Ha <tristram.ha@microchip.com>
> >> Cc: UNGLinuxDriver@microchip.com
> >> Cc: Vladimir Oltean <olteanv@gmail.com>
> >> Cc: Woojung Huh <woojung.huh@microchip.com>
> >> Cc: netdev@vger.kernel.org
> >> ---
> >>   drivers/net/dsa/microchip/ksz_common.c | 13 ++++++++-----
> >>   1 file changed, 8 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/drivers/net/dsa/microchip/ksz_common.c
> >> b/drivers/net/dsa/microchip/ksz_common.c
> >> index 7292bfe2f7cac..9c01526779a6d 100644
> >> --- a/drivers/net/dsa/microchip/ksz_common.c
> >> +++ b/drivers/net/dsa/microchip/ksz_common.c
> >> @@ -2239,20 +2239,23 @@ void ksz_r_mib_stats64(struct ksz_device *dev, int
> port)
> >>          /* HW counters are counting bytes + FCS which is not acceptable
> >>           * for rtnl_link_stats64 interface
> >>           */
> >> -       stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
> >> -       stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
> >> -
> >> +       if (!ksz_is_ksz87xx(dev)) {
> >> +               stats->rx_bytes = raw->rx_total - stats->rx_packets * ETH_FCS_LEN;
> >> +               stats->tx_bytes = raw->tx_total - stats->tx_packets * ETH_FCS_LEN;
> >> +       }
> >>          stats->rx_length_errors = raw->rx_undersize + raw->rx_fragments +
> >>                  raw->rx_oversize;
> >>
> >>          stats->rx_crc_errors = raw->rx_crc_err;
> >>          stats->rx_frame_errors = raw->rx_align_err;
> >> -       stats->rx_dropped = raw->rx_discards;
> >> +       if (!ksz_is_ksz87xx(dev))
> >> +               stats->rx_dropped = raw->rx_discards;
> >>          stats->rx_errors = stats->rx_length_errors + stats->rx_crc_errors +
> >>                  stats->rx_frame_errors  + stats->rx_dropped;
> >>
> >>          stats->tx_window_errors = raw->tx_late_col;
> >> -       stats->tx_fifo_errors = raw->tx_discards;
> >> +       if (!ksz_is_ksz87xx(dev))
> >> +               stats->tx_fifo_errors = raw->tx_discards;
> >>          stats->tx_aborted_errors = raw->tx_exc_col;
> >>          stats->tx_errors = stats->tx_window_errors + stats->tx_fifo_errors +
> >>                  stats->tx_aborted_errors;
> >
> > I am not sure why you have that problem.  In my KSZ8795 board running in
> > kernel 6.16 those counters are working.  Using "ethtool -S lan3" or
> > "ethtool -S eth0" shows rx_total and tx_total.  The "rx_discards" and
> > "tx_discards" are hard to get.  In KSZ8863 the "tx_discards" counter is
> > incremented when the port does not have link and a packet is sent to that
> > port.  In newer switches that behavior was changed.  Occasionally you may
> > get 1 or 2 at the beginning when the tail tagging function is not enabled
> > yet but the MAC sends out packets.  The "rx_discards" count typically
> > seldom happens, but somehow in my first bootup there are many from my
> > KSZ8795 board.
> >
> > Actually that many rx_discards may be a problem I need to find out.
> >
> > I think you are confused about how those MIB counters are read from
> > KSZ8795.  They are not using the code in ksz9477.c but in ksz8.c.
> 
> See [1] TABLE 4-26: PORT MIB COUNTER INDIRECT MEMORY OFFSETS (CONTINUED)
> , page 108 at the very end . Notice the table ends at 0x1F
> TxMultipleCollision .
> 
> See [2] TABLE 5-6: MIB COUNTERS (CONTINUED) , page 219 at the end of the
> table . Notice the table contains four extra entries , 0x80 RxByteCnt ,
> 0x81 TxByteCnt , 0x82 RxDropPackets , 0x83 TXDropPackets .
> 
> These entries are present on KSZ9477 and missing on KSZ8795 .
> 
> This is what this patch attempts to address.

As I said KSZ8795 MIB counters are not using the code in ksz9477.c and
their last counter locations are not the same as KSZ9477.  KSZ9477 uses
ksz9477_r_mib_pkt while KSZ8795 uses ksz8795_r_mib_pkt.  The other
KSZ8895 and KSZ8863 switches uses ksz8863_r_mib_pkt.

The 0x80 and such registers are not used in KSZ8795.  Its registers start
at 0x100, 0x101, ...

They are in table 4-28.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx
  2025-08-11 22:09     ` Tristram.Ha
@ 2025-08-13  7:03       ` vtpieter
  0 siblings, 0 replies; 5+ messages in thread
From: vtpieter @ 2025-08-13  7:03 UTC (permalink / raw)
  To: tristram.ha
  Cc: Arun.Ramadoss, UNGLinuxDriver, Woojung.Huh, andrew, edumazet,
	kuba, marek.vasut, netdev, olteanv, pabeni

> > > Actually that many rx_discards may be a problem I need to find out.
> > >
> > > I think you are confused about how those MIB counters are read from
> > > KSZ8795.  They are not using the code in ksz9477.c but in ksz8.c.
> > 
> > See [1] TABLE 4-26: PORT MIB COUNTER INDIRECT MEMORY OFFSETS (CONTINUED)
> > , page 108 at the very end . Notice the table ends at 0x1F
> > TxMultipleCollision .
> > 
> > See [2] TABLE 5-6: MIB COUNTERS (CONTINUED) , page 219 at the end of the
> > table . Notice the table contains four extra entries , 0x80 RxByteCnt ,
> > 0x81 TxByteCnt , 0x82 RxDropPackets , 0x83 TXDropPackets .
> > 
> > These entries are present on KSZ9477 and missing on KSZ8795 .
> > 
> > This is what this patch attempts to address.
> 
> As I said KSZ8795 MIB counters are not using the code in ksz9477.c and
> their last counter locations are not the same as KSZ9477.  KSZ9477 uses
> ksz9477_r_mib_pkt while KSZ8795 uses ksz8795_r_mib_pkt.  The other
> KSZ8895 and KSZ8863 switches uses ksz8863_r_mib_pkt.
> 
> The 0x80 and such registers are not used in KSZ8795.  Its registers start
> at 0x100, 0x101, ...
> 
> They are in table 4-28.
 
Just wanted to chip in that for me, with a KSZ8794, the iproute2
statistics work as expected as well after commit 0d3edc90c4a0 ("net:
dsa: microchip: fix KSZ87xx family structure wrt the datasheet"). I'm
on a 6.12 kernel and I see the following:

ip -s -h a
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1501 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:d3:36:00:38:06 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ad3:36ff:fe00:3806/64 scope link 
       valid_lft forever preferred_lft forever
    RX:  bytes packets errors dropped  missed   mcast           
         2.22G   30.3M      0       0       0    922k 
    TX:  bytes packets errors dropped carrier collsns           
         3.70G   19.3M      0       0       0       0 
4: lan1@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br0 state LOWERLAYERDOWN group default qlen 1000
    link/ether 08:d3:36:00:38:06 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
             0       0      0       0       0       0 
5: lan2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether 08:d3:36:00:38:06 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ad3:36ff:fe00:3806/64 scope link 
       valid_lft forever preferred_lft forever
    RX:  bytes packets errors dropped  missed   mcast           
         2.62G   30.3M    250     247       0    922k 
    TX:  bytes packets errors dropped carrier collsns           
         3.61G   19.3M      0       0       0       0 
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 08:d3:36:00:38:06 brd ff:ff:ff:ff:ff:ff
    inet 172.18.210.112/26 brd 172.18.210.127 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::ad3:36ff:fe00:3806/64 scope link 
       valid_lft forever preferred_lft forever
    RX:  bytes packets errors dropped  missed   mcast           
         2.19G   30.3M      0    252k       0    922k 
    TX:  bytes packets errors dropped carrier collsns           
         3.60G   19.3M      0       0       0       0 

ethtool -S lan2
NIC statistics:
     tx_packets: 19385247
     tx_bytes: 3615291269
     rx_packets: 30391568
     rx_bytes: 2623613208
     rx_hi: 0
     rx_undersize: 0
     rx_fragments: 0
     rx_oversize: 0
     rx_jabbers: 0
     rx_symbol_err: 3
     rx_crc_err: 3
     rx_align_err: 0
     rx_mac_ctrl: 0
     rx_pause: 0
     rx_bcast: 3985303
     rx_mcast: 924951
     rx_ucast: 25481561
     rx_64_or_less: 5781438
     rx_65_127: 24601395
     rx_128_255: 8744
     rx_256_511: 231
     rx_512_1023: 10
     rx_1024_1522: 3
     rx_1523_2000: 0
     rx_2001: 0
     tx_hi: 0
     tx_late_col: 0
     tx_pause: 0
     tx_bcast: 3
     tx_mcast: 5128
     tx_ucast: 19380278
     tx_deferred: 0
     tx_total_col: 0
     tx_exc_col: 0
     tx_single_col: 0
     tx_mult_col: 0
     rx_total: 2745200072
     tx_total: 3693245281
     rx_discards: 247
     tx_discards: 0

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-08-13  7:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-10 16:09 [net-next,PATCH] net: dsa: microchip: Do not count RX/TX Bytes and discards on KSZ87xx Marek Vasut
2025-08-11 20:47 ` Tristram.Ha
2025-08-11 20:59   ` Marek Vasut
2025-08-11 22:09     ` Tristram.Ha
2025-08-13  7:03       ` vtpieter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).