Skip to content

Commit

Permalink
init: Indicate hardware checksum offloading features
Browse files Browse the repository at this point in the history
During netif initialization, the handling of checksums is
printed per device with the info level. This commits adds
the following properties next to the protocols:
- For received traffic
 - `[+partial]`   Driver and device additionally support
                  receiving of partial checksummed packets.
 - `[+offloaded]` Driver and device additionally skip checksum
                  validation of already validated packets,
		  e.g., by a physical NIC on the host.
- For transmitted traffic
 - `[partial]`    Generated packets will only have a partial
                  checksum computed in software. The rest of
		  the checksum is intended to be computed by
		  a physical NIC on the host.

Signed-off-by: Simon Kuenzer <[email protected]>
  • Loading branch information
skuenzer committed Nov 30, 2021
1 parent 56dba29 commit 489b19c
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions init.c
Original file line number Diff line number Diff line change
Expand Up @@ -269,9 +269,25 @@ static int liblwip_init(void)
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_CHECK_UDP) {
uk_pr_info(" UDP");
#if LWIP_CHECKSUM_PARTIAL
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_PARTIAL_UDP) {
uk_pr_info("[+partial]");
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_SKIPVALID_UDP) {
uk_pr_info("[+offloaded]");
}
#endif /* LWIP_CHECKSUM_PARTIAL */
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_CHECK_TCP) {
uk_pr_info(" TCP");
#if LWIP_CHECKSUM_PARTIAL
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_PARTIAL_TCP) {
uk_pr_info("[+partial]");
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_SKIPVALID_TCP) {
uk_pr_info("[+offloaded]");
}
#endif /* LWIP_CHECKSUM_PARTIAL */
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_CHECK_ICMP) {
uk_pr_info(" ICMP");
Expand All @@ -288,9 +304,19 @@ static int liblwip_init(void)
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_GEN_UDP) {
uk_pr_info(" UDP");
#if LWIP_CHECKSUM_PARTIAL
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_PARTIAL_UDP) {
uk_pr_info("[partial]");
}
#endif /* LWIP_CHECKSUM_PARTIAL */
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_GEN_TCP) {
uk_pr_info(" TCP");
#if LWIP_CHECKSUM_PARTIAL
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_PARTIAL_TCP) {
uk_pr_info("[partial]");
}
#endif /* LWIP_CHECKSUM_PARTIAL */
}
IF__NETIF_CHECKSUM_ENABLED(nf, NETIF_CHECKSUM_GEN_ICMP) {
uk_pr_info(" ICMP");
Expand Down

0 comments on commit 489b19c

Please sign in to comment.