ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_c6link_stats Struct Reference

What one pump did on the wire, counted rather than inferred. More...

#include <ra8_c6link.h>

Data Fields

uint16_t transfers
 Full-duplex transactions clocked.
uint16_t data
 Well-formed frames carrying a payload.
uint16_t idle
 Filler frames the co-processor returned.
uint16_t bad_checksum
 Frames whose recomputed checksum disagreed.
uint16_t malformed
 Frames whose offset or length was not credible.
uint16_t rpc_in
 Control-plane frames decoded as Rpc.
uint16_t events
 Announcements delivered to the event callback.
uint16_t eth_in
 802.3 frames delivered to the receive callback.
uint16_t undecodable
 Control-plane frames the codec would not parse.
uint16_t unrouted
 Frames on an interface this link does not use.
uint16_t hs_timeouts
 Transactions abandoned waiting for HANDSHAKE.

Detailed Description

What one pump did on the wire, counted rather than inferred.

"The co-processor sent nothing" and "the co-processor sent frames this host rejected" are a bench fault and a firmware fault respectively, and a bare pass/fail cannot tell them apart. Every counter is reported, including the zeroes: a zero bad_checksum beside a non-zero transfers is itself the evidence that the link is clean.

Invariant
data + idle + bad_checksum + malformed never exceeds transfers: each counted frame came from one transaction.
transfers never exceeds the budget the caller passed.
Example:
(void)ra8_c6link_poll(&link, 8U, &st);
See also
ra8_c6link_poll
Since
0.1.0

Definition at line 361 of file ra8_c6link.h.

Field Documentation

◆ bad_checksum

uint16_t ra8_c6link_stats::bad_checksum

Frames whose recomputed checksum disagreed.

Definition at line 365 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and internal_c6link_pump_receive().

◆ data

uint16_t ra8_c6link_stats::data

Well-formed frames carrying a payload.

Definition at line 363 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and internal_c6link_pump_receive().

◆ eth_in

uint16_t ra8_c6link_stats::eth_in

802.3 frames delivered to the receive callback.

Definition at line 369 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_dispatch().

◆ events

uint16_t ra8_c6link_stats::events

Announcements delivered to the event callback.

Definition at line 368 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_emit().

◆ hs_timeouts

uint16_t ra8_c6link_stats::hs_timeouts

Transactions abandoned waiting for HANDSHAKE.

Definition at line 372 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_pump().

◆ idle

uint16_t ra8_c6link_stats::idle

Filler frames the co-processor returned.

Definition at line 364 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and internal_c6link_pump_receive().

◆ malformed

uint16_t ra8_c6link_stats::malformed

Frames whose offset or length was not credible.

Definition at line 366 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and internal_c6link_pump_receive().

◆ rpc_in

uint16_t ra8_c6link_stats::rpc_in

Control-plane frames decoded as Rpc.

Definition at line 367 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_rpc_consume().

◆ transfers

uint16_t ra8_c6link_stats::transfers

Full-duplex transactions clocked.

Definition at line 362 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_pump().

◆ undecodable

uint16_t ra8_c6link_stats::undecodable

Control-plane frames the codec would not parse.

Definition at line 370 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_rpc_consume().

◆ unrouted

uint16_t ra8_c6link_stats::unrouted

Frames on an interface this link does not use.

Definition at line 371 of file ra8_c6link.h.

Referenced by c6_wifi_print_stats(), and priv_c6link_dispatch().


The documentation for this struct was generated from the following file: