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

Fixes for clang frontend bugs and misc #519

Merged
merged 7 commits into from
May 2, 2016
Merged

Fixes for clang frontend bugs and misc #519

merged 7 commits into from
May 2, 2016

Conversation

drzaeus77
Copy link
Collaborator

This fixes several issues in the clang frontend and some python lib and tests.

Fixes: #510

Brenden Blanco and others added 7 commits May 1, 2016 21:24
The variable inside the if statement was unused, unliked the blocks
above and below it. Use the isa<> check instead.
Clang was up until now not able to parse nested structs or unions as a
field in the table key or leaf. Add support in the library side, as well
as python support for the exported json description.
Even after fixing the nested union issue in the preceding commits, this
example was failing. The reason was that the kernel was filling in all
bits of the bpf_tunnel_key, which in recent kernels includes non-zero
fields such as ttl. That non-zero field would break the lookup in the
tunkey2if table, which was populated assuming all extra bytes would be
zero.

Fix it by defining a simpler key structure, and copy the required fields
out from the local variable.

Fixes: #510
@4ast 4ast merged commit c58cb19 into master May 2, 2016
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.

Failed to run networking/distributed_bridge examples
2 participants