p4c: recomputing / verifying the TCP checksum in P4_16?

I’ve been looking for an example, but I couldn’t find any? How can I express that the checksum computation needs to include the whole TCP payload? Incremental checksum computation would work for recomputing the checksum, but not for checksum verification. Finally the Checksum16 extern in v1model.p4 does not match the one described in Appendix C of the P4_16 spec, and does not support incremental update. As a result I don’t see how it can even be used to recompute the checksum when a TCP field is modified.

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 1
  • Comments: 15 (14 by maintainers)

Commits related to this issue

Most upvoted comments

I am upgrading this to a bug: v1model.p4 does not support computing udp/tcp checksums, and thus it cannot support legacy P4-14 programs that need them.