p4lang / p4-spec

Apache License 2.0
178 stars 80 forks source link

Add initialize method to InternetChecksum #1267

Open p-sawicki opened 1 year ago

p-sawicki commented 1 year ago

I would like to propose adding a new method to the InternetChecksum extern which would initialize the incremental checksum computation with the initial checksum value extracted from a header.

The motivation behind the method is that currently to achieve this, one needs to call the subtract method which may not be obvious to someone not familiar with the exact formula used for computation so a separate method with a more obvious name would be helpful. Another name considered for this method is preload.

Implementation will be simple because in compilers that already support PSA's interface, ck.initialize(chksum); can be transformed to ck.clear(); ck.subtract(chksum);