Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC][WIP] ebpf/PSA: Checksum support for fields wider than 64 bits #29

Closed
wants to merge 4 commits into from

Conversation

tatry
Copy link
Owner

@tatry tatry commented Dec 20, 2022

This PR adds support for fields wider than 64 bits in implemented checksum algorithms.

This PR improves support for fields wider than 64 bits. This is done mostly
by fixing bugs and some refactors.

The assumption for fields wider than 64 bits is that byte order of them is
network byte order, which means that byte order is preserved during parser
or deparser.

To achieve initial support for wide fields, the following changes has been made:

- Fixed byte order of bytes emitted in deparser. Parser had proper
  implementation of this.
- Allow to assign one field to another.
- Improved code for generating table key during lookup. `exact`, `lpm` or
  `ternary` match type can used.
- Improved generation of table const entries (now mostly using Visitors).
- Improved prefix length calculation for LPM table.

The current PR allows to parse, deparse, match in tables and assign wide
fields. Subsequent PR(s) will extend wide fields support for externs.
This commit adds support for fields wider than 64 bits in implemented
checksum algorithms.
@tatry tatry changed the base branch from tatry/wide-fields-table to main December 21, 2022 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants